Evaluating and Improving the Performance of the Arrowhead Framework
Ref: CISTER-TR-190709 Publication Date: 15, Jul, 2019
Evaluating and Improving the Performance of the Arrowhead FrameworkRef: CISTER-TR-190709 Publication Date: 15, Jul, 2019
Industry 4.0 is currently understood in general terms as the “digitization” of a business’ infrastructure. Most industries recognize the greatest challenges posed by Industry 4.0 for the future, but only a small portion of them feel prepared. However, due to Industry 4.0’s promising benefits in terms of economic growth, world governments are actively involved in projects attempting to improve industry digitization. Consequently, this dissertation analyzes a work-in-progress software framework for Industry 4.0: the Arrowhead Framework. This framework was the main result of an European research project of the same name, and focuses on enabling interoperability between different industrial systems. However, the goal of this dissertation evolved throughout the course of the work. At first, the objective was to evaluate and model the performance of the Arrowhead Framework, by testing its main use cases in certain stress scenarios. Indeed, by using stochastic Petri nets, the author was able to propose a performance model of the framework’s intracloud and intercloud orchestration process. Through this model, it was possible to not only estimate the average response time for an orchestration request in both intra- and inter-cloud versions, but also to estimate the probability distribution of the Petri net being in a specific response state. For the Intracloud process, there was a 25% difference between the estimation and the actual result. As for the Intercloud process, there was a 37% difference. Through this performance analysis, the author was also able to identify that the framework, and by extension its systems, had some potential performance setbacks, mostly related to how these were handling HTTP requests. In fact, because the performance results were so poor for one of the framework’s systems (i.e., the Event Handler), it was decided to redesign it and change its implementation accordingly to improve its performance, by using appropriate software configurations and design patterns. The Event Handler (a message broker built over REST/HTTP), is a service whose performance is very important in most Arrowhead deployments. Thus, by changing how the original Event Handler and its clients handled HTTP requests and thread creation, the enhanced version of the Event Handler is now able to achieve much higher levels of performance, evolving from an average latency of 666.3 ms to 8.95 ms. Actually, considering the average latency of both versions for the same test scenario, the Event Handler had an overall performance boost of over 98%. Similar modifications can be applied to other components of the Arrowhead Framework to improve their performance. As such, this reengineering process served as a case study in order to explore some possible performance improvements for the framework’s other systems in the future. Moreover, the author also proposed a Petri net model for the Event Handler in order to depict the performance impact of different thread pool configurations and CPU core availability. By employing a stochastic analysis on this Petri net, the goal was to then be able to predict the system’s performance in order to guarantee the required quality of service. Regarding the model’s estimations, there was a 5.16% difference between the average latency and the estimated latency.
Master Thesis, FEUP.
Notes: Presidente do Júri: Nuno Flores (FEUP) Arguentes: Ricardo Severino (CISTER/ISEP) e Pedro Souto (CISTER/FEUP)