A multi-level monitoring framework for stream-based coordination programs
Nguyen, Vu Thien Nga
Stream-based Coordination is a promising approach to execute programs on parallel hardware such as multi-core systems. It allows to reuse sequential code at component level and to extend such code with concurrency-handling at the coordination level. In this paper we identify the monitoring information required to enable the calculation of performance metrics, automatic load balancing, and bottleneck detection. The monitoring information is obtained by implicitly instrumenting multiple levels: the runtime system and the operating system. We evaluate the monitoring overhead caused by different use cases on S-Net as it is a challenging monitoring benchmark with a flexible and fully asynchronous execution model, including dynamic mapping and scheduling policies. The evaluation shows that in most cases the monitoring causes a negligible overhead of less than five percent.