Abstract

Pipelines are widely used to increase throughput in multi-core chips by parallelizing packet processing. Typically, each packet type is serviced by a dedicated pipeline. 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 the optimization problem of allocating cores between different packet types such that the average delay is minimized. We suggest a polynomial-time algorithm that finds the optimal solution when the packet types preserve a specific property. We also present a greedy algorithm for the general case. Last, we examine our solutions on synthetic examples, on packet-processing applications, and on real-life H.264 standard requirements.


Original document

The different versions of the original document can be found in:

http://webee.technion.ac.il/~isaac/p/hoti13_pipelines.pdf,
https://ieeexplore.ieee.org/document/6627730,
https://dl.acm.org/citation.cfm?id=2548004,
https://dblp.uni-trier.de/db/conf/hoti/hoti2013.html#RottenstreichKRK13,
https://academic.microsoft.com/#/detail/2061455460
http://dx.doi.org/10.1109/hoti.2013.10
Back to Top

Document information

Published on 31/12/12
Accepted on 31/12/12
Submitted on 31/12/12

Volume 2013, 2013
DOI: 10.1109/hoti.2013.10
Licence: CC BY-NC-SA license

Document Score

0

Views 1
Recommendations 0

Share this document

claim authorship

Are you one of the authors of this document?