10
Panel Abstractions for Large-Scale Distributed Systems Henri Bal [email protected] Vrije Universiteit Amsterdam

Panel Abstractions for Large-Scale Distributed Systems Henri Bal [email protected] Vrije Universiteit Amsterdam

Embed Size (px)

Citation preview

Page 1: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

PanelAbstractions for Large-Scale Distributed

Systems

Henri [email protected]

Vrije Universiteit Amsterdam

Page 2: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

Background - Projects● Virtual Laboratory for e-Science (VL-e)

● 40 M€ Dutch project

● Generic applicationsupport for e-Science

● Scientific workflow applications

● Ibis: grid programming environment for distributed supercomputing applications

Page 3: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam
Page 4: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

Background – Infrastructure:

DAS-3 Computer Science grid

WAN: 20-40 Gb/s Optical Private Network

Page 5: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

● Performance & scalability

● Heterogeneous● Low-level & changing

programming interfaces

Why are distributed applications difficult to

program & deploy?● Connectivity

issues● Fault

tolerance● Malleability

Wide-Area Grid Systems

UseUserr

!

Page 6: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

Common (scalable) patterns

• Programming– Master-worker => divide-and-conquer

• Image analysis, N-body, SAT, gene seq, grammar learning, ….

– Asynchronous high-throughput communication• Model checking, search applications

– Mixed task- and data-parallelism• Multimedia content analysis

• Deployment (OS-like functionality)– File I/O, resource allocation, job submission, …

fib(1) fib(0) fib(0)

fib(0)

fib(4)

fib(1)

fib(2)

fib(3)

fib(3)

fib(5)

fib(1) fib(1)

fib(1)

fib(2) fib(2)cpu 2

cpu 1cpu 3

cpu 1

Page 7: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

Abstractions we use● Programming

● Divide-and-conquer (Satin)● Fault-tolerant, malleable

● IPL: Java-centric gridcommunication layer

● Run-anywhere, connectivity

● Deployment● JavaGAT, SAGA

(hide low-level APIs)Ibis

Page 8: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

Abstractions we need

● Transparent grid libraries● Domain-specific patterns● E.g. imaging operations

● More scheduling functionality● Give me N clusters with

P processors at time T● Map application onto heterogeneous

grid (containing clusters, Cells, GPUs)

Page 9: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

● Large-scale e-Science infrastructures● Computing + storage + networking● High-bandwidth, flexible optical WANs

● Supporting large-scale systems● Exploit locality in hierarchical systems● Latency-tolerant algorithms & systems● Bandwidth allocation (light paths)

● Adapt network topology to application: alloc(80-Gb/s, A, B)

● Co-allocate CPU, data, network

Emerging distributed infrastructures (1)

Page 10: Panel Abstractions for Large-Scale Distributed Systems Henri Bal bal@cs.vu.nl Vrije Universiteit Amsterdam

● Very large scale: mobile devices● Smart phones: ubiquitous, location-aware● Distributed smart phone applications

● Social networking, crisis management● Integrated with grid backbone

● Supporting such applications● Location-aware communication (geo-cast)● Mobile ad hoc networks● Dealing with resource constraints

Emerging distributed infrastructures (2)