<p>Services that require low latency are increasing, and edge computing that processes workloads in servers located geographically close to the user is being researched. To offload workloads from user devices to edge servers with low latency, packets must be forwarded with low latency on a general-purpose server, and performance-oriented methods are widely used at the expense of higher power consumption, including a busy-polling method in receiving packets, such as the Data Plane Development Kit (DPDK). However, in today’s large-scale services with many servers, even a slight increase in power consumption on each server results in wasting tremendous power. In this paper, we design and implement a packet-processing system on a general-purpose server that can achieve power saving while maintaining low latency. To avoid wasting power caused by busy polling, a receiving thread in the proposed system can sleep when no packet arrives and be woken up without delays by a hardware interrupt context of packet incoming. In addition, to enhance the power-saving effect of sleep, we design and implement a CPU idle control method that enables CPU cores used by receiving threads to enter an appropriate C-state in accordance with traffic load. We evaluate the proposed system in an environment that simulates a virtualized Radio Access Network (vRAN) system, which has strict latency requirements of network processing on a general-purpose server. The evaluation results demonstrate that the proposed system can reduce power consumption compared with a busy-polling system and the average latency degradation was only a few microseconds.</p>

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

Sleep control of packet receiving thread toward power saving

  • Ko Natori,
  • Kei Fujimoto,
  • Akinori Shiraga

摘要

Services that require low latency are increasing, and edge computing that processes workloads in servers located geographically close to the user is being researched. To offload workloads from user devices to edge servers with low latency, packets must be forwarded with low latency on a general-purpose server, and performance-oriented methods are widely used at the expense of higher power consumption, including a busy-polling method in receiving packets, such as the Data Plane Development Kit (DPDK). However, in today’s large-scale services with many servers, even a slight increase in power consumption on each server results in wasting tremendous power. In this paper, we design and implement a packet-processing system on a general-purpose server that can achieve power saving while maintaining low latency. To avoid wasting power caused by busy polling, a receiving thread in the proposed system can sleep when no packet arrives and be woken up without delays by a hardware interrupt context of packet incoming. In addition, to enhance the power-saving effect of sleep, we design and implement a CPU idle control method that enables CPU cores used by receiving threads to enter an appropriate C-state in accordance with traffic load. We evaluate the proposed system in an environment that simulates a virtualized Radio Access Network (vRAN) system, which has strict latency requirements of network processing on a general-purpose server. The evaluation results demonstrate that the proposed system can reduce power consumption compared with a busy-polling system and the average latency degradation was only a few microseconds.