Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Spinach: a liberty-based simulator for programmable network interface architectures

Published: 11 June 2004 Publication History

Abstract

This paper presents Spinach, a new simulator toolset specifically designed to target programmable network interface architectures. Spinach models both system components that are common to all programmable environments (e.g., ALUs, control and data paths, registers, instruction processing) and components that are specific to the embedded systems and network interface environments (e.g., software-controlled scratchpad memory, hardware assists for DMA and medium access control).Spinach is built on the Liberty Simulation Environment (LSE) and exploits LSE's modularity to support easy reconfiguration of programmable network interface cards (NICs) and embedded systems, enabling wide design space exploration with little or no code variation. For example, the same underlying C code is used whether supporting a uniprocessor Gigabit network interface, a multiprocessor Gigabit interface, or a multiprocessor 10 Gigabit interface with a highly heterogeneous memory system. The only difference is in a small number of lines of high-level scripting code used to configure the various modules into a simulation model.Spinach is validated by modeling the Tigon-2 programmable Ethernet controller by Alteon Websystems running actual Ethernet processing firmware and by comparing the reported results to actual hardware benchmarks. Spinach is then used to obtain new insights about the performance of Gigabit and 10 Gigabit network interfaces.

References

[1]
Alteon Networks. Tigon/PCI Ethernet Controller, August 1997. Revision 1.04.
[2]
Alteon WebSystems. Gigabit Ethernet/PCI Network Interface Card: Host/NIC Software Interface Definition, July 1999. Revision 12.4.13.
[3]
P. Crowley, M. Fiuczynski, J.-L. Baer, and B. Bershad. Characterizing Processor Architectures for Programmable Network Interfaces. In Proceedings of the 14th International Conference on Supercomputing, pages 54--65, May 2000.
[4]
M. Heinrich, J. Kuskin, D. Ofelt, J. Heinlein, J. Baxter, J. P. Singh, R. Simoni, K. Gharachorloo, D. Nakahira, M. Horowitz, A. Gupta, M. Rosenblum, and J. Hennessy. The Performance Impact of Flexibility in the Stanford FLASH Multiprocessor. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 274--285, October 1994.
[5]
Y. Hoskote, B. A. Bloechel, G. E. Dermer, V. Erraguntla, D. Finan, J. Howard, D. Klowden, S. G. Narendra, G. Ruhl, J. W. Tschanz, S. Vangal, V. Veeramachaneni, H. Wilson, J. Xu, and N. Borkar. A TCP Offload Accelerator for 10 Gb/s Ethernet in 90-nm CMOS. IEEE Journal of Solid-State Circuits, 38(11):1866--1875, November 2003.
[6]
H. Kim, V. S. Pai, and S. Rixner. Improving Web Server Throughput with Network Interface Data Caching. In Proceedings of the Tenth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 239--250, October 2002.
[7]
H. Kim, V. S. Pai, and S. Rixner. Exploiting Task-Level Concurrency in a Programmable Network Interface. In Proceedings of the 2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, June 2003.
[8]
K. Kleinpaste, P. Steenkiste, and B. Zill. Software Support for Outboard Buffering and Checksumming. In Proceedings of the ACM SIGCOMM '95 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 87--98, August 1995.
[9]
E. J. Koldinger, S. J. Eggers, and H. M. Levy. On the Validity of Trace-Drive Simulation for Multiprocessors. In Proceedings of the 18th Annual International Symposium on Computer Architecture, pages 244--253, May 1991.
[10]
D. Kranz, K. Johnson, A. Agarwal, J. Kubiatowicz, and B.-H. Lim. Integrating message-passing and shared-memory: Early experience. In Proceedings of the 4th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 54--63, May 1993.
[11]
Y. Li and J. Henkel. A Framework for Estimating and Minimizing Energy Dissipation of Embedded HW/SW Systems. In Proceedings of the 35th Conference on Design Automation (DAC 1998), pages 188--193, June 1998.
[12]
Y.-D. Lin, Y.-N. Lin, S.-C. Yang, and Y.-S. Lin. DiffServ over Network Processors: Implementation and Evaluation. In Hot Interconnects X, August 2002.
[13]
K. Z. Meth and J. Satran. Design of the iSCSI Protocol. In Proceedings of the 20th IEEE Conference on Mass Storage Systems and Technologies, April 2003.
[14]
S. S. Mukherjee, B. Falsafi, M. D. Hill, and D. A. Wood. Coherent Network Interfaces for Fine-Grain Communication. In Proceedings of the 23rd Annual International Symposium on Computer Architecture, pages 247--258, May 1996.
[15]
P. Shivam, P. Wyckoff, and D. Panda. EMP: Zero-copy OS-bypass NIC-driven Gigabit Ethernet Message Passing. In Proceedings of the 2001 ACM/IEEE Conference on Supercomputing (SC2001), November 2001.
[16]
T. Spalink, S. Karlin, L. Peterson, and Y. Gottlieb. Building a Robust Software-Based Router Using Network Processors. In Proceedings of the 18th ACM Symposium on Operating Systems Principles, pages 216--229, October 2001.
[17]
T. ŠimuniĆ, L. Benini, and G. De Micheli. Cycle-Accurate Simulation of Energy Consumption in Embedded Systems. In Proceedings of the 36th Conference on Design Automation (DAC 1999), pages 867--872, June 1999.
[18]
M. Vachharajani, N. Vachharajani, D. A. Penry, J. A. Blome, and D. I. August. Microarchitectural exploration with Liberty. In Proceedings of the 35th Annual International Symposium on Microarchitecture, pages 271--282, November 2002.
[19]
H.-S. Wang, X. Zhu, L.-S. Peh, and S. Malik. Orion: a power-performance simulator for interconnection networks. In Proceedings of the 35th Annual International Symposium on Microarchitecture, pages 294--305, November 2002.
[20]
Z. A. Ye, A. Moshovos, S. Hauck, and P. Banerjee. Chimaera: A high--performance architecture with a tightly--coupled reconfigurable functional unit. In Proceedings of the 27th Annual International Symposium on Computer Architecture, pages 225--235, June 2000.

Index Terms

  1. Spinach: a liberty-based simulator for programmable network interface architectures

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 39, Issue 7
      LCTES '04
      July 2004
      265 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/998300
      Issue’s Table of Contents
      • cover image ACM Conferences
        LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
        June 2004
        276 pages
        ISBN:1581138067
        DOI:10.1145/997163
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 11 June 2004
      Published in SIGPLAN Volume 39, Issue 7

      Check for updates

      Author Tags

      1. embedded systems
      2. programmable network interfaces
      3. simulation

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 15 Oct 2024

      Other Metrics

      Citations

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media