Minimizing Delay in Shared Pipelines

Ori Rottenstreich, Isaac Keslassy, Yoram Revah, Aviran Kadosh
2013 2013 IEEE 21st Annual Symposium on High-Performance Interconnects  
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
more » ... eases 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.
doi:10.1109/hoti.2013.10 dblp:conf/hoti/RottenstreichKRK13 fatcat:qlaiwy3zsvbbtpn7epfomqvmpe