Digital Repository

Microwise : autonomic java virtual machine performance optimization framework for micro services

Show simple item record

dc.contributor.author S.R.B.N.S, Helmini,
dc.date.accessioned 2023-08-02T09:07:26Z
dc.date.available 2023-08-02T09:07:26Z
dc.date.issued 2020
dc.identifier.citation Helmini, S.R.B.N.S (2021) Microwise : autonomic java virtual machine performance optimization framework for micro services. BEng. Dissertation, Informatics Institute of Technology en_US
dc.identifier.issn 2016008
dc.identifier.uri http://dlib.iit.ac.lk/xmlui/handle/123456789/1583
dc.description.abstract Microservices is an architectural style that was largely inspired by service-oriented computing which was first formally introduced in 2011. It has since been widely adopted in the software development domain. From the different technologies utilized in building Microservices, JVM based Microservices make up the majority of the domain. Considering performance in Microservices, the latency introduced by inter-communication and latency introduced by in memory processing are considered as the two main factors that affect their performance. Among these two factors, this research focuses on mitigating performance issues stemming from in-memory processing in Microservices. In mitigating in-memory processing related performance issues, we focus on optimizing the performance of the immediate underlying layer of a JVM-based Microservice, which as the name suggests is the Java Virtual Machine (JVM). When it comes to the JVM, poor Garbage Collection (GC) is one of the main causes of its performance degradation. However, manual optimization of JVM parameters that affect GC is very time consuming and tedious due to the overwhelming number of parameter configurations that can be defined. Also, to perform this, an individual requires a good understanding of the parameters and their value bounds. Hence, we propose MicroWise, a framework employing a unique optimization pipeline in optimizing JVM parameters that affect GC with the end goal of optimizing the performance of a given Microservice. In the introduced framework we automate the complete process of running performance tests, identifying best performing GC algorithm for the Microservice, optimizing JVM parameters that affect the relevant GC algorithm and finally produce a JVM parameter configuration based on GC that can improve the performance of the Microservice. Our work is the first of its kind that provides an automated solution in obtaining JVM parameter configurations that affect GC tailored to optimize the performance of a given Microservice. Whereas other work mostly has contributed towards optimizing JVM parameters that affect its different components in optimizing various monolith applications. Using MicroWise we were able to achieve an impressive average performance improvement of 45% in a memory-bound use case, and a 26% and a 46% improvement in CPU bound and I/O bound use cases respectively. With our solution, we strive to make the JVM optimization process in Microservices more accessible, convenient, reliable and efficient. en_US
dc.language.iso en en_US
dc.publisher IIT en_US
dc.subject Performance, en_US
dc.subject Microservices, en_US
dc.subject Java Virtual Machine en_US
dc.title Microwise : autonomic java virtual machine performance optimization framework for micro services en_US
dc.type Thesis en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search


Advanced Search

Browse

My Account