Language-Directed Hardware Design for Network Performance Monitoring

© 2017 ACM. Network performance monitoring today is restricted by existing switch support for measurement, forcing operators to rely heavily on endpoints with poor visibility into the network core. Switch vendors have added progressively more monitoring features to switches, but the current trajecto...

Full description

Bibliographic Details
Main Authors: Narayana, Srinivas, Sivaraman, Anirudh, Nathan, Vikram, Goyal, Prateesh, Arun, Venkat, Alizadeh, Mohammad, Jeyakumar, Vimalkumar, Kim, Changhoon
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: ACM 2021
Online Access:https://hdl.handle.net/1721.1/137272
_version_ 1826192622100676608
author Narayana, Srinivas
Sivaraman, Anirudh
Nathan, Vikram
Goyal, Prateesh
Arun, Venkat
Alizadeh, Mohammad
Jeyakumar, Vimalkumar
Kim, Changhoon
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Narayana, Srinivas
Sivaraman, Anirudh
Nathan, Vikram
Goyal, Prateesh
Arun, Venkat
Alizadeh, Mohammad
Jeyakumar, Vimalkumar
Kim, Changhoon
author_sort Narayana, Srinivas
collection MIT
description © 2017 ACM. Network performance monitoring today is restricted by existing switch support for measurement, forcing operators to rely heavily on endpoints with poor visibility into the network core. Switch vendors have added progressively more monitoring features to switches, but the current trajectory of adding specific features is unsustainable given the ever-changing demands of network operators. Instead, we ask what switch hardware primitives are required to support an expressive language of network performance questions. We believe that the resulting switch hardware design could address a wide variety of current and future performance monitoring needs. We present a performance query language, Marple, modeled on familiar functional constructs like map, filter, groupby, and zip. Marple is backed by a new programmable key-value store primitive on switch hardware. The key-value store performs flexible aggregations at line rate (e.g., a moving average of queueing latencies per flow), and scales to millions of keys. We present a Marple compiler that targets a P4-programmable software switch and a simulator for highspeed programmable switches. Marple can express switch queries that could previously run only on end hosts, while Marple queries only occupy a modest fraction of a switch's hardware resources.
first_indexed 2024-09-23T09:24:21Z
format Article
id mit-1721.1/137272
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T09:24:21Z
publishDate 2021
publisher ACM
record_format dspace
spelling mit-1721.1/1372722023-04-07T19:47:16Z Language-Directed Hardware Design for Network Performance Monitoring Narayana, Srinivas Sivaraman, Anirudh Nathan, Vikram Goyal, Prateesh Arun, Venkat Alizadeh, Mohammad Jeyakumar, Vimalkumar Kim, Changhoon Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory © 2017 ACM. Network performance monitoring today is restricted by existing switch support for measurement, forcing operators to rely heavily on endpoints with poor visibility into the network core. Switch vendors have added progressively more monitoring features to switches, but the current trajectory of adding specific features is unsustainable given the ever-changing demands of network operators. Instead, we ask what switch hardware primitives are required to support an expressive language of network performance questions. We believe that the resulting switch hardware design could address a wide variety of current and future performance monitoring needs. We present a performance query language, Marple, modeled on familiar functional constructs like map, filter, groupby, and zip. Marple is backed by a new programmable key-value store primitive on switch hardware. The key-value store performs flexible aggregations at line rate (e.g., a moving average of queueing latencies per flow), and scales to millions of keys. We present a Marple compiler that targets a P4-programmable software switch and a simulator for highspeed programmable switches. Marple can express switch queries that could previously run only on end hosts, while Marple queries only occupy a modest fraction of a switch's hardware resources. 2021-11-03T17:56:47Z 2021-11-03T17:56:47Z 2017-08-07 2019-05-02T16:07:27Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/137272 Narayana, Srinivas, Sivaraman, Anirudh, Nathan, Vikram, Goyal, Prateesh, Arun, Venkat et al. 2017. "Language-Directed Hardware Design for Network Performance Monitoring." en 10.1145/3098822.3098829 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf ACM MIT web domain
spellingShingle Narayana, Srinivas
Sivaraman, Anirudh
Nathan, Vikram
Goyal, Prateesh
Arun, Venkat
Alizadeh, Mohammad
Jeyakumar, Vimalkumar
Kim, Changhoon
Language-Directed Hardware Design for Network Performance Monitoring
title Language-Directed Hardware Design for Network Performance Monitoring
title_full Language-Directed Hardware Design for Network Performance Monitoring
title_fullStr Language-Directed Hardware Design for Network Performance Monitoring
title_full_unstemmed Language-Directed Hardware Design for Network Performance Monitoring
title_short Language-Directed Hardware Design for Network Performance Monitoring
title_sort language directed hardware design for network performance monitoring
url https://hdl.handle.net/1721.1/137272
work_keys_str_mv AT narayanasrinivas languagedirectedhardwaredesignfornetworkperformancemonitoring
AT sivaramananirudh languagedirectedhardwaredesignfornetworkperformancemonitoring
AT nathanvikram languagedirectedhardwaredesignfornetworkperformancemonitoring
AT goyalprateesh languagedirectedhardwaredesignfornetworkperformancemonitoring
AT arunvenkat languagedirectedhardwaredesignfornetworkperformancemonitoring
AT alizadehmohammad languagedirectedhardwaredesignfornetworkperformancemonitoring
AT jeyakumarvimalkumar languagedirectedhardwaredesignfornetworkperformancemonitoring
AT kimchanghoon languagedirectedhardwaredesignfornetworkperformancemonitoring