Comparing Implementation Platforms for Real-Time Stream Processing Systems on Multi-Core Hardware

Oleg Danylenko, Welf Löwe, and Sara Rydström


Realtime systems, Parallel computing, Stream processing, Performance


Today there exist many programming models and platforms for implementing real-time stream processing systems. A decision in favor of the wrong technology might lead to increased development time and costs. It is, therefore, necessary to decide which alternatives further efforts should concentrate on and which may be forgotten. Such decisions cannot be based sole on analytical comparisons; the present experiment seeks to complement analytical with empirical results. More specifically, the paper discusses the results of comparing programmability and performance of one and the same real-world real-time stream processing system implemented using three different alternative implementation platforms: C++ as a general-purpose programming language, IBM InfoSphere Streams as a dedicated stream processing platform, and MatLab as the technical computing system preferred in the application domain. As a result: system implementation based on MatLab was easiest, the C++ based implementation outperformed the others in response time, while InfoSphere Streams led to the highest data throughput. Altogether, the results give a picture of advantages and disadvantages of each technology for our real-time stream processing system. More empirical studies ought to provide similar empirical knowledge to help decide which technology to use for solving particular stream processing problems.

Important Links:

Go Back