Protected, user-level DMA for the SHRIMP network interface
- 23 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Traditional DMA requires the operating system to perform many tasks to initiate a transfer, with overhead on the order of hundreds or thousands of CPU instructions. This paper describes a mechanism, called User-level Direct Memory Access (UDMA), for initiating DMA transfers of input/output data, with full protection, at a cost of only two user-level memory references. The UDMA mechanism uses existing virtual memory translation hardware to perform permission checking and address translation without kernel involvement. The implementation of the UDMA mechanism is simple, requiring a small extension to the traditional DMA controller and minimal operating system kernel support. The mechanism can be used with a wide variety of I/O devices including network interfaces, data storage devices such as disks and tape drives, and memory-mapped devices such as graphics frame-buffers. As an illustration, we describe how we used UDMA in building network interface hardware for the SHRIMP multicomputer.Keywords
This publication has 10 references indexed in Scilit:
- Two virtual memory mapped network interface designsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Virtual memory mapped network interface for the SHRIMP multicomputerPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The Stanford FLASH multiprocessorPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A host interface architecture for HIPPIPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A message passing coprocessor for distributed memory multicomputersPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The Network Architecture of the Connection Machine CM-5Journal of Parallel and Distributed Computing, 1996
- Integration of message passing and shared memory in the Stanford FLASH multiprocessorPublished by Association for Computing Machinery (ACM) ,1994
- Fast mutual exclusion for uniprocessorsPublished by Association for Computing Machinery (ACM) ,1992
- TPublished by Association for Computing Machinery (ACM) ,1992
- The interaction of architecture and operating system designPublished by Association for Computing Machinery (ACM) ,1991