We introduce RATE TYPES, a novel type system to reason about and optimize data-intensive programs. Built around stream languages, RATE TYPES performs static quantitative reasoning about stream rates — the frequency of data items in a stream being consumed, processed, and produced. Despite the fact that streams are fundamentally dynamic, we find two essential concepts of stream rate control — throughput ratio and natural rate — are intimately related to the program structure itself and can be effectively reasoned about by a type system. RATE TYPES is proven to correspond with a time-aware and parallelism-aware operational semantics. The strong correspondence result tolerates arbitrary schedules, and does not require any synchronization between stream filters. We further implement RATE TYPES, demonstrating its effectiveness in predicting stream data rates in real-world stream programs.
Rate Types for Stream Programs (oopsla2014-bartenstein.pdf) | 5.85MiB |
Thu 23 Oct
10:30 - 10:52 Talk | Link to publication File Attached | |||||||||||||||||||||||||||||||||||||||||
10:52 - 11:15 Talk | Nada AminEPFL, Tiark RompfPurdue & Oracle Labs, Martin OderskyEcole Polytechnique Federale de Lausanne Link to publication File Attached | |||||||||||||||||||||||||||||||||||||||||
11:15 - 11:37 Talk | Esteban Allende, Johan FabryUniversity of Chile, Ronald GarciaUniversity of British Columbia, Éric TanterUniversity of Chile Link to publication | |||||||||||||||||||||||||||||||||||||||||
11:37 - 12:00 Talk | Link to publication File Attached |