StreamPI: a stream-parallel programming extension for object-oriented programming languages

Hong, Jingun; Hong, Kirak; Burgstaller, Bernd; Blieberger, Johann
July 2012
Journal of Supercomputing;Jul2012, Vol. 61 Issue 1, p118
Academic Journal
Because multicore CPUs have become the standard with all major hardware manufacturers, it becomes increasingly important for programming languages to provide programming abstractions that can be mapped effectively onto parallel architectures. Stream processing is a programming paradigm where computations are expressed as independent actors that communicate via FIFO data-channels. The coarse-grained parallelism exposed in stream programs facilitates such an efficient mapping of actors onto the underlying multicore hardware. We propose a stream-parallel programming abstraction that extends object-oriented languages with stream-programming facilities. StreamPI consists of a class hierarchy for actor-specification together with a language-independent runtime system that supports the execution of stream programs on multicore architectures. We show that the language-specific part of StreamPI, i.e., the class hierarchy, can be implemented as a library-level programming language extension. A library-level extension has the advantage that an existing programming language implementation need not be touched. Legacy-code can be mixed with a stream-parallel application, and the use of sequential legacy code with actors is supported. Unlike previous approaches, StreamPI allows dynamic creation and subsequent execution of stream programs. StreamPI actors are typed. Type-safety is achieved through type-checks at stream graph creation time. We have implemented StreamPI's language-independent runtime system and language interfaces for Ada 2005 and C++ for Intel multicore architectures. We have evaluated StreamPI for up to 16 cores on a two CPU 8-core Intel Xeon X7560 server, and we provide a performance comparison with StreamIt (Gordon et al. in International Conference on Architectural Support for Programming Languages and Operating Systems, ), which is the de facto standard for stream-parallel programming. Although our approach provides greater programming flexibility than StreamIt, the performance of StreamPI compares favorably to the static compilation model of StreamIt.


Related Articles

  • Levels separation and merging in the OSI reference model for information-telecommunication systems. Ilchenko, M. E.; Moshinskaya, A. V.; Urywsky, L. A. // Cybernetics & Systems Analysis;Jul2011, Vol. 47 Issue 4, p598 

    The need to develop scientific methods for the quantitative analysis of the performance of information-telecommunication systems is substantiated under conditions of a formed multilevel hierarchy of transport protocols. Ways of constructing models in which the description of user's information...

  • Asynchronous Stream Processing with S-Net. Grelck, Clemens; Scholz, Sven-Bodo; Shafarenko, Alex // International Journal of Parallel Programming;Feb2010, Vol. 38 Issue 1, p38 

    We present the rationale and design of S-N et, a coordination language for asynchronous stream processing. The language achieves a near-complete separation between the application code, written in any conventional programming language, and the coordination/communication code written in S-N et....


    A new idea of intelligent call admission control mechanism embedded into a priority closed computer network is proposed. Here. the investigated closed network was reduced to two service centers. Such reduction allows for decomposition of a bigger network into a chain of individual queues, where...

  • Design and Development of a UDP-Based Connection-Oriented Multi-Stream One-to-Many Communication Protocol. Stanciu, Valentin; Andreica, Mugurel Ionuţ; Olaru, Vlad; Ţăpuş, Nicolae // Journal of Telecommunications & Information Technology;2012, Vol. 2012 Issue 1, p3 

    A communication protocol is a set of rules defined formally that describes the format of digital messages and the rules for exchanging those messages in or between computing systems. The Internet Protocol Suite used for communications throughout the Internet uses encapsulation to provide a way...

  • CPU load shedding for binary stream joins. Gedik, Bugra; Kun-Lung Wu; Yu, Philip S.; Ling Liu // Knowledge & Information Systems;Nov2007, Vol. 13 Issue 3, p271 

    We present an adaptive load shedding approach for windowed stream joins. In contrast to the conventional approach of dropping tuples from the input streams, we explore the concept of selective processing for load shedding. We allow stream tuples to be stored in the windows and shed excessive CPU...

  • Designing a digital-signal-processing extension for multipurpose microprocessors. Lesnykh, A. A.; Shirokov, I. A. // Journal of Mathematical Sciences;Aug2008, Vol. 152 Issue 2, p247 

    The digital-signal-processing extension for the K 64-SMP multipurpose 64-bit processor designed by the Institute for Systems Research of the Russian Academy of Sciences is discussed. The proposed extension increases the processor efficiency for signal processing by a factor of 3. We also discuss...

  • Harnessing the strengths of anytime algorithms for constant data streams. Kranen, Philipp; Seidl, Thomas // Data Mining & Knowledge Discovery;Oct2009, Vol. 19 Issue 2, p245 

    Anytime algorithms have been proposed for many different applications, e.g., in data mining. Their strengths are the ability to first provide a result after a very short initialization and second to improve their result with additional time. Therefore, anytime algorithms have so far been used...

  • EVALUATION CRITERIA OF NETWORKS PROTECTION LEVEL TAKING INTO ACCOUNT ITS ARCHITECTURE. Yakymenko, Igor Z. // Informatics & Mathematical Methods in Simulation;2013, Vol. 3 Issue 1, p82 

    This paper focuses on problems of evaluation of the networks protection level taking into account the emergence coefficient. Criterion that allowed to set optimally correspondence between network emergency and protection level was first developed. According to the proposed approach, it is...

  • Media Servers. Careless, James // Streaming Media;Feb/Mar2012, Vol. 9 Issue 1, p126 

    The article provides information on streaming media servers to deliver individual content streams to the growing number of viewers online. A large number of devices including web-enabled televisions, computers, tablets and smartphones are supported by these servers. Each server package requires...


Read the Article


Sorry, but this item is not currently available from your library.

Try another library?
Sign out of this library

Other Topics