PUSH-- a Dataflow Shell
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


PUSH-- a Dataflow Shell






Total Views
Views on SlideShare
Embed Views



2 Embeds 2

http://www.lmodules.com 1
http://www.linkedin.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

PUSH-- a Dataflow Shell Document Transcript

  • 1. Push: a Dataflow Shell 1. Observation (Made by Streamline etc...) This Noah Evans, Eric Van Hensbergen command... This... f1 |< f3 >| f5 2. If everything’s a pipe in Dataflow programming, why not use a shell? ... transforms to this syntax tree ... >| ... which becomes this dataflow pipelined command set. ... is just a large cmd |< cmd 1 combination of f3 pipe f5 0 these: $ cmd cmd cmd f5 0 14 1 pipe pipe 10 f4 f1 irf $ f1 f3 pipe 13 1 1 6 0 f3 orf 9 pipe pipe 0 f2 pipe 1 pipe 1 0 5 f1 0 pipe f3 f2 3. How? 4. Dataflow pipes 5. Record handling in pipes •Shell should be orchestrator cmd1 |< cmd2 >| cmd3 •User Defined: Implicit or Explicit •Need a way to do Pipe → •ORF (output record filter) ! |< Fanout: one to many Fork → Exec over a large •default hashes 1 to many Number of machines ! >| Fanin: many to one •newline separated •Need a way of moving to ! Must be paired •IRF (Input Record Filter) records from byte streams •default merges buffers on newlines 6. Research Challenges + Future Work 7. Conclusions •Exascale Pipe → Fork → Exec •Systems level not language level •Graph optimization at XCPU3 •Easy to change record handling •Cloud Integration •Configurable degree of parallelism •Work-stealing •Cross Platform (Win32, Linux, OSX) •Not Batch, Interactive Job Distribution See Also: laptop → GPUtask → Celltask → BG/Ptask http://www.research.ibm.com/hare http://code.google.com/p/push/ References •Willem de Bruijn. Adaptive Operating System Design for High Throughput I/O. PhD thesis, Vrije Universiteit Amsterdam, 2010. XCPU3 •M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly. Dryad: distributed data-parallel programs from sequential building blocks. In Proceedings of the 2007 conference on EuroSys, pages 59–72. ACM Press New York, NY, USA, 2007. This work has been supported by the Department of Energy Of Office of Science See XCPU3 poster for more Operating and Runtime Systems For Extreme Scale Scientific Computation project under details on job distribution contract #DE-FG02-08ER25851