Minimizing Delay in Network Function Virtualization with Shared Pipelines

Ori Rottenstreich, Isaac Keslassy, Yoram Revah, Aviran Kadosh

Research output: Contribution to journalArticlepeer-review

21 Scopus citations

Abstract

Pipelines are widely used to increase throughput in multi-core chips by parallelizing packet processing while relying on virtualization. Typically, each packet type is served by a dedicated pipeline with several cores, each implementing a network service. However, with the increase in the number of packet types and their number of required services, there are not enough cores for pipelines. In this paper, we study pipeline sharing, such that a single pipeline can be used to serve several packet types. Pipeline sharing decreases the needed total number of cores, but typically increases pipeline lengths and therefore packet delays. We consider two novel optimization problems of allocating cores between different packet types such that the average or the worst-case delay is minimized. We study the two problems and suggest optimal algorithms that apply under different assumptions on the input. We also present greedy algorithms for the general case. Last, we examine our solutions on synthetic examples as well as on real-life applications and demonstrate that they often achieve close-to-optimal delays.

Original languageEnglish
Article number7457328
Pages (from-to)156-169
Number of pages12
JournalIEEE Transactions on Parallel and Distributed Systems
Volume28
Issue number1
DOIs
StatePublished - 1 Jan 2017

Keywords

  • Network function virtualization
  • multicore optimization
  • network processors

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'Minimizing Delay in Network Function Virtualization with Shared Pipelines'. Together they form a unique fingerprint.

Cite this