Evaluating and Improving the Performance of the Arrowhead Framework

Industry 4.0 is currently understood in general terms as the 1cdigitization 1d of a business 19 infrastructure. Most industries recognize the greatest challenges posed by Industry 4.0 for the future, butonly a small portion of them feel prepared. However, due to Industry 4.0 19s promising benefits interms of economic growth, world governments are actively involved in projects attempting to improve industry digitization. Consequently, this dissertation analyzes a work-in-progress softwareframework for Industry 4.0: the Arrowhead Framework. This framework was the main result ofan European research project of the same name, and focuses on enabling interoperability betweendifferent industrial systems. However, the goal of this dissertation evolved throughout the courseof 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 Petrinets, the author was able to propose a performance model of the framework 19s intracloud andintercloud orchestration process. Through this model, it was possible to not only estimate the average response time for an orchestration request in both intraand inter-cloud versions, but alsoto estimate the probability distribution of the Petri net being in a specific response state. For theIntracloud process, there was a 25% difference between the estimation and the actual result. Asfor 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 howthese were handling HTTP requests. In fact, because the performance results were so poor for oneof the framework 19s systems (i.e., the Event Handler), it was decided to redesign it and change itsimplementation accordingly to improve its performance, by using appropriate software configurations and design patterns. The Event Handler (a message broker built over REST/HTTP), is aservice whose performance is very important in most Arrowhead deployments.Thus, by changing how the original Event Handler and its clients handled HTTP requests andthread creation, the enhanced version of the Event Handler is now able to achieve much higherlevels 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 hadan 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 reengineeringprocess served as a case study in order to explore some possible performance improvements forthe framework 19s 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. Byemploying a stochastic analysis on this Petri net, the goal was to then be able to predict the system 19s performance in order to guarantee the required quality of service. Regarding the model 19s estimations, there was a 5.16% difference between the average latency and the estimated latency. FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Evaluating and Improving the Performance of the Arrowhead Framework Rafael Teles da Rocha Mestrado em Engenharia de Software Supervisor: Pedro Souto Second Supervisor: Luís Lino Ferreira