User space contiguous memory allocation for DMA

Session information has not yet been published for this event.

Refereed Presentation
Scheduled: Friday, September 15, 2017 from 9:45 – 10:30am in Platinum D

One Line Summary

A discussion of approaches to obtain contiguous memory in user space for DMA including a POSIX conformant mmap API


While there are several ways for a user to allocate memory in user-space, none allows for contiguous physical memory allocation of multiple page frames. Allocations of this type are needed to meet the challenges raised by today’s high bandwidth network, storage improvements, and new graphics devices. Each of these technologies can be aided by applying new contiguous memory allocation methodologies that will enable faster DMA transfers. As a side benefit, contiguous memory also delivers better performance for real-time applications that could greatly benefit from CPU cache predictions. In the presentation we discuss multiple approaches to obtaining contiguous memory and suggest an implementation of a new mmap flag (MAP_CONTIG), first introduced in IEEE Std 1003.1.



performance, networking, storage, graphics, dma, memory management subsystem, rdma

Presentation Materials



  • Biography

    Christoph Lameter is working as a lead in research and development for an algorithmic trading company in Chicago. and maintains the slab allocators and the per cpu subsystems. Over time he contributed to a number of Linux projects. As a kernel developer at SGI he helped pioneer the use of Linux for Supercomputing and developed the necessary kernel capabilities for HPC applications.

  • Guy Shattah



    Guy Shattah is a veteran engineer/inventor with expertise in multi-threaded, distributed development of mission critical real-time systems with a focus on storage, networking, security systems and more. In some of these areas, He holds a patent. As a Senior Software Architect in the Hosts Architecture group at Mellanox Technologies, He is responsible for optimizing and accelerating user space and kernel space software over Ethernet and InfiniBand. For two years He lectured at Ben-Gurion University. System programming courses included such topics as Architecture and Assembly Programming, C Programming for Engineers. He has also presented talks at IEEE SMC 2006 and C++NOW 2015.