Virtualization is essential for efficient resource utilization in cloud and development environments. With the growing adoption of gRPC as a Remote Procedure Call (RPC) framework, evaluating its performance across different virtualization technologies has become crucial. This work benchmarks the performance of four gRPC call types: unary, client-streaming, server-streaming and bi-streaming, across four lightweight virtualization technologies. Docker, gVisor, Firecracker and nanos unikernel. The analysis examines CPU utilization, memory utilization and network capabilities to provide a comprehensive comparison. The results show that docker delivers the best performance across all metrics. Firecracker shows comparable latency performance to docker, but consumes higher memory. Nanos unikernel exhibits CPU utilization similar to that of docker, but has the highest latencies in all cases except unary gRPC call. gVisor exhibits the lowest CPU utilization under heavier workloads and also has the lowest latencies for client-streaming and server-streaming gRPC calls.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Benchmarking gRPC Protocol on Various Virtualization Technologies

  • Akshar Sodankoor,
  • Avanish Shenoy,
  • B Monish Moger,
  • Mohnish Gowda,
  • Prafullata Kiran Auradkar,
  • Subramaniam Kalambur

摘要

Virtualization is essential for efficient resource utilization in cloud and development environments. With the growing adoption of gRPC as a Remote Procedure Call (RPC) framework, evaluating its performance across different virtualization technologies has become crucial. This work benchmarks the performance of four gRPC call types: unary, client-streaming, server-streaming and bi-streaming, across four lightweight virtualization technologies. Docker, gVisor, Firecracker and nanos unikernel. The analysis examines CPU utilization, memory utilization and network capabilities to provide a comprehensive comparison. The results show that docker delivers the best performance across all metrics. Firecracker shows comparable latency performance to docker, but consumes higher memory. Nanos unikernel exhibits CPU utilization similar to that of docker, but has the highest latencies in all cases except unary gRPC call. gVisor exhibits the lowest CPU utilization under heavier workloads and also has the lowest latencies for client-streaming and server-streaming gRPC calls.