{"title":"Performance Characterization of Communication Protocols in Microservice Applications","authors":"Prajwal Kiran Kumar, Radhika Agarwal, Rahul Shivaprasad, D. Sitaram, Subramaniam Kalambur","doi":"10.1109/SmartNets50376.2021.9555425","DOIUrl":null,"url":null,"abstract":"Industrial applications are moving towards deployment using the microservice architecture. These microservices heavily rely on the networking stack for communication which, along with the container abstraction layer causes a significant overhead. With increasing core count on modern processors, these microservices are likely to be scheduled on the same host. In this paper, we attempt to analyze and optimize inter-microservice communication on the same host. We characterize three popular communication protocols - REST, gRPC, and Thrift, in terms of their network, memory, CPU utilization, and response time. Our studies showed that Thrift and gRPC are relatively faster than REST and hence, suitable for inter-microservice interactions owing to their speeds and compression. We leverage the shared memory between the microservices on the same host, using Unix Domain Sockets along with appropriate NUMA tuning that achieved an 86.48% reduction in response time.","PeriodicalId":443191,"journal":{"name":"2021 International Conference on Smart Applications, Communications and Networking (SmartNets)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 International Conference on Smart Applications, Communications and Networking (SmartNets)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SmartNets50376.2021.9555425","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
Abstract
Industrial applications are moving towards deployment using the microservice architecture. These microservices heavily rely on the networking stack for communication which, along with the container abstraction layer causes a significant overhead. With increasing core count on modern processors, these microservices are likely to be scheduled on the same host. In this paper, we attempt to analyze and optimize inter-microservice communication on the same host. We characterize three popular communication protocols - REST, gRPC, and Thrift, in terms of their network, memory, CPU utilization, and response time. Our studies showed that Thrift and gRPC are relatively faster than REST and hence, suitable for inter-microservice interactions owing to their speeds and compression. We leverage the shared memory between the microservices on the same host, using Unix Domain Sockets along with appropriate NUMA tuning that achieved an 86.48% reduction in response time.