+ All Categories
Home > Documents > 50881563-hp-java

50881563-hp-java

Date post: 06-Apr-2018
Category:
Upload: sahithi-naraparaju
View: 218 times
Download: 0 times
Share this document with a friend

of 20

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


Recommended