ABSTRACT
A crucial problem that needs to be solved is the allocation of memory to processors in a pipeline. Ideally, the processor memories should be totally separate (i.e., one port memories) in order to minimize contention; however, this minimizes memory sharing. Idealized sharing occurs by using a single shared memory for all processors but this maximizes contention. Instead, in this paper we show that perfect memory sharing of shared memory can be achieved with a collection of *two*-port memories, as long as the number of processors is less than the number of memories. We show that the problem of allocation is NP-complete in general, but has a fast approximation algorithm that comes within a factor of 3/2. The proof utilizes a new bin packing model, which is interesting in its own right. Further, for important special cases that arise in practice the approximation algorithm is indeed optimal. We also describe an incremental memory allocation algorithm that provides good memory utilization while allowing fast updates.
- A. Basu and G. Narlikar, Fast Incremental Updates for Pipeline Forwarding Engines, InfoCom 2003.Google Scholar
- C. Berge, Graphs and Hypergraphs, North-Holland, Amsterdam, 1976. Google ScholarDigital Library
- Guy E. Blelloch Phillip B. Gibbons Yossi Matias Accounting for Memory Bank Contention and Delay in High-Bandwidth Multiprocessors, IEEE Transactions on Parallel and Distributed Systems, volume 8, 1997. Google ScholarDigital Library
- D. Culler, J, Singh, and A. Gupta. Parallel Computer Architecture, A Hardware/Software Approach, Morgan Kaufman, 1999. Google ScholarDigital Library
- M. Degermark, A. Brodnik, S. Carlsson, and Stephen Pink, Small forwarding tables for fast routing lookups, Proc. SIGCOMM, (1997), 3--14. Google ScholarDigital Library
- M. R. Garey and D. S. Johnson, Computer and Intractability, A Guide to the Theory of NP-completeness, W. H. Freeman and Co., San Francisco, 1979. Google ScholarDigital Library
- M. R. Garey and D. S. Johnson, Complexity results for multiprocessor scheduling under resource constraints, SIAM J. Comput., (1975), 397--411.Google ScholarCross Ref
- A. Ranade, How to emulate shared memory. Journal of Computer and System Sciences, 42:307--326, 1991. Google ScholarDigital Library
- B. Rau, Pseudo-randomly interleaved memory. In Proceedings Int. Symp. on Computer Architecture, 1991. Google ScholarDigital Library
- T.V. Lakshman and D. Staliadis, High Speed Policy-based Packet Forwarding Using Efficient Multi-dimensional Range Matching, Proc. ACM SIGCOMM '98, 1998. Google ScholarDigital Library
- M. Ruiz-Sanchez, E. Biersack, and W. Dabbous, Survey and Taxonomy of IP Address Lookup Algorithms, IEEE Network, March/April 2001. Google ScholarDigital Library
- S. Sikka and G. Varghese, Memory Efficient State Lookups with Fast Updates, in Proceedings of SIGCOMM 2000, August 2000. Google ScholarDigital Library
- L. Valiant, A bridging model for parallel computation. Communications of the ACM, 33(8), 1990. Google ScholarDigital Library
Index Terms
- Parallelism versus memory allocation in pipelined router forwarding engines
Recommendations
Parallelism versus Memory Allocation in Pipelined Router Forwarding Engines
A crucial problem that needs to be solved is the allocation of memory to processors in a pipeline. Ideally, the processor memories should be totally separate (i.e., one-port memories) in order to minimize contention; however, this minimizes memory ...
Recursive function data allocation to scratch-pad memory
CASES '07: Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systemsThis paper presents the first automatic scheme to allocate local (stack) data in recursive functions to scratch-pad memory (SPM) in embedded systems. A scratch-pad is a fast directly addressed compiler-managed SRAM memory that replaces the hardware-...
Energy-aware memory allocation in heterogeneous non-volatile memory systems
ISLPED '03: Proceedings of the 2003 international symposium on Low power electronics and designMemory systems consume a significant portion of power in hand-held embedded systems. So far, low-power memory techniques have addressed the power consumption when the system is turned on. In this paper, we consider data retention energy during the power-...
Comments