Ultra-Low Latency NIC-CPU Interface Design and Realization

Placeholder Show Content

Abstract/Contents

Abstract

This thesis builds off an ultra-low latency network interface device, known as the Lightning NIC (or L-NIC) [7], that opts to bypass the entire processor memory system and cache hierarchy in favor of delivering network data directly into the processor's register file. L-NIC is itself inspired by the J-machine [4], an earlier experimental parallel computer that investigated register-based, rather than memory-based, interactions with data. We expect a particular class of self-contained, granular, cache-resident, sub-microsecond applications, known as nanoservices, to enjoy a substantial performance benefit from the lower latency this approach provides. In turn, nanoservices, by allowing for much finer-grained parallelism than has been previously possible, can be used to significantly accelerate many existing distributed applications.

In "The nanoPU: From Microservices to Nanoservices" [6], our group presents a modified RISC-V processor, known as a nanoPU, that supports this L-NIC approach to network data and is optimized for running nanoservices. We also present a set of candidate nanoservice applications, demonstrate an order of magnitude performance improvement over a baseline NIC, and discuss how other distributed applications with a high degree of parallelism might stand to benefit from a nanoservice-focused refactor and a network of nanoPUs.

Here, I expand upon several complete components of this larger effort, focusing specifically on the design and development of the nanoPU's hardware-software interface — that is, on the particular instructions and registers relevant to the integration of the L-NIC into the processor. This is itself a novel undertaking. The challenge, at its core, is to design a system that supports easily usable software interfaces in an environment where each individual instruction constitutes a noticeable latency increase and a single DRAM access in an executing nanoservice introduces an unacceptably high delay.

Description

Type of resource text
Date created May 15, 2020

Creators/Contributors

Author Mallery, Alex
Degree granting institution Stanford University, Department of Electrical Engineering
Primary advisor McKeown, Nick
Advisor Hennessy, John

Subjects

Subject electrical engineering
Subject networking
Subject computer architecture
Subject low latency
Subject NIC
Subject RISC-V
Genre Thesis

Bibliographic information

Access conditions

Use and reproduction
User agrees that, where applicable, content will not be used to identify or to otherwise infringe the privacy or confidentiality rights of individuals. Content distributed via the Stanford Digital Repository may be subject to additional license and use restrictions applied by the depositor.
License
This work is licensed under a Creative Commons Attribution Non Commercial 3.0 Unported license (CC BY-NC).

Preferred citation

Preferred Citation
Mallery, Alex. (2020). Ultra-Low Latency NIC-CPU Interface Design and Realization. Stanford Digital Repository. Available at: https://purl.stanford.edu/hx794sq7606

Collection

Undergraduate Theses, School of Engineering

View other items in this collection in SearchWorks

Contact information

Also listed in

Loading usage metrics...