Download presentation
Presentation is loading. Please wait.
1
Conductor A Framework for Distributed, Type-checked Computing Matthew Kehrt
2
Distributed Computing Today, people are dealing with larger and larger computational problems Today, people are dealing with larger and larger computational problems
3
Distributed Computing Today, people are dealing with larger and larger computational problems Today, people are dealing with larger and larger computational problems Scientific computations often analyze enormous amounts of data Scientific computations often analyze enormous amounts of data Radio telescope data Radio telescope data
4
Distributed Computing Today, people are dealing with larger and larger computational problems Today, people are dealing with larger and larger computational problems Scientific computations often analyze enormous amounts of data Scientific computations often analyze enormous amounts of data Radio telescope data Radio telescope data Some problems have large search spaces Some problems have large search spaces Factoring Factoring Password cracking Password cracking
5
Distributed Computation A solution – split large computations across multiple computers A solution – split large computations across multiple computers
6
Distributed Computation A solution – split large computations across multiple computers A solution – split large computations across multiple computers Some projects already do this Some projects already do this SETI@home SETI@home folding@home (protein folding) folding@home (protein folding) evolution@home (genetics) evolution@home (genetics)
7
Distributed Computation A solution – split large computations across multiple computers A solution – split large computations across multiple computers Some projects already do this Some projects already do this SETI@home SETI@home folding@home (protein folding) folding@home (protein folding) evolution@home (genetics) evolution@home (genetics) However, these examples are all for very specific problems However, these examples are all for very specific problems
8
Grid Computing We want something more generic We want something more generic
9
Grid Computing We want something more generic We want something more generic A general framework for distributing computation A general framework for distributing computation A way of submitting work to a collection of machines A way of submitting work to a collection of machines
10
Grid Computing We want something more generic We want something more generic A general framework for distributing computation A general framework for distributing computation A way of submitting work to a collection of machines A way of submitting work to a collection of machines We want a peer-to-peer network to distribute code We want a peer-to-peer network to distribute code
11
Safety? We want to run code on remote hosts We want to run code on remote hosts
12
Safety? How do we guarantee code is benign? How do we guarantee code is benign? Running code in a safe VM is expensive Running code in a safe VM is expensive
13
Safety? We want to run code on remote hosts We want to run code on remote hosts How do we guarantee code is benign? How do we guarantee code is benign? Running code in a safe VM is expensive Running code in a safe VM is expensive Native code is faster Native code is faster
14
Safety? We want to run code on remote hosts We want to run code on remote hosts How do we guarantee our code is benign? How do we guarantee our code is benign? Running code in a safe VM is expensive Running code in a safe VM is expensive Native code is faster Native code is faster Can we do static checks for safety on code to run? Can we do static checks for safety on code to run?
15
TAL Type systems can make static guarantees about program behavior Type systems can make static guarantees about program behavior
16
TAL However, we want to send object code over the network However, we want to send object code over the network
17
TAL Type systems can make static guarantees about program behavior Type systems can make static guarantees about program behavior However, we want to send object code over the network However, we want to send object code over the network Reduces work that needs to be done at runtime Reduces work that needs to be done at runtime How about a typed assembly language which need be only linked? How about a typed assembly language which need be only linked?
18
TAL A good type system allows us to distribute guaranteed safe code A good type system allows us to distribute guaranteed safe code
19
TAL Assembly language means little work needs to be done to prepare distributed code for running. Assembly language means little work needs to be done to prepare distributed code for running.
20
The Conductor Each machine on the grid runs a Conductor Each machine on the grid runs a Conductor The Conductor The Conductor Maintains a queue of work to be done Maintains a queue of work to be done Locates peers through a gossip protocol Locates peers through a gossip protocol Queries known peers for others on the network Queries known peers for others on the network Downloads, checks and runs work Downloads, checks and runs work Returns results Returns results
21
The Conductor Allows for multiple safety policies (different type systems) selected by the user Allows for multiple safety policies (different type systems) selected by the user Publishes code and results in a distributed hashtable Publishes code and results in a distributed hashtable Caches results for quick recomputation Caches results for quick recomputation Is tolerant to machines joining and leaving the network Is tolerant to machines joining and leaving the network
22
Summer Goals A network running on machines at CMU A network running on machines at CMU
23
Summer Goals A network running on machines at CMU A network running on machines at CMU A larger network running on machines owned by the Pittsburgh public school system A larger network running on machines owned by the Pittsburgh public school system
24
Summer Goals A network running on machines at CMU A network running on machines at CMU A larger network running on machines owned by the Pittsburgh public school system A larger network running on machines owned by the Pittsburgh public school system Adding a new type system to the conductor (TAL Two, or TALT) Adding a new type system to the conductor (TAL Two, or TALT)
25
Summer Goals A network running on machines at CMU A network running on machines at CMU A larger network running on machines owned by the Pittsburgh public school system A larger network running on machines owned by the Pittsburgh public school system Adding a new type system to the conductor (TAL Two, or TALT) Adding a new type system to the conductor (TAL Two, or TALT) Ability to merge two grids Ability to merge two grids
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.