Introduction

Eliminating nonuniform memory accesses of I/O devices

Summary

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 suffer 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.

Researchers

External Researchers

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

Category

  • Active VMW Software Systems Projects