A parallel runtime framework for communication intensive stream applications

被引:0
|
作者
Muralidharan, Servesh [1 ]
Casey, Kevin [2 ]
Gregg, David [1 ]
机构
[1] Univ Dublin Trinity Coll, Lero, Dublin 2, Ireland
[2] Dublin City Univ, Lero & Sch Comp, Dublin 9, Ireland
关键词
Streaming model; data parallelism; clusters;
D O I
10.1109/TrustCom.2013.142
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Stream applications are often limited in their performance by their underlying communication system. A typical implementation relies on the operating system to handle the majority of network operations. In such cases, the communication stack, which was not designed to handle tremendous amounts of data, acts as a bottleneck and restricts the performance of the application. In this paper, we propose a parallel runtime framework that integrates the communication operations with stream applications, and provides a common parallel processing engine that can execute both the communication and computation operations in parallel on multicore processors. We place an emphasis on the low-level details required to implement such a framework, but also provide some guidelines on how an application programmer can employ the framework. Our runtime system uses a set of operations represented as filters to perform the relevant computations on the data stream. Filters that handle the application specific operations are categorized as computation filters and those that transform data to and from network devices are classified as communication filters. Computation filters are designed by the user and are specific to the application. Communication filters are provided by the runtime system and are built using system software that allows direct access to network hardware. Such system software allows the network operations to be performed by the runtime system in parallel, leading to better communication performance. Applications that are designed for this framework are built by constructing application specific computation filters and then connecting them to the communication filters provided by the runtime system. This abstracts the low-level programming of network adapters and protocols by the application developer, making it easier to build stream applications that take advantage of the improved communication performance. Moreover, by dynamically replicating and statically scheduling such filters on the given multicore architecture, it is possible for the runtime system to process multiple data streams in parallel. We are able to parallelize stream applications and achieve speedups of more than a factor of eight in all the applications we tested. The results show that our system scales to as many parallel processes as there are cores on our computer, and achieves speedups of more than a factor of ten in some cases compared to sequential implementations.
引用
收藏
页码:1179 / 1187
页数:9
相关论文
共 50 条
  • [1] Multithreaded runtime framework for parallel and adaptive applications
    Thomadakis, Polykarpos
    Tsolakis, Christos
    Chrisochoides, Nikos
    ENGINEERING WITH COMPUTERS, 2022, 38 (05) : 4675 - 4695
  • [2] Multithreaded runtime framework for parallel and adaptive applications
    Polykarpos Thomadakis
    Christos Tsolakis
    Nikos Chrisochoides
    Engineering with Computers, 2022, 38 : 4675 - 4695
  • [3] Compiler and runtime analysis for efficient communication in data intensive applications
    Ferreira, R
    Agrawal, G
    Saltz, J
    2001 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 2001, : 231 - 242
  • [4] Runtime Verification for Stream Processing Applications
    Colombo, Christian
    Pace, Gordon J.
    Camilleri, Luke
    Dimech, Claire
    Farrugia, Reuben
    Grech, Jean Paul
    Magro, Alessio
    Sammut, Andrew C.
    Adami, Kristian Zarb
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: DISCUSSION, DISSEMINATION, APPLICATIONS, ISOLA 2016, PT II, 2016, 9953 : 400 - 406
  • [5] A framework for characterizing overlap of communication and computation in parallel applications
    Aniruddha G. Shet
    P. Sadayappan
    David E. Bernholdt
    Jarek Nieplocha
    Vinod Tipparaju
    Cluster Computing, 2008, 11 : 75 - 90
  • [6] A framework for characterizing overlap of communication and computation in parallel applications
    Shet, Aniruddha G.
    Sadayappan, P.
    Bernholdt, David E.
    Nieplocha, Jarek
    Tipparaju, Vinod
    CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2008, 11 (01): : 75 - 90
  • [7] Parallel computing runtime for Microsoft .NET framework
    Chudinov, A
    Roganov, V
    C(NUMBER) AND .NET TECHNOLOGIES 2003, WORKSHOP PROCEEDINGS, 2003, : 3 - 7
  • [8] Improving the performance of communication-intensive parallel applications executing on clusters
    Qin, X
    Hang, H
    2004 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING, 2004, : 493 - 493
  • [9] IMPROVING SCHEDULING OF COMMUNICATION INTENSIVE PARALLEL APPLICATIONS ON HETEROGENEOUS COMPUTING ENVIRONMENTS
    Ishii, Renato P.
    De Mello, Rodrigo F.
    Senger, Luciano J.
    Santana, Marcos J.
    Santana, Regina H. C.
    Yang, Laurence Tianruo
    PARALLEL PROCESSING LETTERS, 2005, 15 (04) : 423 - 438
  • [10] Load information sharing policies in communication-intensive parallel applications
    Jimenez, Javier Bustos
    Caromel, Denis
    Leyton, Mario
    Piquer, Jose Miguel
    FROM GRIDS TO SERVICE AND PERVASIVE COMPUTING, 2008, : 111 - +