A modular compiler for network programming languages

3Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Network programming languages (NPLs) empower operators to program network data planes (NDPs) with unprecedented efficiency. Currently, various NPLs and NDPs coexist and no one can prevail over others in the short future. Such diversity is raising many problems including: (1) programs written with different NPLs can hardly interoperate in the same network, (2) most NPLs are bound to specific NDPs, hindering their independent evolution, and (3) compilation techniques cannot be readily reused, resulting in much wasteful work. These problems are mostly owing to the lack of modularity in the compilers, where the missing part is an intermediate representation (IR) for NPLs. To this end, we propose Network Transaction Automaton (NTA), a highly-expressive and language-independent IR, and show it can express semantics of 7 mainstream NPLs. Then, we design CODER, a modular compiler based on NTA, which currently supports 2 NPLs and 3 NDPs. Experiments with real and synthetic network programs show CODER is efficient and scalable.

Cite

CITATION STYLE

APA

Li, H., Zhang, P., Sun, G., Hu, C., Shan, D., Pan, T., & Fu, Q. (2020). A modular compiler for network programming languages. In CoNEXT 2020 - Proceedings of the 16th International Conference on Emerging Networking EXperiments and Technologies (pp. 198–210). Association for Computing Machinery, Inc. https://doi.org/10.1145/3386367.3432063

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free