Blow up the CPU Chains! OpenCL-assisted Network Protocols


ACM LCN 2018


Jens Heuschkel Rick Vogel Marcel Blöcher Max Mühlhäuser




In times of cloud services and IoT, network communication takes heavily part of distributed applications. The underlying network protocol processing causes substantial CPU utilization, although recent kernel-bypass frameworks or specialized server network cards reduce the burden for the CPU. Since hardware acceleration is expensive and still not very common, the leverage of available compute power is a logical step, that leads to GPGPU utilization. The new heterogeneous uniform memory access architecture unites CPU and GPU on one die and therefore features a shared memory excluding the overhead of PCI-E communication.
In this paper we present SocketCL, a user-space network protocol stack acceleration. In order to utilize the GPU we ported CPU based Ethernet, IPv4 and UDP network protocols to OpenCL 2.0 kernels leveraging the new hUMA architecture. Resulting from minimal copy processes and optimal utilization of a system's compute resources, SocketCL achieves substantial acceleration of individual network protocols.


 Author = {Jens Heuschkel and Rick Vogel and Marcel Blöcher and Max Mühlhäuser},
 Booktitle = {Proceedings of the 43rd Conference on Local Computer Networks {(LCN)}},
 Doi = {10.1109/LCN.2018.8638096},
 Location = {Chicago, IL, USA},
 Pages = {657--665},
 Publisher = {{IEEE}},
 Title = {Blow up the {CPU} Chains! OpenCL-assisted Network Protocols},
 Year = {2018}