Real-World Distributed Computing with Ibis Henri Bal Vrije Universiteit Amsterdam.

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.
Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
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.
The Ibis model as a paradigm for programming distributed systems Henri Bal Vrije Universiteit Amsterdam (from Grids and Clouds to Smartphones)
1 Towards Pervasive Connectivity in Mobile Computing Frank Siegemund European Microsoft Innovation Center November 2006.
A Computation Management Agent for Multi-Institutional Grids
Distributed supercomputing on DAS, GridLab, and Grid’5000 Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Summary Background –Why do we need parallel processing? Applications Introduction in algorithms and applications –Methodology to develop efficient parallel.
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.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal, Jason Maassen, Rob van Nieuwpoort, Thilo Kielmann, Niels Drost, Ceriel Jacobs, Frank.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Grid Adventures on DAS, GridLab and Grid'5000 Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Ibis: a Java-centric Programming Environment for Computational Grids Henri Bal Vrije Universiteit Amsterdam vrije Universiteit.
Parallelization and Grid Computing Thilo Kielmann Bioinformatics Data Analysis and Tools June 8th, 2006.
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal Vrije Universiteit Amsterdam.
The Distributed ASCI Supercomputer (DAS) project Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Parallel Programming Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters.
RUNNING PARALLEL APPLICATIONS BEYOND EP WORKLOADS IN DISTRIBUTED COMPUTING ENVIRONMENTS Zholudev Yury.
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal Vrije Universiteit Amsterdam.
DISTRIBUTED COMPUTING
CHAPTER FOUR COMPUTER SOFTWARE.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Through the development of advanced middleware, Grid computing has evolved to a mature technology in which scientists and researchers can leverage to gain.
Architectures of distributed systems Fundamental Models
Henri Bal Vrije Universiteit Amsterdam High Performance Distributed Computing.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks, An Overview of the GridWay Metascheduler.
Cloud Age Time to change the programming paradigm?
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
The Grid the united computing power Jian He Amit Karnik.
ICT infrastructure for Science: e-Science developments Henri Bal Vrije Universiteit Amsterdam.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
6 February 2009 ©2009 Cesare Pautasso | 1 JOpera and XtremWeb-CH in the Virtual EZ-Grid Cesare Pautasso Faculty of Informatics University.
Uni Innsbruck Informatik - 1 Network Support for Grid Computing... a new research direction! Michael Welzl DPS NSG Team
A Technical Overview Bill Branan DuraCloud Technical Lead.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Parallel Computing on Wide-Area Clusters: the Albatross Project Aske Plaat Thilo Kielmann Jason Maassen Rob van Nieuwpoort Ronald Veldema Vrije Universiteit.
Data-Centric Systems Lab. A Virtual Cloud Computing Provider for Mobile Devices Gonzalo Huerta-Canepa presenter 김영진.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
Fault tolerance, malleability and migration for divide-and-conquer applications on the Grid Gosia Wrzesińska, Rob V. van Nieuwpoort, Jason Maassen, Henri.
XtreemOS IP project is funded by the European Commission under contract IST-FP Scientific coordinator Christine Morin, INRIA Presented by Ana.
Chapter 1 Characterization of Distributed Systems
Real-World Distributed Computing with Ibis
Study course: “Computing clusters, grids and clouds” Andrey Y. Shevel
Summary Background Introduction in algorithms and applications
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
Vrije Universiteit Amsterdam
Presentation transcript:

Real-World Distributed Computing with Ibis Henri Bal Vrije Universiteit Amsterdam

Outline ● Distributed systems ● Distributed applications ● The Ibis distributed programming system ● Ibis in the mobile networked world

Distributed Systems: 1980s ● Networks of Workstations (NOWs) ● Collections of Workstations (COWs) ● Processor pools (Amoeba) ● Condor pools ● (Beowulf) clusters

Distributed Systems: 1990s ● Metacomputing (Smarr & Catlett, CACM) ● Flocking Condor (Epema) ● DAS (Distributed ASCI Supercomputer) ● Grid Blueprint (Foster & Kesselman) ● Desktop grids, DAS-3

Distributed Systems: 2000s ● Cloud computing ● Infrastructure as a service ● Virtualization ● Mobile computing ● Sensor networks ● Smart phones ● The Networked World

Problem ● How to write high-performance applications for real-world distributed systems? ● How to integrate many different resources?

Our approach ● Study fundamental underlying problems ● … hand-in-hand with realistic applications ● … integrate solutions in one system: Ibis Distributed SystemsUser !

Fundamental problems ● Performance – efficiency on wide-area systems ● Heterogeneity – different systems & APIs ● Malleability – resources come and go ● Fault tolerance - crashes ● Connectivity – firewalls, NAT, etc.

Applications ● Scientific applications ● Imaging (VU Medical Center, AMOLF) ● Bioinformatics (sequence analysis, cell modeling) ● Astronomy (data analysis challenge) ● Multimedia content analysis ● Games and model checking ● Semantic web (distributed reasoning)

Awards SCALE 2008 (CCGrid’08) DACH 2008 – BS DACH FT AAAI-VC 2007 ISWC 2008 Multimedia Computing Astronomy Semantic Web (van Harmelen et al.) (Cluster/Grid’08)

Multimedia content analysis ● Automatically extract information from images & video ● Extract feature vectors from images ● Describe properties (color, shape) ● Data-parallel task on a cluster ● Compute on consecutive images ● Task-parallelism on a grid

MMCA ‘ Most Visionary Research’ award at AAAI 2007, (Frank Seinstra et al.)

Games and Model Checking ● Can solve entire Awari game on wide-area DAS-3 ● Needs 10G private optical network (StarPlane) ● Distributed model checking has very similar communication pattern ● Search huge state spaces, random work distribution, bulk asynchronous transfers ● Can efficiently run DeVinE model checker on wide-area DAS-3, use up to 1 TB memory ● See IPDPS’09 (May 2009)

Distributed reasoning ● MaRVIN (Frank van Harmelen et al, VU): ● a distributed platform for massive RDF inferencing (deductive closure) ● ``a brain the size of a planet’’ ● Uses Ibis to run on heterogeneous systems (clusters, desktop grids) ● 3rd prize at Billion Triple track of Semantic Web Challenge 2008

European users ● D-Grid: Workflow engine for astronomy ● U. Erlangen: grid file system ● INRIA: ProActive on Ibis RMI ● U. Patras: Jylab scientific computing ● UPC Barcelona: Grid Superscalar ● HITACHI: Peta-scale data management Grid’5000

Outline ● Distributed systems ● Distributed applications ● The Ibis distributed programming system ● Ibis in the mobile networked world

Ibis Philosophy ● Real-world distributed applications should be developed and compiled on a local workstation, and simply be launched from there

Ibis Approach ● Virtual Machines (Java) deal with heterogeneity ● Provide range of programming abstractions ● Designed for dynamic/faulty environments ● Easy deployment through middleware- independent programming interfaces ● Modular and flexible: can replace Ibis components by external ones

Ibis Design ● Functionality from programming languages ● High-Performance Application Programming System ● Functionality from operating systems ● Distributed Application Deployment System

Ibis System

Programming system ● Programming models: ● Message passing (RMI, MPJ) ● Divide-and-conquer (Satin) ● Jorus: (multimedia applications) ● Dataflow framework (Maestro)  see HPDC09 Sat ● IPL (Ibis Portability Layer) ● Java-centric “run-anywhere” library ● Point-to-point, multicast, streaming, …. ● Simple model (Join-Elect-Leave ) for tracking resources, supports malleability & fault-tolerance

SmartSockets library ● Detects connectivity problems ● Tries to solve them automatically ● With as little help from the user as possible ● Integrates existing and several new solutions ● Reverse connection setup, STUN, TCP splicing, SSH tunneling, smart addressing, etc. ● Uses network of hubs as a side channel

Example

Deployment system ● IbisDeploy GUI ● JavaGAT: ● Java Grid Application Toolkit ● Make applications independent of underlying middleware ● Zorilla P2P system ● Job management, gossiping, clustering, flood scheduling

JavaGAT Grid Application File.copy(...)‏ submitJob(...)‏ cp ftp gridftp scp http fork pbs condor unicore globus ● For simple grid operations there are many ways of implementing them ● different middleware available on different sites

JavaGAT Grid Application File.copy(...)‏ submitJob(...)‏ cp ftp gridftp scp http fork pbs condor unicore globus ? ? ● Which should you use ? ● Some may not be available on all sites ● Many combinations

JavaGAT Grid Application File.copy(...)‏ submitJob(...)‏ GAT Engine Remote Files Monitoring Info service Resource Management GridLabGlobusUnicoreSSHP2PLocal GAT gridftpglobus

Multimedia Content Analysis Client Broker Servers Ibis (Java) ● Runs simultaneously on clusters (DAS-3, Japan, Australia), Desktop Grid, Amazon EC2 Cloud ● Connectivity problems solved automatically by Ibis SmartSockets

Connection management With SmartSockets: run everywhere Standard sockets: only local VU machines can be reached due to firewalls problems

Ibis movie (part 1)

Performance on 1 DAS-3 cluster ● Relative speedups of Java/Ibis and C++/MPI ● Using TCP or Myricom’s MX protocol ● Sequential performance Java: 80% of C++

Speedup (wide-area) ● Homogeneous wide-area systems (DAS-3): ● Frame rate increases linearly with #clusters ● World-wide experiment : ● 24 frames per second ● Speed limited by camera, not computing infrastructure

Outline ● Distributed systems ● Distributed applications ● The Ibis distributed programming system ● Ibis in the mobile networked world

Smart Phones ● GSM + PC + GPS + camera + networks + …. ● Location-aware ● What if everyone always carries a smart phone (like a GSM now)? ● Next wave in computing?

Ibis on Smart Phones ● Our focus: distributed smart phone applications ● Applications running on multiple phones ● Integration with distributed computing backbone ● Use Android for development ● Google’s open-source platform ● Java-based

Distributed applications ● Disaster management (Katrina) ● Use ad-hoc Wifi network when GSM network fails ● Finding nearby people with certain skills ● Bus drivers, CPR ● Distributed decision support ● Moving people to shelters (logistics) ● Social networks ● Similar issues ● Find nearby friends, decide on restaurant

Wild example ● Track position => automatic diary of your life ● Cross-comparisons between diaries Haven’t we met before? Yes, on 23 Oct 2010, 3.48 pm at N 52°22.688´ E 004°53.990´

eyeDentify ● Object recognition on a G1 smartphone ● Smartphone is a limited device: ● Can run only 64 x 48 pixels (memory bound) ● 1024 x 768 pixels would take 5 minutes ● Distributed Ibis version: + = x 768 pixels 2.0 seconds

Ibis movie (part 2)

Interdroid Distributed Communication Data Management Novel Mobile Distributed Applications Context Sensitive Programming Models

Current work ● Raven: API for Viable Episodic Networking ● Decentralized synchronization API ● Fine grained control over data sharing ● Bluetooth support for ad-hoc communication ● Discovery of devices using multiple networks ● Context Aware Programming Models ● Supporting distributed decision making ● Representing and using context (location etc.) ● Exploiting social relationships (Hyves, Facebook)

Summary ● Ibis provides integrated solutions for many hard problems ● performance, heterogeneity, malleability, fault tolerance, connectivity ● It combines functionality from programming languages and operating systems ● Used for many applications on real-world distributed systems ● Download from

Acknowledgements Niels Drost Ceriel Jacobs Roelof Kemp Timo van Kessel Thilo Kielmann Jason Maassen Rob van Nieuwpoort Nick Palmer Kees van Reeuwijk Frank J. Seinstra Kees Verstoep Gosia Wrzesinska

Questions?

DAS-3DAS-3