Auto-parallelizing stateful distributed streaming applications

dc.citation.epage63en_US
dc.citation.spage53en_US
dc.contributor.authorSchneider, S.en_US
dc.contributor.authorHirzel, M.en_US
dc.contributor.authorGedik, Buğraen_US
dc.contributor.authorWu, K. -L.en_US
dc.coverage.spatialMinneapolis, Minnesota, USAen_US
dc.date.accessioned2016-02-08T12:12:41Z
dc.date.available2016-02-08T12:12:41Z
dc.date.issued2012en_US
dc.departmentDepartment of Computer Engineeringen_US
dc.descriptionDate of Conference: 19 - 23 September 2012en_US
dc.description.abstractStreaming applications transform possibly infinite streams of data and often have both high throughput and low latency requirements. They are comprised of operator graphs that produce and consume data tuples. The streaming programming model naturally exposes task and pipeline parallelism, enabling it to exploit parallel systems of all kinds, including large clusters. However, it does not naturally expose data parallelism, which must instead be extracted from streaming applications. This paper presents a compiler and runtime system that automatically extract data parallelism for distributed stream processing. Our approach guarantees safety, even in the presence of stateful, selective, and userdefined operators. When constructing parallel regions, the compiler ensures safety by considering an operator's selectivity, state, partitioning, and dependencies on other operators in the graph. The distributed runtime system ensures that tuples always exit parallel regions in the same order they would without data parallelism, using the most efficient strategy as identified by the compiler. Our experiments using 100 cores across 14 machines show linear scalability for standard parallel regions, and near linear scalability when tuples are shuffled across parallel regions. Copyright © 2012 by the Association for Computing Machinery, Inc. (ACM).en_US
dc.description.provenanceMade available in DSpace on 2016-02-08T12:12:41Z (GMT). No. of bitstreams: 1 bilkent-research-paper.pdf: 70227 bytes, checksum: 26e812c6f5156f83f0e77b261a471b5a (MD5) Previous issue date: 2012en
dc.identifier.doi10.1145/2370816.2370826en_US
dc.identifier.isbn978-1-4503-1182-3en_US
dc.identifier.issn1089-795Xen_US
dc.identifier.urihttp://hdl.handle.net/11693/28156en_US
dc.language.isoEnglishen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2370816.2370826en_US
dc.source.titlePACT '12 Proceedings of the 21st international conference on Parallel architectures and compilation techniquesen_US
dc.subjectAutomatic parallelizationen_US
dc.subjectDistributed stream processingen_US
dc.subjectAuto-parallelizingen_US
dc.subjectAutomatic Parallelizationen_US
dc.subjectData parallelismen_US
dc.subjectData tuplesen_US
dc.subjectDistributed streamingen_US
dc.subjectEfficient strategyen_US
dc.subjectHigh throughputen_US
dc.subjectLarge clustersen_US
dc.subjectLow latencyen_US
dc.subjectParallel systemen_US
dc.subjectProgramming modelsen_US
dc.subjectRuntime systemsen_US
dc.subjectStream processingen_US
dc.subjectStreaming applicationsen_US
dc.subjectDistributed parameter control systemsen_US
dc.subjectParallel architecturesen_US
dc.subjectProgram compilersen_US
dc.titleAuto-parallelizing stateful distributed streaming applicationsen_US
dc.typeConference Paperen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Auto-parallelizing stateful distributed streaming applications.pdf
Size:
1.38 MB
Format:
Adobe Portable Document Format
Description:
Full printable version