? CHAUS:Scalable VM-Based Channels for Unbounded Streaming
Journal of Computer Science and Technology
Quick Search in JCST
 Advanced Search 
      Home | PrePrint | SiteMap | Contact Us | FAQ
 
Indexed by   SCIE, EI ...
Bimonthly    Since 1986
Journal of Computer Science and Technology 2017, Vol. 32 Issue (6) :1288-1304    DOI: 10.1007/s11390-017-1801-4
Regular Paper Current Issue | Archive | Adv Search << Previous Articles | Next Articles >>
CHAUS:Scalable VM-Based Channels for Unbounded Streaming
Yu Zhang, Senior Member, CCF, Member, ACM, IEEE, Yu-Fen Yu, Hui-Fang Cao, Jian-Kang Chen, Qi-Liang Zhang
School of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China

Abstract
Reference
Related Articles
Download: [PDF 834KB]     Export: BibTeX or EndNote (RIS)  
Abstract Stream processing is a special form of the dataflow execution model that offers extensive opportunities for optimization and automatic parallelism. A streaming application is represented by a graph of computation stages that communicate with each other via FIFO channels. In shared-memory environment, an FIFO channel is classically a common, fixed-size synchronized buffer shared between the producer and the consumer. As the number of concurrent stage workers increases, the synchronization overheads, such as contention and waiting times, rise sharply and severely impair application performance. In this paper, we present a novel multithreaded model which isolates memory between threads by default and provides a higher level abstraction for scalable unicast or multicast communication between threads-CHAUS (Channel for Unbounded Streaming). The CHAUS model hides the underlying synchronization details, but requires the user to declare producer-consumer relationship of a channel in advance. It is the duty of the runtime system to ensure reliable data transmission at data item granularity as declared. To achieve unbounded buffer for streaming and reduce the synchronization overheads, we propose a virtual memory based solution to implement a scalable CHAUS channel. We check the programmability of CHAUS by successfully porting dedup and ferret from PARSEC as well as implementing MapReduce library with Phoenix-like API. The experimental results show that workloads built with CHAUS run faster than those with Pthreads, and CHAUS has the best scalability compared with two Pthread versions. There are three workloads whose CHAUS versions only spend no more than 0.17x runtime of Pthreads on both 16 and 32 cores.
Articles by authors
Keywordsstreaming   thread model   pipeline parallelism   unbounded channel   virtual memory     
Received 2016-09-11;
Fund:

This work was supported by the National Key Research and Development Program of China under Grant No. 2016YFB1000403.

Corresponding Authors: 10.1007/s11390-017-1801-4   
About author: Yu Zhang is an associate professor in School of Computer Science and Technology,University of Science and Technology of China (USTC),Hefei.She received her Ph.D.degree in computer software and theory from USTC,Hefei,in 2005.Her research interests are software security,the construction and evaluation of efficient parallel systems.
Cite this article:   
Yu Zhang, Yu-Fen Yu, Hui-Fang Cao, Jian-Kang Chen, Qi-Liang Zhang.CHAUS:Scalable VM-Based Channels for Unbounded Streaming[J]  Journal of Computer Science and Technology, 2017,V32(6): 1288-1304
URL:  
http://jcst.ict.ac.cn:8080/jcst/EN/10.1007/s11390-017-1801-4
Copyright 2010 by Journal of Computer Science and Technology