Real-World Distributed Computing with Ibis Henri Bal [email protected] Vrije Universiteit Amsterdam.

46
Real-World Distributed Computing with Ibis Henri Bal [email protected] Vrije Universiteit Amsterdam
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    6

Transcript of Real-World Distributed Computing with Ibis Henri Bal [email protected] Vrije Universiteit Amsterdam.

Page 1: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Real-World Distributed Computing with Ibis

Henri [email protected]

Vrije Universiteit Amsterdam

Page 2: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Outline

● Distributed systems

● Distributed applications

● The Ibis distributed programming system

● Ibis in the mobile networked world

Page 3: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Distributed Systems: 1980s

● Networks of Workstations (NOWs)● Collections of Workstations (COWs)● Processor pools (Amoeba)● Condor pools● (Beowulf) clusters

Page 4: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Distributed Systems: 1990s

● Metacomputing (Smarr & Catlett, CACM)● Flocking Condor (Epema)● DAS (Distributed ASCI Supercomputer)● Grid Blueprint (Foster & Kesselman)● Desktop grids, SETI@home

DAS-3

Page 5: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Distributed Systems: 2000s

● Cloud computing● Infrastructure as a service● Virtualization

● Mobile computing● Sensor networks● Smart phones

● The Networked World

Page 6: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Problem

● How to write high-performance applications for real-world distributed systems?

● How to integrate many different resources?

Page 7: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Our approach

● Study fundamental underlying problems

● … hand-in-hand with realistic applications

● … integrate solutions in one system: Ibis

Distributed SystemsUseUserr

!

Page 8: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Fundamental problems

● Performance – efficiency on wide-area systems

● Heterogeneity – different systems & APIs● Malleability – resources come and go● Fault tolerance - crashes● Connectivity – firewalls, NAT, etc.

Page 9: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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)

Page 10: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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)

Page 11: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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

Page 12: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

MMCA

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

Page 13: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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)

Page 14: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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 trackof Semantic Web Challenge 2008

Page 15: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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

Page 16: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Outline

● Distributed systems

● Distributed applications

● The Ibis distributed programming system

● Ibis in the mobile networked world

Page 17: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Ibis Philosophy● Real-world distributed applications should

be developed and compiled on a local workstation, and simply be launched from there

Page 18: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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

Page 19: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Ibis Design

● Functionality from programming languages● High-Performance

Application Programming System

● Functionality fromoperating systems● Distributed Application

Deployment System

Page 20: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Ibis System

Page 21: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Programming system

● Programming models:● Message passing (RMI, MPJ)

● Divide-and-conquer (Satin)

● Jorus: (multimedia applications)

● Dataflow framework (Maestro) see HPDC09 Sat 14.30

● 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

Page 22: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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

Page 23: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Example

Page 24: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Example

Page 25: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Deployment system

● IbisDeploy GUI

● JavaGAT:● Java Grid Application Toolkit

● Make applications independent of underlying middleware

● Zorilla P2P system● Job management, gossiping,

clustering, flood scheduling

Page 26: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

JavaGAT

Grid ApplicationFile.copy(...) submitJob(...)

cpftpgridftpscphttp

forkpbs

condorunicoreglobus

● For simple grid operations there are many ways of implementing them ● different middleware available on different

sites

Page 27: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

JavaGAT

Grid ApplicationFile.copy(...) submitJob(...)

cpftpgridftpscphttp

forkpbs

condorunicoreglobus??

● Which should you use ?● Some may not be available on all sites ● Many combinations

Page 28: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

JavaGAT

Grid ApplicationFile.copy(...) submitJob(...)

GAT Engine

RemoteFiles

MonitoringInfo

serviceResource

Management

GridLab Globus Unicore SSH P2P LocalGATgridftp globus

Page 29: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Multimedia Content Analysis

Client

Broker

Servers IbisIbis

(Java)

● Runs simultaneously on clusters (DAS-3, Japan, Australia), Desktop Grid, Amazon EC2 Cloud

● Connectivity problems solved automatically by Ibis SmartSockets

Page 30: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Connection management

With SmartSockets: run everywhere

Standard sockets: only local VU machines can be reached due to firewalls problems

Page 31: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Ibis movie (part 1)

Page 32: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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++

Page 33: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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

Page 34: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Outline

● Distributed systems

● Distributed applications

● The Ibis distributed programming system

● Ibis in the mobile networked world

Page 35: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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?

Page 36: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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

Page 37: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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

Page 38: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Wild example

● Track position => automatic diary of your life

● Cross-comparisons between diariesHaven’t we met before?

Yes, on 23 Oct 2010, 3.48 pm atN 52°22.688´ E 004°53.990´

Page 39: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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:

+ =+1024 x 768 pixels

2.0 seconds

Page 40: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Ibis movie (part 2)

Page 41: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Interdroid

Distributed Communication

Data Management

Novel Mobile Distributed Applications

Context SensitiveProgrammingModels

Page 42: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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)

Page 43: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

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 http://www.cs.vu.nl/ibis/

Page 44: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Acknowledgements

Niels DrostCeriel JacobsRoelof Kemp

Timo van KesselThilo KielmannJason Maassen

Rob van NieuwpoortNick Palmer

Kees van ReeuwijkFrank J. SeinstraKees Verstoep

Gosia Wrzesinska

Page 45: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

Questions?

Page 46: Real-World Distributed Computing with Ibis Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam.

DAS-3