Ehmke, Nils Christian (2013) Development of a Concurrent and Distributed Analysis Framework for Kieker (Master thesis), Kiel University, Kiel, Germany, 96 pp
thesis.pdf - Published Version
Download (2848Kb) | Preview
Kieker designates both a framework and a collection of tools to dynamically monitor and analyse software systems. One part of this framework enables to use a selection of interception technologies to collect various types of monitoring data. Another part of Kieker provides the possibility to perform analyses on said monitoring logs. This analysis part, which is the main focus of this thesis, consists of a flexible pipes and filters architecture. Analyses can be assembled using a range of existing filters or self-developed components. However, Kieker analyses usually run only on a single computer core. An explicit support for concurrency or distribution is not available.
In this thesis, we study an approach to extend the framework in order to support concurrent and distributed analyses. These modifications enable us to take advantage of additional memory or computational power in other systems or cores. Our main motivation for these modifications is enabling online trace analyses. With online trace analyses we designate the possibility to observe executions of running applications. Such analyses can help to understand the dynamic behaviour of complex software systems. Especially when combined with user queries, online trace analyses can be an important tool for maintenance tasks. It should be noted, though, that they can be very computationally expensive and memory consuming. Particularly enabling user queries is very likely to result in real-time requirements.
As a foundation, we present various performance metrics for an evaluation and give a short introduction to the architecture of Kieker. For the concurrent part of the framework we extend the existing filters with additional unbounded buffers. Instead of passing data to successors, filters write into these buffers without being blocked. This achieves a loose temporal linkage of the components. This means that it is not necessary for filters to wait for each other. For the distributed part we aggregate filters into analysis nodes. Nodes can be configured in order to run in a distributed way. The message broker Apache ActiveMQ takes over as a Message Oriented Middleware (MOM) to deliver messages between those nodes.
In order to compare the framework modifications with the old framework, we conduct a comprehensive evaluation. We perform various experiments on blade servers. Our main focus lies on performance and memory consumption during the experiments. The results indicate a very high communication overhead. Only little or no speedup for common analyses can be achieved using the concurrent framework. Due to the usage of a centralized MOM, the distributed framework is too slow for practical use in the Kieker environment. However, both frameworks could be used to speedup some computationally very intensive analyses which rely on only very few records.
|Document Type:||Thesis (Master thesis)|
|Thesis Advisors:||Hasselbring, Wilhelm and Waller, Jan|
|Research affiliation:||Kiel University > Faculty of Engineering > Department of Computer Science > Software Engineering|
|Date Deposited:||30 May 2013 13:47|
|Last Modified:||04 Dec 2013 11:52|
Actions (login required)