• DocumentCode
    652268
  • Title

    A Parallel Runtime Framework for Communication Intensive Stream Applications

  • Author

    Muralidharan, Sriram ; Casey, Kevin ; Gregg, David

  • Author_Institution
    Lero & Sch. of Comput. Sci. & Stat., Trinity Coll. Dublin, Dublin, Ireland
  • fYear
    2013
  • fDate
    16-18 July 2013
  • Firstpage
    1179
  • Lastpage
    1187
  • Abstract
    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 - uch 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.
  • Keywords
    information filters; local area networks; multiprocessing systems; operating systems (computers); parallel processing; Ethernet; application developer; application programmer; application specific computation filters; communication filters; communication intensive stream applications; communication stack; communication system; data stream; low-level details; low-level programming; multicore architecture; multicore processors; multiple data stream processing; network adapters; network devices; network hardware; operating system; parallel processing engine; parallel runtime framework; protocols; runtime system; system software; Computational modeling; Engines; Hardware; Multicore processing; Parallel processing; Runtime; Streaming media; Streaming model; clusters; data parallelism;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Trust, Security and Privacy in Computing and Communications (TrustCom), 2013 12th IEEE International Conference on
  • Conference_Location
    Melbourne, VIC
  • Type

    conf

  • DOI
    10.1109/TrustCom.2013.142
  • Filename
    6680963