Computer Science - Research and Development

, Volume 23, Issue 3, pp 133–142

ProOnE: a general-purpose protocol onload engine for multi- and many-core architectures


    • Department of Computer Science and EngineeringOhio State University
  • P. Balaji
    • Mathematics and Computer Science DivisionArgonne National Laboratory
  • R. Thakur
    • Mathematics and Computer Science DivisionArgonne National Laboratory
  • D. K. Panda
    • Department of Computer Science and EngineeringOhio State University
Special Issue Paper

DOI: 10.1007/s00450-009-0090-8

Cite this article as:
Lai, P., Balaji, P., Thakur, R. et al. Comp. Sci. Res. Dev. (2009) 23: 133. doi:10.1007/s00450-009-0090-8


Modern high-end computing systems utilize specialized offload engines to enhance various aspects of their processing. For example, high-speed networks such as InfiniBand, Quadrics and Myrinet utilize specialized hardware to offload network processing to help improve performance. However, such hardware units are expensive, and their manufacturing complexity increases exponentially depending on the number and complexity of tasks they offload. On the other hand, the proliferation of multi- and many-core processors into the general desktop and laptop markets is increasingly driving their cost down due to the economies of scale. To take advantage of the obvious benefits of multi/many-core architectures, we propose, design and evaluate ProOnE, a general purpose Protocol Onload Engine. ProOnE utilizes a small subset of the available cores on a multi-core CPU to ‘‘onload’’ various tasks in a dedicated manner instead of ‘‘offloading’’ them to specialized hardware. The general purpose processing capabilities of multi-core architectures allow ProOnE to be designed in a flexible, extensible and scalable manner, while benefiting from the reducing costs of general-purpose CPUs. In this paper, we onload onto ProOnE, several tasks relevant to communication sub-systems such as MPI that are too complex for current hardware offload engines to support, and demonstrate significant benefits in terms of overlap of computation and communication and improved application performance.


Protocol offload/onload Many-core Multi-core

Copyright information

© Springer-Verlag 2009