2021 · 22 citations · 12 references
ComputingComputer ScienceComputer SystemsEmbedded SystemsInterconnection NetworksParallel ComputingCommunication OverheadInterprocess CommunicationLatency OptimizationMicroservices ArchitectureNetwork Performance AnalysisCommunication ProtocolsMicroservice Performance TuningMicroservices PerformanceNetworkingNetworking StackPerformance OverheadShared MemorySockets
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.
12
Performance Evaluation of Microservices Architectures Using Containers
Marcelo Amaral, Jordà Polo, David Carrera et al. · 2015 · 174 citations · Full text
NUMA (Non-Uniform Memory Access): An Overview
Christoph Lameter · Queue · 2013 · 173 citations · Full text
Scale-up vs scale-out for Hadoop
Raja Appuswamy, Christos Gkantsidis, Dushyanth Narayanan et al. · 2013 · 138 citations
Workload characterization for microservices
Takanori Ueda, Takuya Nakaike, Moriyoshi Ohara · 2016 · 134 citations