Real-World Distributed Computing with Ibis Henri Bal [email_address] Vrije Universiteit Amsterdam
Outline <ul><li>Distributed systems </li></ul><ul><li>Distributed applications </li></ul><ul><li>The Ibis distributed prog...
Distributed Systems: 1980s <ul><li>Networks of Workstations (NOWs) </li></ul><ul><li>Collections of Workstations (COWs) </...
Distributed Systems: 1990s <ul><li>Metacomputing (Smarr & Catlett, CACM) </li></ul><ul><li>Flocking Condor (Epema) </li></...
Distributed Systems: 2000s <ul><li>Cloud computing </li></ul><ul><ul><li>Infrastructure as a service </li></ul></ul><ul><u...
Problem <ul><li>How to write high-performance applications for real-world distributed systems? </li></ul><ul><li>How to in...
Our approach <ul><li>Study fundamental underlying problems </li></ul><ul><li>… hand-in-hand with realistic applications </...
Fundamental problems <ul><li>Performance – efficiency on wide-area systems </li></ul><ul><li>Heterogeneity – different sys...
Applications <ul><li>Scientific applications </li></ul><ul><ul><li>Imaging (VU Medical Center, AMOLF) </li></ul></ul><ul><...
Awards SCALE 2008 (CCGrid’08) DACH 2008 – BS  DACH 2008 - FT AAAI-VC 2007 ISWC 2008 Multimedia Computing Astronomy Semanti...
Multimedia content analysis <ul><li>Automatically extract information from images & video  </li></ul><ul><li>Extract featu...
MMCA ‘ Most Visionary Research’ award at AAAI 2007,  (Frank Seinstra et al.)
Games and Model Checking <ul><li>Can   solve entire Awari game on  wide-area  DAS-3 </li></ul><ul><ul><li>Needs 10G privat...
Distributed reasoning <ul><li>MaRVIN (Frank van Harmelen et al, VU): </li></ul><ul><ul><li>a distributed platform for mass...
European users <ul><li>D-Grid: Workflow engine for astronomy </li></ul><ul><li>U. Erlangen: grid file system </li></ul><ul...
Outline <ul><li>Distributed systems </li></ul><ul><li>Distributed applications </li></ul><ul><li>The Ibis distributed prog...
Ibis Philosophy <ul><li>Real-world distributed applications should be developed and compiled on a local workstation, and s...
Ibis Approach <ul><li>Virtual Machines (Java) deal with heterogeneity </li></ul><ul><li>Provide range of programming abstr...
Ibis Design <ul><li>Functionality from programming languages </li></ul><ul><ul><li>High-Performance Application Programmin...
Ibis System
Programming system <ul><li>Programming models: </li></ul><ul><ul><li>Message passing (RMI, MPJ) </li></ul></ul><ul><ul><li...
SmartSockets library <ul><li>Detects connectivity problems </li></ul><ul><li>Tries to solve them automatically </li></ul><...
Example
Example
Deployment system <ul><li>IbisDeploy GUI </li></ul><ul><li>JavaGAT: </li></ul><ul><ul><li>Java Grid Application Toolkit </...
JavaGAT <ul><li>For simple grid operations there are many ways of implementing them  </li></ul><ul><ul><li>different middl...
JavaGAT <ul><li>Which should you use ? </li></ul><ul><ul><li>Some may not be available on all sites  </li></ul></ul><ul><u...
JavaGAT Grid Application File.copy(...)‏ submitJob(...)‏ GAT Engine Remote Files Monitoring Info service Resource Manageme...
Multimedia Content Analysis <ul><li>Runs simultaneously on clusters (DAS-3, Japan, Australia), Desktop Grid, Amazon EC2 Cl...
Connection management With SmartSockets: run everywhere Standard sockets: only local VU machines can be reached due to fir...
Ibis movie (part 1)
Performance on 1 DAS-3 cluster <ul><li>Relative speedups of Java/Ibis and C++/MPI </li></ul><ul><ul><li>Using TCP or Myric...
Speedup (wide-area) <ul><li>Homogeneous wide-area systems (DAS-3): </li></ul><ul><ul><li>Frame rate increases linearly wit...
Outline <ul><li>Distributed systems </li></ul><ul><li>Distributed applications </li></ul><ul><li>The Ibis distributed prog...
Smart Phones <ul><li>GSM + PC + GPS + camera + networks + ….  </li></ul><ul><li>Location-aware </li></ul><ul><li>What if e...
Ibis on Smart Phones <ul><li>Our focus: distributed smart phone applications </li></ul><ul><ul><li>Applications running on...
Distributed applications <ul><li>Disaster management (Katrina) </li></ul><ul><ul><li>Use ad-hoc Wifi network when GSM netw...
Wild example <ul><li>Track position => automatic diary of your life </li></ul><ul><li>Cross-comparisons between diaries </...
eyeDentify <ul><li>Object recognition on a G1 smartphone </li></ul><ul><li>Smartphone is a limited device: </li></ul><ul><...
Ibis movie (part 2)
Interdroid Distributed Communication Data Management Novel Mobile Distributed Applications Context Sensitive Programming M...
Current work <ul><li>Raven: API for Viable Episodic Networking </li></ul><ul><ul><li>Decentralized synchronization API </l...
Summary <ul><li>Ibis provides integrated solutions for many hard problems </li></ul><ul><ul><li>performance, heterogeneity...
Acknowledgements <ul><li>Niels Drost </li></ul><ul><li>Ceriel Jacobs </li></ul><ul><li>Roelof Kemp </li></ul><ul><li>Timo ...
Questions?
D A S - 3
Upcoming SlideShare
Loading in...5
×

(.ppt)

771

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
771
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • So, first of all if we look at the application domains than we see that Ibis has been successful in a variety of them: He, here we have two applications in multimedia computing, here we have two in astronomy, and here we have one from the semantic web domain So, Ibis clearly works for a variety of domains… and actually we have applications in other domains as well – we just have not participated in competitions with these
  • (.ppt)

    1. 1. Real-World Distributed Computing with Ibis Henri Bal [email_address] Vrije Universiteit Amsterdam
    2. 2. Outline <ul><li>Distributed systems </li></ul><ul><li>Distributed applications </li></ul><ul><li>The Ibis distributed programming system </li></ul><ul><li>Ibis in the mobile networked world </li></ul>
    3. 3. Distributed Systems: 1980s <ul><li>Networks of Workstations (NOWs) </li></ul><ul><li>Collections of Workstations (COWs) </li></ul><ul><li>Processor pools (Amoeba) </li></ul><ul><li>Condor pools </li></ul><ul><li>(Beowulf) clusters </li></ul>
    4. 4. Distributed Systems: 1990s <ul><li>Metacomputing (Smarr & Catlett, CACM) </li></ul><ul><li>Flocking Condor (Epema) </li></ul><ul><li>DAS (Distributed ASCI Supercomputer) </li></ul><ul><li>Grid Blueprint (Foster & Kesselman) </li></ul><ul><li>Desktop grids, SETI@home </li></ul>DAS-3
    5. 5. Distributed Systems: 2000s <ul><li>Cloud computing </li></ul><ul><ul><li>Infrastructure as a service </li></ul></ul><ul><ul><li>Virtualization </li></ul></ul><ul><li>Mobile computing </li></ul><ul><ul><li>Sensor networks </li></ul></ul><ul><ul><li>Smart phones </li></ul></ul><ul><li>The Networked World </li></ul>
    6. 6. Problem <ul><li>How to write high-performance applications for real-world distributed systems? </li></ul><ul><li>How to integrate many different resources? </li></ul>
    7. 7. Our approach <ul><li>Study fundamental underlying problems </li></ul><ul><li>… hand-in-hand with realistic applications </li></ul><ul><li>… integrate solutions in one system: Ibis </li></ul>Distributed Systems User !
    8. 8. Fundamental problems <ul><li>Performance – efficiency on wide-area systems </li></ul><ul><li>Heterogeneity – different systems & APIs </li></ul><ul><li>Malleability – resources come and go </li></ul><ul><li>Fault tolerance - crashes </li></ul><ul><li>Connectivity – firewalls, NAT, etc. </li></ul>
    9. 9. Applications <ul><li>Scientific applications </li></ul><ul><ul><li>Imaging (VU Medical Center, AMOLF) </li></ul></ul><ul><ul><li>Bioinformatics (sequence analysis, cell modeling) </li></ul></ul><ul><ul><li>Astronomy (data analysis challenge) </li></ul></ul><ul><li>Multimedia content analysis </li></ul><ul><li>Games and model checking </li></ul><ul><li>Semantic web (distributed reasoning) </li></ul>
    10. 10. Awards SCALE 2008 (CCGrid’08) DACH 2008 – BS DACH 2008 - FT AAAI-VC 2007 ISWC 2008 Multimedia Computing Astronomy Semantic Web (van Harmelen et al.) (Cluster/Grid’08)
    11. 11. Multimedia content analysis <ul><li>Automatically extract information from images & video </li></ul><ul><li>Extract feature vectors from images </li></ul><ul><ul><li>Describe properties (color, shape) </li></ul></ul><ul><ul><li>Data-parallel task on a cluster </li></ul></ul><ul><li>Compute on consecutive images </li></ul><ul><ul><li>Task-parallelism on a grid </li></ul></ul>
    12. 12. MMCA ‘ Most Visionary Research’ award at AAAI 2007, (Frank Seinstra et al.)
    13. 13. Games and Model Checking <ul><li>Can solve entire Awari game on wide-area DAS-3 </li></ul><ul><ul><li>Needs 10G private optical network (StarPlane) </li></ul></ul><ul><li>Distributed model checking has very similar communication pattern </li></ul><ul><ul><li>Search huge state spaces, random work distribution, bulk asynchronous transfers </li></ul></ul><ul><li>Can efficiently run DeVinE model checker on wide-area DAS-3, use up to 1 TB memory </li></ul><ul><ul><li>See IPDPS’09 (May 2009) </li></ul></ul>
    14. 14. Distributed reasoning <ul><li>MaRVIN (Frank van Harmelen et al, VU): </li></ul><ul><ul><li>a distributed platform for massive RDF inferencing (deductive closure) </li></ul></ul><ul><ul><li>``a brain the size of a planet’’ </li></ul></ul><ul><li>Uses Ibis to run on heterogeneous systems (clusters, desktop grids) </li></ul><ul><li>3rd prize at Billion Triple track of Semantic Web Challenge 2008 </li></ul>
    15. 15. European users <ul><li>D-Grid: Workflow engine for astronomy </li></ul><ul><li>U. Erlangen: grid file system </li></ul><ul><li>INRIA: ProActive on Ibis RMI </li></ul><ul><li>U. Patras: Jylab scientific computing </li></ul><ul><li>UPC Barcelona: Grid Superscalar </li></ul><ul><li>HITACHI: Peta-scale data management </li></ul>Grid’5000
    16. 16. Outline <ul><li>Distributed systems </li></ul><ul><li>Distributed applications </li></ul><ul><li>The Ibis distributed programming system </li></ul><ul><li>Ibis in the mobile networked world </li></ul>
    17. 17. Ibis Philosophy <ul><li>Real-world distributed applications should be developed and compiled on a local workstation, and simply be launched from there </li></ul>
    18. 18. Ibis Approach <ul><li>Virtual Machines (Java) deal with heterogeneity </li></ul><ul><li>Provide range of programming abstractions </li></ul><ul><li>Designed for dynamic/faulty environments </li></ul><ul><li>Easy deployment through middleware-independent programming interfaces </li></ul><ul><li>Modular and flexible: can replace Ibis components by external ones </li></ul>
    19. 19. Ibis Design <ul><li>Functionality from programming languages </li></ul><ul><ul><li>High-Performance Application Programming System </li></ul></ul><ul><li>Functionality from operating systems </li></ul><ul><ul><li>Distributed Application Deployment System </li></ul></ul>
    20. 20. Ibis System
    21. 21. Programming system <ul><li>Programming models: </li></ul><ul><ul><li>Message passing (RMI, MPJ) </li></ul></ul><ul><ul><li>Divide-and-conquer (Satin) </li></ul></ul><ul><ul><li>Jorus: (multimedia applications) </li></ul></ul><ul><ul><li>Dataflow framework (Maestro)  see HPDC09 Sat 14.30 </li></ul></ul><ul><li>IPL ( Ibis Portability Layer) </li></ul><ul><ul><li>Java-centric “run-anywhere” library </li></ul></ul><ul><ul><li>Point-to-point, multicast, streaming, …. </li></ul></ul><ul><ul><li>Simple model (Join-Elect-Leave ) for tracking resources, supports malleability & fault-tolerance </li></ul></ul>
    22. 22. SmartSockets library <ul><li>Detects connectivity problems </li></ul><ul><li>Tries to solve them automatically </li></ul><ul><ul><li>With as little help from the user as possible </li></ul></ul><ul><li>Integrates existing and several new solutions </li></ul><ul><ul><li>Reverse connection setup, STUN, TCP splicing, SSH tunneling, smart addressing, etc. </li></ul></ul><ul><li>Uses network of hubs as a side channel </li></ul>
    23. 23. Example
    24. 24. Example
    25. 25. Deployment system <ul><li>IbisDeploy GUI </li></ul><ul><li>JavaGAT: </li></ul><ul><ul><li>Java Grid Application Toolkit </li></ul></ul><ul><ul><li>Make applications independent of underlying middleware </li></ul></ul><ul><li>Zorilla P2P system </li></ul><ul><ul><li>Job management, gossiping, clustering, flood scheduling </li></ul></ul>
    26. 26. JavaGAT <ul><li>For simple grid operations there are many ways of implementing them </li></ul><ul><ul><li>different middleware available on different sites </li></ul></ul>Grid Application File.copy(...)‏ submitJob(...)‏ cp ftp gridftp scp http fork pbs condor unicore globus
    27. 27. JavaGAT <ul><li>Which should you use ? </li></ul><ul><ul><li>Some may not be available on all sites </li></ul></ul><ul><ul><li>Many combinations </li></ul></ul>Grid Application File.copy(...)‏ submitJob(...)‏ cp ftp gridftp scp http fork pbs condor unicore globus ? ?
    28. 28. JavaGAT Grid Application File.copy(...)‏ submitJob(...)‏ GAT Engine Remote Files Monitoring Info service Resource Management GridLab Globus Unicore SSH P2P Local GAT gridftp globus
    29. 29. Multimedia Content Analysis <ul><li>Runs simultaneously on clusters (DAS-3, Japan, Australia), Desktop Grid, Amazon EC2 Cloud </li></ul><ul><li>Connectivity problems solved automatically by Ibis SmartSockets </li></ul>Client Broker Servers Ibis (Java)
    30. 30. Connection management With SmartSockets: run everywhere Standard sockets: only local VU machines can be reached due to firewalls problems
    31. 31. Ibis movie (part 1)
    32. 32. Performance on 1 DAS-3 cluster <ul><li>Relative speedups of Java/Ibis and C++/MPI </li></ul><ul><ul><li>Using TCP or Myricom’s MX protocol </li></ul></ul><ul><li>Sequential performance Java: 80% of C++ </li></ul>
    33. 33. Speedup (wide-area) <ul><li>Homogeneous wide-area systems (DAS-3): </li></ul><ul><ul><li>Frame rate increases linearly with #clusters </li></ul></ul><ul><li>World-wide experiment : </li></ul><ul><ul><li>24 frames per second </li></ul></ul><ul><ul><li>Speed limited by camera, not computing infrastructure </li></ul></ul>
    34. 34. Outline <ul><li>Distributed systems </li></ul><ul><li>Distributed applications </li></ul><ul><li>The Ibis distributed programming system </li></ul><ul><li>Ibis in the mobile networked world </li></ul>
    35. 35. Smart Phones <ul><li>GSM + PC + GPS + camera + networks + …. </li></ul><ul><li>Location-aware </li></ul><ul><li>What if everyone always carries a smart phone (like a GSM now)? </li></ul><ul><li>Next wave in computing? </li></ul>
    36. 36. Ibis on Smart Phones <ul><li>Our focus: distributed smart phone applications </li></ul><ul><ul><li>Applications running on multiple phones </li></ul></ul><ul><ul><li>Integration with distributed computing backbone </li></ul></ul><ul><li>Use Android for development </li></ul><ul><ul><li>Google’s open-source platform </li></ul></ul><ul><ul><li>Java-based </li></ul></ul>
    37. 37. Distributed applications <ul><li>Disaster management (Katrina) </li></ul><ul><ul><li>Use ad-hoc Wifi network when GSM network fails </li></ul></ul><ul><ul><li>Finding nearby people with certain skills </li></ul></ul><ul><ul><ul><li>Bus drivers, CPR </li></ul></ul></ul><ul><ul><li>Distributed decision support </li></ul></ul><ul><ul><ul><li>Moving people to shelters (logistics) </li></ul></ul></ul><ul><li>Social networks </li></ul><ul><ul><li>Similar issues </li></ul></ul><ul><ul><ul><li>Find nearby friends, decide on restaurant </li></ul></ul></ul>
    38. 38. Wild example <ul><li>Track position => automatic diary of your life </li></ul><ul><li>Cross-comparisons between diaries </li></ul>Haven’t we met before? Yes, on 23 Oct 2010, 3.48 pm at N 52°22.688´ E 004°53.990´
    39. 39. eyeDentify <ul><li>Object recognition on a G1 smartphone </li></ul><ul><li>Smartphone is a limited device: </li></ul><ul><ul><li>Can run only 64 x 48 pixels (memory bound) </li></ul></ul><ul><ul><li>1024 x 768 pixels would take 5 minutes </li></ul></ul><ul><li>Distributed Ibis version: </li></ul>+ = + 1024 x 768 pixels 2.0 seconds
    40. 40. Ibis movie (part 2)
    41. 41. Interdroid Distributed Communication Data Management Novel Mobile Distributed Applications Context Sensitive Programming Models
    42. 42. Current work <ul><li>Raven: API for Viable Episodic Networking </li></ul><ul><ul><li>Decentralized synchronization API </li></ul></ul><ul><ul><li>Fine grained control over data sharing </li></ul></ul><ul><li>Bluetooth support for ad-hoc communication </li></ul><ul><li>Discovery of devices using multiple networks </li></ul><ul><li>Context Aware Programming Models </li></ul><ul><ul><li>Supporting distributed decision making </li></ul></ul><ul><ul><li>Representing and using context (location etc.) </li></ul></ul><ul><ul><li>Exploiting social relationships (Hyves, Facebook) </li></ul></ul>
    43. 43. Summary <ul><li>Ibis provides integrated solutions for many hard problems </li></ul><ul><ul><li>performance, heterogeneity, malleability, fault tolerance, connectivity </li></ul></ul><ul><li>It combines functionality from programming languages and operating systems </li></ul><ul><li>Used for many applications on real-world distributed systems </li></ul><ul><li>Download from http://www.cs.vu.nl/ibis/ </li></ul>
    44. 44. Acknowledgements <ul><li>Niels Drost </li></ul><ul><li>Ceriel Jacobs </li></ul><ul><li>Roelof Kemp </li></ul><ul><li>Timo van Kessel </li></ul><ul><li>Thilo Kielmann </li></ul><ul><li>Jason Maassen </li></ul><ul><li>Rob van Nieuwpoort </li></ul><ul><li>Nick Palmer </li></ul><ul><li>Kees van Reeuwijk </li></ul><ul><li>Frank J. Seinstra </li></ul><ul><li>Kees Verstoep </li></ul><ul><li>Gosia Wrzesinska </li></ul>
    45. 45. Questions?
    46. 46. D A S - 3
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×