@InCollection{asthana:active-book,
  author = {Abhaya Asthana and Mark Cravatts and Paul Krzyzanowski},
  title = {An Experimental Memory-based {I/O} Subsystem},
  booktitle = {Input/Output in Parallel and Distributed Computer Systems},
  chapter = {17},
  editor = {Ravi Jain and John Werth and James C. Browne},
  crossref = {iopads-book},
  year = {1996},
  series = {The Kluwer International Series in Engineering and Computer
  Science},
  volume = {362},
  pages = {373--390},
  publisher = {Kluwer Academic Publishers},
  earlier = {asthana:active},
  keywords = {parallel I/O architecture, pario-bib},
  abstract = {We describe an I/O subsystem based on an active memory named SWIM
  (Structured Wafer-based Intelligent Memory) designed for efficient storage
  and manipulation of data structures. The key architectural idea in SWIM is to
  associate some processing logic with each memory chip that allows it to
  perform data manipulation operations locally and to communicate with a disk
  or a communication line through a backend port. The processing logic is
  specially designed to perform operations such as pointer dereferencing,
  memory indirection, searching and bounds checking efficiently. The I/O
  subsystem is built using an interconnected ensemble of such memory logic
  pairs. A complex processing task can now be distributed between a large
  number of small memory processors each doing a sub-task, while still
  retaining a common locus of control in the host CPU for higher level
  administrative and provisioning functions. We argue that active memory based
  processing enables more powerful, scalable and robust designs for storage and
  communications subsystems, that can support emerging network services,
  multimedia workstations and wireless PCS systems. A complete parallel
  hardware and software system constructed using an array of SWIM elements has
  been operational for over a year. We present results from application of SWIM
  to three network functions: a national phone database server, a high
  performance IP router, and a call screening agent.},
  comment = {Part of a whole book on parallel I/O; see iopads-book.}
}

