Ibis: a Java-centric Programming Environment for Computational Grids Henri Bal Vrije Universiteit Amsterdam vrije Universiteit.

Slides:



Advertisements
Similar presentations
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Grid.
Advertisements

European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Scalability.
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Experiences.
The First 16 Years of the Distributed ASCI Supercomputer Henri Bal Vrije Universiteit Amsterdam COMMIT/
Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences DAS-1 DAS-2 DAS-3.
Opening Workshop DAS-2 (Distributed ASCI Supercomputer 2) Project vrije Universiteit.
CCGrid2013 Panel on Clouds Henri Bal Vrije Universiteit Amsterdam.
7 april SP3.1: High-Performance Distributed Computing The KOALA grid scheduler and the Ibis Java-centric grid middleware Dick Epema Catalin Dumitrescu,
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal Vrije Universiteit Amsterdam.
MINJAE HWANG THAWAN KOOBURAT CS758 CLASS PROJECT FALL 2009 Extending Task-based Programming Model beyond Shared-memory Systems.
The Distributed ASCI Supercomputer (DAS) project Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
The Ibis model as a paradigm for programming distributed systems Henri Bal Vrije Universiteit Amsterdam (from Grids and Clouds to Smartphones)
Parallel programming in Java. Java has 2 forms of support for parallel programming: –Multithreading Multiple threads of control (sub processes), useful.
Parallel Programming on Computational Grids. Outline Grids Application-level tools for grids Parallel programming on grids Case study: Ibis.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
The road to reliable, autonomous distributed systems
Distributed supercomputing on DAS, GridLab, and Grid’5000 Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Virtual Laboratory for e-Science (VL-e) Henri Bal Department of Computer Science Vrije Universiteit Amsterdam vrije Universiteit.
Virtual Laboratory for e-Science (VL-e) Henri Bal Department of Computer Science Vrije Universiteit Amsterdam vrije Universiteit.
Henri Bal Vrije Universiteit Amsterdam vrije Universiteit.
Parallel Programming on Computational Grids. Outline Grids Application-level tools for grids Parallel programming on grids Case study: Ibis.
The Distributed ASCI Supercomputer (DAS) project Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
June 3, 2015 Synthetic Grid Workloads with Ibis, K OALA, and GrenchMark CoreGRID Integration Workshop, Pisa A. Iosup, D.H.J. Epema Jason Maassen, Rob van.
Real-World Distributed Computing with Ibis Henri Bal Vrije Universiteit Amsterdam.
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
Inter-Operating Grids through Delegated MatchMaking Alexandru Iosup, Dick Epema, Hashim Mohamed,Mathieu Jan, Ozan Sonmez 3 rd Grid Initiative Summer School,
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal, Jason Maassen, Rob van Nieuwpoort, Thilo Kielmann, Niels Drost, Ceriel Jacobs, Frank.
Virtual Laboratory for e-Science (VL-e) Henri Bal Department of Computer Science Vrije Universiteit Amsterdam vrije Universiteit.
Grid Adventures on DAS, GridLab and Grid'5000 Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal Vrije Universiteit Amsterdam.
Parallel Programming on Computational Grids. Outline Grids Application-level tools for grids Parallel programming on grids Case study: Ibis.
May TERENA workshopStarPlane StarPlane: Application Specific Management of Photonic Networks Paola Grosso SNE group - UvA.
The Distributed ASCI Supercomputer (DAS) project Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
4 december, The Distributed ASCI Supercomputer The third generation Dick Epema (TUD) (with many slides from Henri Bal) Parallel and Distributed.
Real Parallel Computers. Background Information Recent trends in the marketplace of high performance computing Strohmaier, Dongarra, Meuer, Simon Parallel.
Parallel Programming Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Real Parallel Computers. Modular data centers Background Information Recent trends in the marketplace of high performance computing Strohmaier, Dongarra,
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Parallel Processing LAB NO 1.
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters.
DAS 1-4: 14 years of experience with the Distributed ASCI Supercomputer Henri Bal Vrije Universiteit Amsterdam.
This work was carried out in the context of the Virtual Laboratory for e-Science project. This project is supported by a BSIK grant from the Dutch Ministry.
Panel Abstractions for Large-Scale Distributed Systems Henri Bal Vrije Universiteit Amsterdam.
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal Vrije Universiteit Amsterdam.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
Dutch Tier Hardware Farm size –now: 150 dual nodes + scavenging 200 nodes –buildup to ~1500 up-to-date nodes in 2007 Network –now: 2 Gbit/s internatl.
1 CMPE 511 HIGH PERFORMANCE COMPUTING CLUSTERS Dilek Demirel İşçi.
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
More on Adaptivity in Grids Sathish S. Vadhiyar Source/Credits: Figures from the referenced papers.
ICT infrastructure for Science: e-Science developments Henri Bal Vrije Universiteit Amsterdam.
Key prototype applications Grid Computing Grid computing is increasingly perceived as the main enabling technology for facilitating multi-institutional.
Wide-Area Parallel Computing in Java Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences vrije Universiteit.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Parallel Computing on Wide-Area Clusters: the Albatross Project Aske Plaat Thilo Kielmann Jason Maassen Rob van Nieuwpoort Ronald Veldema Vrije Universiteit.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
SCARIe: using StarPlane and DAS-3 Paola Grosso Damien Marchel Cees de Laat SNE group - UvA.
DutchGrid KNMI KUN Delft Leiden VU ASTRON WCW Utrecht Telin Amsterdam Many organizations in the Netherlands are very active in Grid usage and development,
High level programming for the Grid Gosia Wrzesinska Dept. of Computer Science Vrije Universiteit Amsterdam vrije Universiteit.
AMOEBA study of distributed system
Fault tolerance, malleability and migration for divide-and-conquer applications on the Grid Gosia Wrzesińska, Rob V. van Nieuwpoort, Jason Maassen, Henri.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
MPJ: A Java-based Parallel Computing System
Parallel programming in Java
Vrije Universiteit Amsterdam
Cluster Computers.
Presentation transcript:

Ibis: a Java-centric Programming Environment for Computational Grids Henri Bal Vrije Universiteit Amsterdam vrije Universiteit

2 Distributed supercomputing Parallel processing on geographically distributed computing systems (grids) Examples: ( ), RSA-155, Entropia, Cactus Currently limited to trivially parallel applications Questions: -Can we generalize this to more HPC applications? -What high-level programming support is needed?

3 Grids versus supercomputers Performance/scalability -Speedups on geographically distributed systems? Heterogeneity -Different types of processors, operating systems, etc. -Different networks (Ethernet, Myrinet, WANs) General grid issues -Resource management, co-allocation, firewalls, security, authorization, accounting, ….

4 Approaches Performance/scalability -Exploit hierarchical structure of grids (previous project: Albatross) -Use optical (>> 10 Gbit/sec) wide-area networks (future projects: DAS-3 and StarPlane) Heterogeneity -Use Java + JVM (Java Virtual Machine) technology General grid issues -Studied in many grid projects: VL-e, GridLab, GGF

5 Outline Previous work: Albatross project Ibis: Java-centric grid computing -Programming support -Design and implementation -Applications Experiences on DAS-2 and EC GridLab testbeds Future work (VL-e, DAS - 3, StarPlane)

6 Grids usually are hierarchical -Collections of clusters, supercomputers -Fast local links, slow wide-area links Can optimize algorithms to exploit this hierarchy -Minimize wide-area communication Successful for many applications -Did many experiments on a homogeneous wide-area test bed (DAS) Speedups on a grid?

7 Wide-area optimizations Message combining on wide-area links Latency hiding on wide-area links Collective operations for wide-area systems -Broadcast, reduction, all-to-all exchange Load balancing Conclusions: -Many applications can be optimized to run efficiently on a hierarchical wide-area system -Need better programming support

8 The Ibis system High-level & efficient programming support for distributed supercomputing on heterogeneous grids Use Java-centric approach + JVM technology -Inherently more portable than native compilation “Write once, run anywhere ” -Requires entire system to be written in pure Java Optimized special-case solutions with native code -E.g. native communication libraries

9 Ibis programming support Ibis provides -Remote Method Invocation (RMI) -Replicated objects (RepMI) - as in Orca -Group/collective communication (GMI) - as in MPI -Divide & conquer (Satin) - as in Cilk All integrated in a clean, object-oriented way into Java, using special “marker” interfaces -Invoking native library (e.g. MPI) would give up Java’s “run anywhere” portability

10 Compiling/optimizing programs Java compiler bytecode rewriter JVM source bytecode Optimizations are done by bytecode rewriting -E.g. compiler-generated serialization (as in Manta)

11 Satin: a parallel divide-and- conquer system on top of Ibis Divide-and-conquer is inherently hierarchical More general than master/worker Satin: Cilk-like primitives (spawn/sync) in Java

12 Example interface FibInter { public int fib(long n); } class Fib implements FibInter { int fib (int n) { if (n < 2) return n; return fib(n-1) + fib(n-2); } Single-threaded Java

13 GridLab testbed interface FibInter extends ibis.satin.Spawnable { public int fib(long n); } class Fib extends ibis.satin.SatinObject implements FibInter { public int fib (int n) { if (n < 2) return n; int x = fib (n - 1); int y = fib (n - 2); sync(); return x + y; } Java + divide&conquer Example

14 Ibis implementation Want to exploit Java’s “run everywhere” property, but -That requires 100% pure Java implementation, no single line of native code -Hard to use native communication (e.g. Myrinet) or native compiler/runtime system Ibis approach: -Reasonably efficient pure Java solution (for any JVM) -Optimized solutions with native code for special cases

15 Ibis design

16 NetIbis Grid communication system of Ibis -Dynamic: networks not known when application is launched -> runtime configurable protocol stacks -Heterogeneous -> handle multiple different networks -Efficient -> exploit fast local networks -Advanced connection establishment to deal with connectivity problems [Denis et al., HPDC-13, 2004] Example: -Use Myrinet/GM, Ethernet/UDP and TCP in 1 application -Same performance as static optimized protocol [Aumage, Hofman, and Bal, CCGrid05]

17 Fast communication in pure Java Manta system [ACM TOPLAS Nov. 2001] -RMI at RPC speed, but using native compiler & RTS Ibis does similar optimizations, but in pure Java -Compiler-generated serialization at bytecode level 5-9x faster than using runtime type inspection -Reduce copying overhead Zero-copy native implementation for primitive arrays Pure-Java requires type-conversion (=copy) to bytes

18 Applications Implemented ProActive on top of Ibis/RMI 3D electromagnetic application (Jem3D) in Java, on top of Ibis + ProActive -[F. Huet, D. Caromel, H. Bal, SC'04] Automated protein identification for high-resolution mass spectrometry Many smaller applications (mostly with Satin) -Raytracer, cellular automaton, Grammar-based compression, SAT-solver, Barnes-Hut, etc.

19 Grid experiences with Ibis Using Satin divide-and-conquer system -Implemented with Ibis in pure Java, using TCP/IP Application measurements on -DAS-2 (homogeneous) -Testbed from EC GridLab project (heterogeneous)

20 Distributed ASCI Supercomputer (DAS) 2 Node configuration Dual 1 GHz Pentium-III >= 1 GB memory Myrinet Linux VU (72 nodes) UvA (32) Leiden (32) Delft (32) GigaPort (1 Gb) Utrecht (32)

21 Performance on wide-area DAS-2 (64 nodes) Cellular Automaton uses IPL, the others use Satin.

22 GridLab Latencies: ms (daytime), 9-66 ms (night) Bandwidths: KB/s

23 Testbed sites

24 Experiences Grid testbeds are difficult to obtain Poor support for co-allocation (use our own tool) Firewall problems everywhere Java indeed runs anywhere modulo bugs in (old) JVMs Divide-and-conquer parallelism works very well on a grid, given a good load balancing algorithm

25 Grid results ProgramsitesCPUsEfficiency Raytracer (Satin)54081 % SAT-solver (Satin)52888 % Compression (Satin)32267 % Cellular autom. (IPL)32266 % Efficiency based on normalization to single CPU type (1GHz P3)

26 Future work: VL-e VL-e: Virtual Laboratories for e-Science Large Dutch project ( ): -40 M€ (20 M€ BSIK funding from Dutch goverment) 20 partners -Academia: Amsterdam, TU Delft, VU, CWI, NIKHEF,.. -Industry: Philips, IBM, Unilever, CMG,.... Our work: -Ibis: P2P, management, fault-tolerance, optical networking, applications, performance tools

27 VL-e program

28 DAS-3DAS-3 Next generation grid in the Netherlands Partners: -ASCI research school -Gigaport-NG/SURFnet -VL-e and MultimediaN BSIK projects DWDM backplane -Dedicated optical group of 8 lambdas -Can allocate multiple 10 Gbit/s lambdas between sites

29 DAS-3DAS-3 CPU’s R R R R R NOC

30 StarPlane project Collaboration with Cees de Laat (U. Amsterdam) Key idea: -Applications can dynamically allocate light paths -Applications can change the topology of the wide-area network at sub-second timescale Challenge: how to integrate such a network infrastructure with (e-Science) applications?

31 Summary Ibis: A Java-centric Grid programming environment Exploits Java’s “run anywhere” portability Optimizations using bytecode rewriting and some native code Efficient, dynamic, & flexible communication system Many applications Many Grid experiments Future work: VL-e and DAS - 3

32 Acknowledgements Rob van Nieuwpoort Jason Maassen Thilo Kielmann Rutger Hofman Ceriel Jacobs Kees Verstoep Gosia Wrzesinska Ibis distribution available from: Kees van Reeuwijk Olivier Aumage Fabrice Huet Alexandre Denis Maik Nijhuis Niels Drost Willem de Bruin

33 extra

34 Satin on wide-area DAS-2

35 Java/Ibis vs. C/MPI on Pentium-3 cluster (using SOR)