Cache-aware affinitization on commodity multicores for high-speed network flows

  • Authors:
  • Vishal Ahuja;Matthew Farrens;Dipak Ghosal

  • Affiliations:
  • UC Davis, Davis, USA;UC Davis, Davis, USA;UC Davis, Davis, USA

  • Venue:
  • Proceedings of the eighth ACM/IEEE symposium on Architectures for networking and communications systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

For a given TCP or UDP flow, protocol processing of incoming packets is performed on the core that receives the interrupt, while the user-space application which consumes the data may run on the same or a different core. If the cores are not the same, additional costs due to context switches, cache misses, and the movement of data between the caches of the cores may occur. The magnitude of this cost depends upon the processor affinity of the user-space process relative to the network stack. In this paper we present a prototype implementation of a tool which enables the application processing and protocol processing to occur on cores which share the lowest cache level. The Cache-Aware Affinity Deamon (CAAD) analyzes the topology of the die and the NIC characteristics and conveys information to the sender which allows the entire end-to-end path for each new flow to be be managed and controlled. This is done in a light-weight manner for both uni and bi-directional flows. Measurements show that for bulk data transfers using commodity multicore machines, the use of CAAD improves the overall TCP throughput by as much as 31%, and reduces the cache miss rate as much as 37.5%. GridFTP combined with CAAD improves the download time for big file transfers by up to 18%.