I build flexible, safe, and high-performance computer networks that meet the needs of the developers, operators, and users of emerging applications and networks. I take a full-stack approach, developing novel languages, optimizing compilers, algorithms, operating system designs, and hardware designs. My current research projects include designing optimizing compilers for programs processing network packets, verified network stack programming, and distributed system monitoring and control.

News

Teaching

Spring 2024 Computer Networks (198:552, introductory graduate-level course)
Fall 2023 Operating Systems (198:416/518, senior undergraduate/intro graduate course)
Spring 2023 Design of Internet Services (198:553, graduate-level course on the architecture, development, and deployment of large-scale Internet services)
Fall 2022 Internet Technology (198:352, an undergraduate-level computer networks course)
Spring 2022 Internet Technology
Spring 2021 Internet Technology All video lectures are publicly available.
Fall 2020 Computer Networks
Spring 2020 Internet Technology
Fall 2019 Computer Networks
Spring 2019 Internet Technology
Fall 2018 Computer Networks

Publications

State-Compute Replication: Parallelizing High-Speed Stateful Packet Processing
Qiongwen Xu, Sebastiano Miano, Xiangyu Gao, Tao Wang, Songyuan Zhang, Anirudh Sivaraman, Gianni Antichi, and Srinivas Narayana
Preprint (arxiv)
[ paper pdf ]

Making decisions at data plane speeds
Srinivas Narayana
Workshop on Self-Driving Networks 2023
A personal retrospective from multiple research efforts in the space of network measurement that drives feedback loops. Published in lieu of an invited talk.
[ paper pdf ]

QuEST: Fast, Expressive, and Cheap Analytics for Distributed Traces Using Cloud Storage
Jessica Berg, Muhammad Haseeb, Haiming Chen, Yaojia Ju, Anirudh Sivaraman, Ravi Netravali, and Srinivas Narayana
Workshop on Cloud Databases (cloudDB) co-located with VLDB 2023
[ paper pdf ]

Verifying the verifier: eBPF range analysis verification
Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, and Santosh Nagarakatte
CAV 2023
[ paper pdf ]

CaT: A Solver-Aided Compiler for Packet-Processing Pipelines
Xiangyu Gao, Divya Raghunathan, Ruijie Fang, Tao Wang, Xiaotong Zhu, Anirudh Sivaraman, Srinivas Narayana, and Aarti Gupta
ASPLOS 2023
[ paper pdf ]

Load balancers need in-band feedback control
Bhavana Vannarth Shobhana, Srinivas Narayana, and Badri Nath
ACM Hot Topics in Networking 2022
[ paper pdf ]

Elasticity detection: a building block for Internet congestion control
Prateesh Goyal, Akshay Narayan, Frank Cangialosi, Srinivas Narayana, Mohammad Alizadeh, and Hari Balakrishnan
ACM SIGCOMM 2022
[ paper pdf ]

Privid: Practical, Privacy-Preserving Video Analytics Queries
Frank Cangialosi, Neil Agarwal, Venkat Arun, Junchen Jiang, Srinivas Narayana, Anand Sarwate, Ravi Netravali
Usenix Symposium on Networked Systems Design and Implementation (NSDI) 2022
[ paper pdf ]

Sound, Precise, and Fast Abstract Interpretation with Tristate Numbers
Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, and Santosh Nagarakatte
Symposium on Code Generation and Optimization (CGO) 2022
[ paper pdf ]
This paper won a distinguished paper award.

Snicket: Query-Driven Distributed Tracing
Jessica Berg, Fabian Ruffy, Khanh Nguyen, Nicholas Yang, Taegyun Kim, Anirudh Sivaraman, Ravi Netravali, and Srinivas Narayana
ACM Hot Topics in Networking (HotNets) 2021
[ paper pdf ]

Automated SmartNIC Offloading Insights for Network Functions
Yiming Qiu, Jiarong Xing, Kuo-Feng Hsu, Qiao Kang, Ming Liu, Srinivas Narayana, and Ang Chen
ACM Symposium on Operating Systems Principles (SOSP) 2021
[ paper pdf ]

Synthesizing safe and efficient kernel extensions for packet processing
Qiongwen Xu, Michael Dean Wong, Tanvi Wagle, Srinivas Narayana, and Anirudh Sivaraman
ACM SIGCOMM 2021
[ project web page ] [ paper pdf ] [ conference artifact awarded three ACM badges ]
[ Talk at Linux Plumbers conference 2021 ]

Switch Code Generation using Program Synthesis
Xiangyu Gao, Taegyun Kim, Michael Dean Wong, Divya Raghunathan, Aatish Kishan Varma, Pravein Govindan Kannan, Anirudh Sivaraman, Srinivas Narayana, Aarti Gupta
ACM SIGCOMM 2020
[ paper pdf ]

Autogenerating fast packet-processing code using program synthesis
Xiangyu Gao, Taegyun Kim, Aatish Kishan Varma, Anirudh Sivaraman, Srinivas Narayana
Hot Topics in Networks (HotNets) 2019
[ paper pdf ] [ Xiangyu's talk pdf ] [ talk pptx ]

Elasticity detection: A building block for Internet congestion control
Prateesh Goyal, Akshay Narayan, Frank Cangialosi, Deepti Raghavan, Srinivas Narayana, Mohammad Alizadeh, and Hari Balakrishnan
Preprint
[ paper pdf ]

Restructuring endpoint congestion control
Akshay Narayan, Frank Cangialosi, Deepti Raghavan, Prateesh Goyal, Srinivas Narayana, Radhika Mittal, Mohammad Alizadeh, and Hari Balakrishnan
ACM SIGCOMM 2018
Also accepted as a moonshot talk at netdev (0x12), the technical conference on Linux networking
Project web page
[ paper pdf ]
[ My talk (pdf) at IIT Madras ] [ IIT Madras talk pptx ]
[ Akshay's netdev talk pdf ] [ netdev talk keynote ]
[ Akshay's sigcomm talk pdf ] [ sigcomm talk keynote ]

The case for moving congestion control out of the datapath
Akshay Narayan, Frank Cangialosi, Prateesh Goyal, Srinivas Narayana, Mohammad Alizadeh, and Hari Balakrishnan
Hot Topics in Networks (HotNets) 2017
[ paper pdf ] [ Akshay's talk pdf ] [ talk pptx ]

Language-directed hardware design for network performance monitoring
Srinivas Narayana, Anirudh Sivaraman, Vikram Nathan, Prateesh Goyal, Venkat Arun, Mohammad Alizadeh, Vimalkumar Jeyakumar, and Changhoon Kim
ACM SIGCOMM 2017
Best paper award
Project web page
MIT news article
[ paper pdf ] [ talk pdf ] [ talk pptx ]

Heavy-hitter detection entirely in the data plane
Vibhaalakshmi Sivaraman, Srinivas Narayana, Ori Rottenstreich, S. Muthukrishnan, and Jennifer Rexford
Symposium on Software-Defined Networking Research (SOSR) 2017
[ paper pdf ] [ Vibhaa's talk pdf ] [ talk pptx ]

Hardware-software co-design for network performance measurement
Srinivas Narayana, Anirudh Sivaraman, Vikram Nathan, Mohammad Alizadeh, David Walker, Jennifer Rexford, Vimalkumar Jeyakumar, and Changhoon Kim
Hot topics in Networks (HotNets) 2016
[ paper pdf ] [ talk pdf ] [ talk pptx ]

Declarative network path queries
Srinivas Narayana
Ph.D. thesis
[ thesis pdf ] [ defense pdf ] [ defense pptx ]

Compiling path queries
Srinivas Narayana, Mina Tahmasbi, Jennifer Rexford, and David Walker
Symposium on Networked Systems Design and Implementation (NSDI) 2016
Project web page
[ paper pdf ] [ talk pdf ] [ talk pptx ]

Compiling path queries in software-defined networks
Srinivas Narayana, Jennifer Rexford, and David Walker
Hot topics in Software-Defined Networks (HotSDN) 2014
[ paper pdf ] [ talk pdf ] [ talk pptx ]

Joint server selection and routing for geo-replicated services
Srinivas Narayana, Joe Wenjie Jiang, Jennifer Rexford, and Mung Chiang
Workshop on Distributed Cloud Computing (DCC) 2013
Also accepted as an extended abstract at ACM Sigmetrics 2012
[ dcc pdf ] [ talk pdf ] [ talk pptx ] [ sigmetrics pdf ] [ extended version pdf ] [ tech report pdf ]

Abstractions for model checking SDN controllers
Divjyot Sethi, Srinivas Narayana, and Sharad Malik
Formal methods in Computer Aided Design (FMCAD) 2013
[ paper pdf ] [ Divjyot's talk pdf ] [ talk pptx ]

Systems and methods for transactions on the Telecom Web
Anupam Joshi, Srinivas Narayana, and Aaditeshwar Seth
US patent 8,463,705

Also see brief abstracts on my other research experiences.

Funding

I sincerely thank the funding organizations providing the grants below, which support my research.


Students

Summer'22 gathering
(back row, left to right: Zaneta Failbus, Dhvani Kakabalia, Qiongwen Xu, Shivangi Rohilla, Songyuan Zhang, Bhavana Shobhana, Harishankar Vishwanathan, Heon Yim. June 18, 2022. Photo by Smruthi Bala Kannan.)


I'm privileged to advise fantastic students.

Ph.D.

Onam'22 gathering
(left to right: Prof. Badri Nath, Prof. Sudarsun Kannan, Bhavana Shobhana, Bala Murali Komanduri, Srinivas Narayana, Nishant Dhargalkar, Shaleen Garg. Sep 7, 2022.)
Bala Murali Komanduri (Ph.D. started '18)
Qiongwen Xu (Ph.D. started '19)
Bhavana Vannarth Shobhana (Ph.D. started '21, with Badri Nath)
Harishankar Vishwanathan (Ph.D. started '21, with Santosh Nagarakatte)
Xiangyu Gao (Ph.D. started '19, at NYU, with Anirudh Sivaraman)

Masters

Adithya Murugadass (M.S. thesis, spring '24)
Vijay Souri Maddila (M.S. thesis, spring '24)
Sai Pradyumn Shrivastava (M.S. thesis, spring '24)
Ganesh Rohit Basam
Saumya Sachdev
Laksh Kotian

Undergraduate

Rajat Patel (capstone, '23--'24)
Arunima Bhowmik (capstone, '23--'24)
Shivam Agarwal
Shinbee Kang
Nima Fallah

Alumni

Songyuan Zhang (RU class of '22)
Shivangi Rohilla (Aresty '22-'23 undergraduate RA, class of '23)
Heon Yim (RU class of '22)
Nishant Dhargalkar (M.S., started '21)
Zaneta Failbus (RU class of '25)
Vaishnavi Manthena (Aresty '21-'22 undergraduate RA, class of '22)
Andrea Gil-Lopez (LSAMP scholar '20-'21, '21-'22, RU class of '23)
Tanvi Wagle (Aresty '20-'21 undergraduate RA, class of '22 → Google)
Malav Doshi (RU class of '22)
Tavis Johnson (DIMACS summer intern '21, Iona College, NY)
Del Lyczak (DIMACS summer intern '21, Lafayette College, PA)
Sebastian Lezaros Romero (LSAMP scholar summer '21)
Thaquib Ahammed (LSAMP scholar summer '21, RU class of '23)
Anthony Chavez (LSAMP scholar summer '21, Rutgers-Newark class of '22)
Michael D. Wong (Laboratory for Physical sciences → Ph.D. student at Princeton)
Sukumar Gaonkar (M.S. → Bloomberg)
Lance Tan (DIMACS summer intern'20, Yale University class of '21)
Tanya Agarwal (remote summer intern'20, IIT Delhi class of '22)
Zhen Yi Pan (DIMACS summer intern'20, Stony Brook NY class of '22)
Kevin Defreitas (RU class of '21)

Software

Sound tnum multiplication algorithm (upstreamed into Linux kernels starting v5.14)
K2 compiler
Congestion Control Plane (CCP) Marple HashPipe heavy hitter algorithm in P4
Path query run-time system (runs on the the Pyretic SDN controller)
CMurphi source for SDN controller verification
Optimization models from the joint mapping and routing project (requires mosek)

Bio

Srinivas Narayana is an Assistant Professor in the Department of Computer Science at Rutgers University. His research goal is to enable developers to implement expressive networking applications with guarantees of safety and efficiency. His work advances domain-specific compiler and formal methods technology to improve Internet software and hardware. Srinivas received his M.A/Ph.D. in Computer Science from Princeton University in 2016 and a B.Tech from Indian Institute of Technology Madras in 2010. Srinivas completed a post-doc at Massachusetts Institute of Technology in 2018. Srinivas's research has been recognized with a distinguished paper award at the Code Generation and Optimization (CGO) 2022 conference, the best paper award at the 2017 ACM SIGCOMM conference, a Facebook networking systems award, and grants from the National Science Foundation and the Network Programming Institute.


Bio photo credit Tejal Bhamre.