Suggestion: Integrate Fastsocket into the PVE kernel

gkovacs

Renowned Member
Dec 22, 2008
516
52
93
Budapest, Hungary
Fastsocket is a highly scalable socket and its underlying networking implementation of Linux kernel. With the straight linear scalability, Fastsocket can provide extremely good performance in multicore machines.
https://github.com/fastos/fastsocket

INTRODUCTION

Currently Fastsocket is implemented in the Linux kernel(kernel-2.6.32-431.17.1.el6) of CentOS-6.5. According to our evaluations, Fastsocket increases throughput of Nginx and Haproxy(measured by connections per second) by 290% and 620% on a 24-core machine, compared to the base CentOS-6.5 kernel.

Moreover, Fastsocket can further exploit more from the hardware:


  • With Fastsocket, Hyper-Threading can make an extra 20% performance increase.
  • With Fastsocket, NIC that support Flow-Director(like Intel 82599) can increase the throughput by 15% if the server works as a proxy(like Haproxy).

SUITABLE SCENARIOS

Generally, scenarios meeting the following conditions will benefit the most from Fastsocket:


  • The machine has no less than 8 CPU cores.
  • Large portion of the CPU cycles is spent in network softirq and socket related system calls.
  • Short TCP connections are heavily used.
  • Application uses non-blocking IO over epoll as the IO framework.
  • Application uses multiple processes to accept connections individually.