Dhruv Saraff
Undergraduate Research and Innovation Scholar
NetBlocks
2023-2024
Electrical Engineering and Computer Science
- Computer Systems
Saman P. Amarasinghe
Various domains of computer science have vastly different properties and hence require very different network protocols. For example, RPC in data centres transfer minimal data but require strong reliability and checks against corruption, whereas video streaming applications need to transfer a lot of data with low latency, but some packets can be dropped or corrupted. As a developer aiming to design a network stack, you could use an off the shelf solution like TCP/IP, which will probably have everything you need but also unnecessary latency caused by many features you do not need. Otherwise, you could use a network library like PicoTCP, but libraries are generally not configugrable enough and suffer performance penalties caused by the modularity they offer. NetBlocks takes the compilers approach to generate network stacks, providing users with full flexibility on how they want to design their protocols, and gets rid of all performance penalties put forward by the offered flexibility during code compilation.
I am participating in SuperUROP because I want to apply my knowledge of compilers and networks to a longer-term research project.