1 / 31

Rate Types for Stream Programs

Rate Types for Stream Programs. Thomas W. Bartenstein Yu David Liu State University of New York (SUNY) at Binghamton. OOPSLA 2014. Data Intensive Applications. On the rise High-performance requirement. Motivating Question.

chenoa
Download Presentation

Rate Types for Stream Programs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rate Types for Stream Programs Thomas W. Bartenstein Yu David Liu State University of New York (SUNY) at Binghamton OOPSLA 2014

  2. Data Intensive Applications • On the rise • High-performance requirement

  3. Motivating Question Can program structures help understand and optimize performance of data-intensive software?

  4. Performance Question 1 Is this data rate achievable and sustainable? ?

  5. Performance Question 2 Given an Input data rate, what will the output rate be? ?

  6. Performance Question 3 Given a desired output rate, what input rate is required? ?

  7. Performance Question 4 Given unlimited Input data, how fast can the output rate be? ?

  8. Rate Types A type system to reason about data rates in data intensive applications

  9. Motivating Question Can program structures help understand and optimize data rate in data-intensive software? Stream Programming

  10. Stream Programming Benefits • Friendliness to Big Data Applications • High Parallel EfficiencyTask Parallelism, Data Parallelism, and Pipelining • Programming Constructs Conducive to Data Oriented Analysis

  11. Rate Types A type system to reason about data rates of stream programs

  12. Stream Rate Insight Output Data rate depends on input data rate…

  13. Stream Rate Insight … until …

  14. Stream Rate Insight … input rate is faster than processing time; Output rate is proportional to processing time.

  15. Input / Output Rate Graph Where does it plateau? What’s the slope?

  16. Rate Types • Slope is the “throughput ratio” - • ratio between the output rate and input rate • Plateau is the “natural bound” - • output rate given unlimited input rate • Rate type is the tuple –

  17. Input / Output Rate Graph ν = 3 θ = 1

  18. Single Filter Type Check 3 2 filter time

  19. Stream Programming: Combinators chain diamond circle

  20. Chain Combination Type Check 2.5 PA PB 0.8 = 1.2

  21. Diamond Combination Type Check 5 3 2 2.5 PA PB 1 2 3

  22. Circle Combination Type Check 2.5 1 • Complicated because of feedback • Intuitively, inverted diamond • See paper for full details 1 2 PA PB 2 1 1

  23. Data Rate Reasoning as a Typing Problem ? ? • Type Checking: • Type Inference: • Principal Typing: ? ?

  24. Subtyping

  25. Static/Dynamic Correspondence • Operational Semantics : Expressive & General • Supports Parallelism • Supports Arbitrary Schedules • No assumptions about synchronizing clocks • Soundness: if the type system says rate x can be achieved, a reduction sequence exists • Completeness: if the type system says rate x cannot be achieved, no reduction sequence with rate x exists

  26. Rate Types Theoretical Results • Type inference is soundrelative to type checking • Type inference is completerelative to type checking • Principal typing exists

  27. Implementation • StreamIt base • Calculate principal rate types • Control Input rate • Measure Output rate • Run benchmarks • 4 Micro-benchmarks • 6 StreamIt benchmarks • 200 input data rates • Graph Expected vs. Measured

  28. Results : FFT benchmark

  29. Rate Types Generality • Potential Generalizations to Systems such as Aurora, Bamboo, StreamFlex,… • Limitations include… • Assumes declarative push and pop counts for filters • Assumes stable filter level profiling • Current/Future workincludes hybrid typing • handle dynamic fluctuations • improve adaptiveness

  30. Summary Can program structures help understand performance of data-intensive software? • Rate Types: Unified solution to performance reasoning questions!

  31. Thank You

More Related