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

Basis for comparison programming languages
Basis for comparison programming languagesBasis for comparison programming languages
Basis for comparison programming languagesAbdo ELhais
 
16 implementation techniques
16 implementation techniques16 implementation techniques
16 implementation techniquesMajong DevJfu
 
Grade 8: Introduction To Java
Grade 8: Introduction To JavaGrade 8: Introduction To Java
Grade 8: Introduction To Javanandanrocker
 
C++ vs java which is best for future
C++ vs java which is best for futureC++ vs java which is best for future
C++ vs java which is best for futurecalltutors
 
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZEJeff Squyres
 
Enforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationEnforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationDanilo Pianini
 
Expressive And Modular Predicate Dispatch In Java
Expressive And Modular Predicate Dispatch In JavaExpressive And Modular Predicate Dispatch In Java
Expressive And Modular Predicate Dispatch In JavaDr Anjan Krishnamurthy
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...inside-BigData.com
 

Mais procurados (13)

Basis for comparison programming languages
Basis for comparison programming languagesBasis for comparison programming languages
Basis for comparison programming languages
 
Java for C++ programers
Java for C++ programersJava for C++ programers
Java for C++ programers
 
16 implementation techniques
16 implementation techniques16 implementation techniques
16 implementation techniques
 
Grade 8: Introduction To Java
Grade 8: Introduction To JavaGrade 8: Introduction To Java
Grade 8: Introduction To Java
 
C++ vs java which is best for future
C++ vs java which is best for futureC++ vs java which is best for future
C++ vs java which is best for future
 
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
 
Enforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationEnforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automation
 
Mixing Python and Java
Mixing Python and JavaMixing Python and Java
Mixing Python and Java
 
OpenMP
OpenMPOpenMP
OpenMP
 
Csharp
CsharpCsharp
Csharp
 
Java chapter 1
Java   chapter 1Java   chapter 1
Java chapter 1
 
Expressive And Modular Predicate Dispatch In Java
Expressive And Modular Predicate Dispatch In JavaExpressive And Modular Predicate Dispatch In Java
Expressive And Modular Predicate Dispatch In Java
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 

Semelhante a Mpi Java1995

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
 
What is [Open] MPI?
What is [Open] MPI?What is [Open] MPI?
What is [Open] MPI?Jeff Squyres
 
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 Java1995 (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
 
What is [Open] MPI?
What is [Open] MPI?What is [Open] MPI?
What is [Open] MPI?
 
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...
 
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

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
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...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Mpi Java1995

  • 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.