SlideShare uma empresa Scribd logo
1 de 105
Java for High Performance Computing ,[object Object],[object Object],[object Object],[object Object],[object Object]
MPI: The Message Passing Interface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Features of MPI ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPI for Java: Early History ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More Recent Developments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPJ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CCJ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPJava ,[object Object],[object Object],[object Object],[object Object],[object Object]
JOPI ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to  mpiJava
mpiJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Defining the mpiJava API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Class hierarchy MPI Group Comm Datatype Status Request package  mpi Intracomm Intercomm Prequest Cartcomm Graphcomm
Minimal  mpiJava  Program ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Installing mpiJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Running mpiJava Programs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programming Model ,[object Object],[object Object],[object Object],[object Object],[object Object]
Setting up the Environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The  Comm  class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Rank and Size ,[object Object],[object Object],[object Object],[object Object],[object Object]
The World Communicator ,[object Object],[object Object],[object Object],[object Object],[object Object]
Simple send and receive ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Communication Buffers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Layout of Buffer ,[object Object],offset + count - 1 0 1 offset  offset +1 … … … ,[object Object],[object Object],[object Object]
Basic Datatypes ,[object Object],[object Object],Object MPI.OBJECT double MPI.DOUBLE float MPI.FLOAT long MPI.LONG int MPI.INT boolean MPI.BOOLEAN short MPI.SHORT char MPI.CHAR byte MPI.BYTE Java type mpiJava datatype
Buffer Element Type ,[object Object],[object Object],[object Object],[object Object]
ANY_SOURCE  and  ANY_TAG ,[object Object],[object Object],[object Object],[object Object],[object Object]
Status values ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPIException ,[object Object],[object Object],[object Object],[object Object]
Communication Modes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Non-blocking Communication Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple completions  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Void requests ,[object Object],[object Object]
Overlapping Communications ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sendrecv ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multiple Completions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Groups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Intra-communicators ,[object Object],Comm Intracomm Intercomm Cartcomm Graphcomm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The  Free()  method ,[object Object],[object Object],[object Object],[object Object]
Collective Communications ,[object Object],[object Object],[object Object],[object Object],[object Object]
Example Collective Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topologies ,[object Object],[object Object],[object Object],[object Object]
Cartcom  Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remarks ,[object Object],[object Object],[object Object],[object Object]
Derived Datatypes ,[object Object],[object Object],[object Object],[object Object]
Derived Datatype Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The  mpiJava  Implementation. Lessons Learned.
mpiJava  Implementation Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1. Signal Handlers, etc ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Signal Chaining ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thread Safety Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2. JNI and Copying of Buffers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Copying of JNI Array Arguments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why Does JNI Copy Arrays? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Buffer Copying and MPI Semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Aside: Completion of Non-Blocking Comms ,[object Object],[object Object],[object Object],[object Object]
mpiJava  Strategy for Buffers ,[object Object],[object Object],[object Object],[object Object]
Using  Get/ReleasePrimitiveArrayCritical ,[object Object],[object Object],[object Object],[object Object],[object Object]
3. Supporting  MPI.OBJECT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extending the Communication Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extended Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Changes to Support Objects ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Supported Platforms ,[object Object],IBM MPI (SP2/3) IBM JDK 1.3.0 AIX 3.4 LAM 6.5.8 (*) Sun SDK 1.4.1 SunOS 5.8 MPICH 1.2.5 (*) Sun SDK 1.4.1 SunOS 5.8 SunHPC-MPI 4 Sun SDK 1.4.1 SunOS 5.8 LAM 6.5.8 (*) IBM JDK 1.4.0 Redhat Linux 7.3 MPICH 1.2.5 (*) IBM JDK 1.4.0 Redhat Linux 7.3 LAM 6.5.8 Sun SDK 1.4.1 Redhat Linux 7.3 MPICH 1.2.5 Sun SDK 1.4.1 Redhat Linux 7.3 Native MPI Java Operating System
Lessons for the Future ,[object Object],[object Object],[object Object],[object Object]
mpiJava  performance 1. Shared memory mode
mpiJava  performance 2. Distributed memory
mpiJava  demos 1. CFD: inviscid flow
mpiJava  demos 2. Q-state Potts model
Special Topic: HPJava
mpiJava and HPJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object]
HPF Background ,[object Object],[object Object],[object Object],[object Object]
Motivations 1:HPspmd ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HPspmd Features ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivations 2: Multidimensional Arrays ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Array of Arrays in Java 0 1 2 3 X Array of array for 2D 0 1 2 3 0 1 2 3 X Y Array of array in irregular structure
Multiarray Z True 2-dimensional Array
Multiarray Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel HPJava Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object]
Processes and Process Grids ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],0 1 2 0 1 p
Distributed Arrays in HPJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2-dimensional Array Block-Distributed Over  p p.dim(1) p.dim(0) 0 1 a[0,0]  a[0,1]  a[0,2] a[1,0]  a[1,1]  a[1,2] a[2,0]  a[2,1]  a[2,2] a[3,0]  a[3,1]  a[3,2] a[0,3]  a[0,4]  a[0,5] a[1,3]  a[1,4]  a[1,5] a[2,3]  a[2,4]  a[2,5] a[3,3]  a[3,4]  a[3,5] a[4,0]  a[4,1]  a[4,2] a[5,0]  a[5,1]  a[5,2] a[6,0]  a[6,1]  a[6,2] a[7,0]  a[7,1]  a[7,2] a[4,3]  a[4,4]  a[4,5] a[5,3]  a[5,4]  a[5,5] a[6,3]  a[6,4]  a[6,5] a[7,3]  a[7,4]  a[7,5] 0 1 a[0,6]  a[0,7] a[1,6]  a[1,7] a[2,6]  a[2,7] a[3,6]  a[3,7] a[4,6]  a[4,7] a[5,6]  a[5,7] a[6,6]  a[6,7] a[7,6]  a[7,7] 2 int N = 8 ; Procs2 p = new Procs(2, 3) ; on(p) { Range x = new BlockRange(N, p.dim(0))  ; Range y = new BlockRange(N, p.dim(1))  ; int [[-,-]] a = new int [[x, y]]  ; }
Distribution Formats ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Range BlockRange CyclicRange ExtBlockRange IrregRange CollapsedRange Dimension
The  overall  construct ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example Revisited ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Visualization of Ghost Regions a[0,0] a[0,1]  a[0,2]   a[1,0]  a[1,1]   a[1,2] a[2,0]  a[2,1]   a[2,2] a[0,1]   a[0,2] a[0,3]  a[1,1]   a[1,2]  a[1,3] a[2,1]   a[2,2]  a[2,3] a[3,0]  a[3,1]   a[3,2]   a[4,0]  a[4,1]   a[4,1] a[5,0] a[5,1]  a[5,2] a[3,1]   a[3,2]  a[3,3] a[4,1]   a[4,2]  a[4,3]  a[5,1]   a[5,2] a[5,3] 0 0 1 1 a[3,0] a[3,1]  a[3,2] a[3,1]  a[3,2] a[3,3] a[2,0] a[2,1]  a[2,2] a[2,1]  a[2,2] a[2,3]
Illustration of the effect the  writeHalo()  function “ Declared” ghost Region of array segment Physical  Segment Of array Ghost area written  By writeHalo
Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Adlib ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HPJava communication layers Grey font  = not yet implemented! Other application- level APIs MPJ  and Java version of Adlib mpjdev Pure Java Native MPI SMPs or  Networks of PCs Parallel Hardware (e.g. IBM SP3, Sun HPC)
mpjdev I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
mpjdev II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Overview of HPJava execution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Applications and Performance ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
 
Multigrid ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
HPJava with GUI ,[object Object],[object Object],[object Object],[object Object],[object Object]
 
[object Object],[object Object],[object Object]
Related Systems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

MPI Introduction
MPI IntroductionMPI Introduction
MPI Introduction
 
Introduction to MPI
Introduction to MPI Introduction to MPI
Introduction to MPI
 
The Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsThe Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's Terms
 
MPI
MPIMPI
MPI
 
Message Passing Interface (MPI)-A means of machine communication
Message Passing Interface (MPI)-A means of machine communicationMessage Passing Interface (MPI)-A means of machine communication
Message Passing Interface (MPI)-A means of machine communication
 
Point-to-Point Communicationsin MPI
Point-to-Point Communicationsin MPIPoint-to-Point Communicationsin MPI
Point-to-Point Communicationsin MPI
 
Parallel programming using MPI
Parallel programming using MPIParallel programming using MPI
Parallel programming using MPI
 
My ppt hpc u4
My ppt hpc u4My ppt hpc u4
My ppt hpc u4
 
Chapter 6 pc
Chapter 6 pcChapter 6 pc
Chapter 6 pc
 
MPI History
MPI HistoryMPI History
MPI History
 
Porting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen II
Porting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen IIPorting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen II
Porting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen II
 
Using MPI
Using MPIUsing MPI
Using MPI
 
Collective Communications in MPI
 Collective Communications in MPI Collective Communications in MPI
Collective Communications in MPI
 
Preprocessor directives in c language
Preprocessor directives in c languagePreprocessor directives in c language
Preprocessor directives in c language
 
Nug2004 yhe
Nug2004 yheNug2004 yhe
Nug2004 yhe
 
Performance measures
Performance measuresPerformance measures
Performance measures
 
2018867974 sulaim (2)
2018867974 sulaim (2)2018867974 sulaim (2)
2018867974 sulaim (2)
 
Mpi Test Suite Multi Threaded
Mpi Test Suite Multi ThreadedMpi Test Suite Multi Threaded
Mpi Test Suite Multi Threaded
 
Parallel computing(2)
Parallel computing(2)Parallel computing(2)
Parallel computing(2)
 
Return Oriented Programming
Return Oriented ProgrammingReturn Oriented Programming
Return Oriented Programming
 

Semelhante a Mpi Java

MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxVeerannaKotagi1
 
A Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray FortranA Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray FortranKarin Faust
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Mr. Akaash
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Pratima Parida
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Pratima Parida
 
Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Marcirio Chaves
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Carmen Sanborn
 
From monolith web app to micro-frontends
From monolith web app to micro-frontendsFrom monolith web app to micro-frontends
From monolith web app to micro-frontendsRustam Aliyev
 
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...OdessaJS Conf
 
Sulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdfSulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdfSULTHAN BASHA
 
Introduction of Java Programming.ppt
Introduction of Java Programming.pptIntroduction of Java Programming.ppt
Introduction of Java Programming.pptGunjalSanjay
 

Semelhante a Mpi Java (20)

MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptx
 
A Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray FortranA Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray Fortran
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...
 
java new technology
java new technologyjava new technology
java new technology
 
Inside JVM
Inside JVMInside JVM
Inside JVM
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)
 
Java Notes .pdf
Java Notes .pdfJava Notes .pdf
Java Notes .pdf
 
Java1
Java1Java1
Java1
 
Java
Java Java
Java
 
Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...
 
OpenMP
OpenMPOpenMP
OpenMP
 
From monolith web app to micro-frontends
From monolith web app to micro-frontendsFrom monolith web app to micro-frontends
From monolith web app to micro-frontends
 
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
 
[9-6-2016] Openlab Poster-v3
[9-6-2016] Openlab Poster-v3[9-6-2016] Openlab Poster-v3
[9-6-2016] Openlab Poster-v3
 
Sulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdfSulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdf
 
00 intro to java
00 intro to java00 intro to java
00 intro to java
 
Introduction of Java Programming.ppt
Introduction of Java Programming.pptIntroduction of Java Programming.ppt
Introduction of Java Programming.ppt
 

Último

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Mpi Java

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Introduction to mpiJava
  • 12.
  • 13.
  • 14. Class hierarchy MPI Group Comm Datatype Status Request package mpi Intracomm Intercomm Prequest Cartcomm Graphcomm
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. The mpiJava Implementation. Lessons Learned.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. mpiJava performance 1. Shared memory mode
  • 68. mpiJava performance 2. Distributed memory
  • 69. mpiJava demos 1. CFD: inviscid flow
  • 70. mpiJava demos 2. Q-state Potts model
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78. Array of Arrays in Java 0 1 2 3 X Array of array for 2D 0 1 2 3 0 1 2 3 X Y Array of array in irregular structure
  • 79. Multiarray Z True 2-dimensional Array
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85. 2-dimensional Array Block-Distributed Over p p.dim(1) p.dim(0) 0 1 a[0,0] a[0,1] a[0,2] a[1,0] a[1,1] a[1,2] a[2,0] a[2,1] a[2,2] a[3,0] a[3,1] a[3,2] a[0,3] a[0,4] a[0,5] a[1,3] a[1,4] a[1,5] a[2,3] a[2,4] a[2,5] a[3,3] a[3,4] a[3,5] a[4,0] a[4,1] a[4,2] a[5,0] a[5,1] a[5,2] a[6,0] a[6,1] a[6,2] a[7,0] a[7,1] a[7,2] a[4,3] a[4,4] a[4,5] a[5,3] a[5,4] a[5,5] a[6,3] a[6,4] a[6,5] a[7,3] a[7,4] a[7,5] 0 1 a[0,6] a[0,7] a[1,6] a[1,7] a[2,6] a[2,7] a[3,6] a[3,7] a[4,6] a[4,7] a[5,6] a[5,7] a[6,6] a[6,7] a[7,6] a[7,7] 2 int N = 8 ; Procs2 p = new Procs(2, 3) ; on(p) { Range x = new BlockRange(N, p.dim(0)) ; Range y = new BlockRange(N, p.dim(1)) ; int [[-,-]] a = new int [[x, y]] ; }
  • 86.
  • 87.
  • 88.
  • 89. Visualization of Ghost Regions a[0,0] a[0,1] a[0,2] a[1,0] a[1,1] a[1,2] a[2,0] a[2,1] a[2,2] a[0,1] a[0,2] a[0,3] a[1,1] a[1,2] a[1,3] a[2,1] a[2,2] a[2,3] a[3,0] a[3,1] a[3,2] a[4,0] a[4,1] a[4,1] a[5,0] a[5,1] a[5,2] a[3,1] a[3,2] a[3,3] a[4,1] a[4,2] a[4,3] a[5,1] a[5,2] a[5,3] 0 0 1 1 a[3,0] a[3,1] a[3,2] a[3,1] a[3,2] a[3,3] a[2,0] a[2,1] a[2,2] a[2,1] a[2,2] a[2,3]
  • 90. Illustration of the effect the writeHalo() function “ Declared” ghost Region of array segment Physical Segment Of array Ghost area written By writeHalo
  • 91.
  • 92.
  • 93. HPJava communication layers Grey font = not yet implemented! Other application- level APIs MPJ and Java version of Adlib mpjdev Pure Java Native MPI SMPs or Networks of PCs Parallel Hardware (e.g. IBM SP3, Sun HPC)
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.  
  • 100.
  • 101.
  • 102.
  • 103.  
  • 104.
  • 105.