Date post: | 06-Apr-2018 |
Category: |
Documents |
Upload: | sahithi-naraparaju |
View: | 218 times |
Download: | 0 times |
of 20
8/2/2019 50881563-hp-java
1/20
1
HPJAVAI.K.UJJWAL
07M11A1217
Dept. of InformationTechnology
B.S.I.T.
8/2/2019 50881563-hp-java
2/20
2
Introduction HPJava is a new language for parallel
computing developed by research group at
Indiana University It extends Java with features from languages
like Fortran
New features include multidimensional arrays
and parallel data structures
8/2/2019 50881563-hp-java
3/20
3
Outline Background on parallel computing
Multidimensional Arrays
Multiarrays, Sections
HPJava compilation and optimization
Benchmarks
Future Works
8/2/2019 50881563-hp-java
4/20
4
Data Parallel Languages Large data-structures, typically arrays, are split
across nodes Each node performs similar computations on a
different part of the data structure SIMD Illiac IV and Connection Machine for
example introduced a new concept, distributedarrays
MIMD asynchronous, flexible, hard to program
8/2/2019 50881563-hp-java
5/20
5
Multidimensional Arrays Java is an attractive language, but needs to be
improved for large computational tasks
Java provides array of arrays Time consumption for out-of bounds checking
The cost of accessing an element
8/2/2019 50881563-hp-java
6/20
6
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
8/2/2019 50881563-hp-java
7/20
7
Features of HPJava A language for parallel programming, especially
suitable for massively parallel, distributed memorycomputers as well as shared memory machines.
In other respects, HPJava is a lower levelparallelprogramming language.
The HPJava system is built on Javatechnology. The HPJava programming language is an extension of the
Java programming language.
8/2/2019 50881563-hp-java
8/20
8
Distribution format HPJava provides further distribution formats
for dimensions of distributed arrays withoutfurther extensions to the syntax
Instead, the Range class hierarchy isextended
BlockRange, CyclicRange, IrregRange,Dimension
ExtBlockRange a BlockRange distributionextended with ghost regions
CollapsedRange a range that is notdistributed, i.e. all elements of the range
mapped to a single process
Range
BlockRange
CyclicRange
ExtBlockRange
IrregRange
CollapsedRange
Dimension
8/2/2019 50881563-hp-java
9/20
9
Overview of HPJava execution Source-to-source translation from
HPJava to standard Java
Source-to-source optimization
Compile to Java bytecode
Run bytecode (supported by
communication libraries) on distributedcollection of optimizing (JIT) JVMs
8/2/2019 50881563-hp-java
10/20
10
HPJava Architecture
Full HPJava
(Group, Range,on, overall,)
Multiarrays, Java
int[[*,*]]
Java Source-to-Source TranslatorAnd Optimization
Adlib OOMPH
mpjdev
Native MPI Jini
Compiler
Libraries
8/2/2019 50881563-hp-java
11/20
11
HPJava Compiler
Parserusing JavaCC
Maxval.hpj
ASTFront-End
Pretranslator
Translator
Unparser
Optimizer
Maxval.java
8/2/2019 50881563-hp-java
12/20
12
HPJava Front-EndAST
Type Analysis
ClassFinderResolveParents
ClassFiller InheritanceHPJava
TypeChecker
Reachability
Definite Assignment
DefUnAssign DefAssign
completely
type-checked
AST
8/2/2019 50881563-hp-java
13/20
13
OptimizationStrategies
Based on the observations for parallelalgorithms such as Laplace equation
using red-black iterations, distributedarray element accesses are generallylocated in inner overall loops. The complexity of subscript expression of a
multiarray element access The cost of HPJava compiler-generated
method calls
8/2/2019 50881563-hp-java
14/20
14
Example of Optimization Consider the nested overall and loop constructs
overall (i=x for :)
overall (j=y for :) {
float sum = 0 ;
for (int k=0; k
8/2/2019 50881563-hp-java
15/20
15
Current Status of HPJava HPJava 1.0 is available
http://www.hpjava.org
Fully supports the Java LanguageSpecification
Tested and debugged against HPJava
test suites and jacks (AutomatedCompiler Killing Suite from IBM)
http://www.hpjava.org/http://www.hpjava.org/8/2/2019 50881563-hp-java
16/20
16
Related Systems
Co-Array Fortran Extension to Fortran95 forSPMD parallel processing
ZPL Array programming language Jade Parallel object programming in Java Timber Java-based programming language for
array- parallel programming Titanium Java-based language for parallel
computing HPJava Pure Java implementation, data parallel
language and explicit programming
8/2/2019 50881563-hp-java
17/20
17
Contributions
Proposed the potential of Java as a scientific(parallel) programming language
Pursued efficient compilation of the HPJavalanguage for high-performance computing
Proved that the HPJava compilation andoptimization scheme generates efficient nodecode for parallel programming
hkl HPJava front- and back-endimplementation, original implementation of JNIinterfaces of Adlib, and benchmarks of thecurrent HPJava system
8/2/2019 50881563-hp-java
18/20
18
Future Works
HPJava improve translation andoptimization scheme
High-Performance Grid-EnabledEnvironments
Java Numeric Working Group
Web Service Compilation
8/2/2019 50881563-hp-java
19/20
19
High-Performance Grid-EnabledEnvironments
Need nifty compilation technique, high-performance grid-enabled programming model,
applications, components, and a better baselanguage
HPJava
Acceptable performance on matrix algorithms
search engines and parameter searching
BioComplexity Grid Environments at IndianaUniversity
8/2/2019 50881563-hp-java
20/20
20
Conclusion
HPspmd programming model
HPJava
Multiarrays, overall constructs
Compilation and optimization scheme
Benchmarks
Future works