Eliminating nonuniform memory accesses of I/O devices


In a multi-CPU server, nonuniform memory access (or NUMA) operations occur when cores of one CPU address memory modules that are connected to another CPU. NUMA operations are slower and therefore worsen performance. Because each I/O device is connected to memory through a single CPU, devices also are faced with decreased performance resulting from a similar problem when issuing nonuniform DMA (or NUDMA) operations.

We contend that NUDMA problems are inherently different than NUMA problems, and that they can and should be entirely eliminated. We propose the IOctopus design, which provides devices with uniform access to all the memory in the system and thereby improves performance, simplifies software, increases the consolidation ratio, and reduces hardware costs. IOctopus allows systems to keep existing APIs intact, while requiring only modest modifications to drivers and firmware of I/O devices.


2017 Interns

External Researchers

  • Adam Morrison
  • Alex Markuze
  • Boris Pismenny
  • Haggai Eran

Related Publications


  • Active VMW Software Systems Projects