A Buffer Space Optimal Solution for Re-establishing the Packet Order in a MPSoC Network Processor
We consider a multi-processor system-on-chip destined for streaming applications. An application is composed of one input and one output queue and in-between, several levels of identical tasks. Data arriving at the input are treated in parallel in an arbitrary order, but have to leave the system in the order of arrival. This scenario is particularly important in the context of telecommunication applications, where the duration of treatment depends on the packets’ contents. We present an algorithm which re-establishes the packet order: packets are dropped if their earliness or lateness exceeds a limit previously fixed by experimentation; otherwise, they are stored in a buffer on the output side. Write operations to this buffer are random access, whereas read operations are in FIFO order. Our algorithm guarantees that no data is removed from the queue before it has been read. For a given throughput, we guarantee a minimum buffer size. We implemented our algorithm within the output coprocessor in the form of communicating finite state machines and validated it on a multi-processor telecommunication platform.
KeywordsTransmission Control Protocol Output Side Streaming Application Throughput Requirement FIFO Queue
Unable to display preview. Download preview PDF.
- 1.Comer, D.: Network System Design using Network Processors. Prentice Hall, Englewood Cliffs (2003)Google Scholar
- 2.Postel, J.B., Garlick, L.L., Rom, R.: Transmission Control Protocol Specification. Technical report, Stanford Research Institution, Menlo Park (1976)Google Scholar
- 7.Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J.L. (ed.) Information Processing 1974: Proceedings of the IFIP Congress, pp. 471–475. North-Holland, New York (1974)Google Scholar
- 8.Faure, E., Greiner, A., Genius, D.: A generic hardware/software communication mechanism for Multi-Processor System on Chip, targeting telecommunication applications. In: Proceedings of the ReCoSoC workshop, Montpellier, France (2006)Google Scholar
- 9.Genius, D., Faure, E., Pouillon, N.: Deploying a telecommunication application on a multiprocessor system-on-chip. In: Workshop on Design and Architectures for Signal and Image Processing, Grenoble, France (2007)Google Scholar
- 12.Chen, B., Morris, R.: Flexible control of parallelism in a multiprocessor PC router. In: USENIX Annual Technical Conference, Berkeley, CA, pp. 333–346 (2001)Google Scholar
- 13.Iyer, S., McKeown, N.: Making parallel packet switches practical. In: Proceedings of IEEE INFOCOM 2001, pp. 1680–1687. IEEE, Los Alamitos (2001)Google Scholar
- 14.Banka, T., Bare, A.A., Jayasumana, A.P.: Metrics for degree of reordering in packet sequences. In: LCN, pp. 333–342. IEEE Computer Society, Los Alamitos (2002)Google Scholar
- 15.SoCLib Consortium: The SoCLib project: An integrated system-on-chip modelling and simulation platform. Technical report, CNRS (2003), http://www.soclib.fr
- 16.VSI Alliance: Virtual Component Interface Standard (OCB 2 2.0). Technical report, VSI Alliance (2001)Google Scholar