Computer Laboratory

Part II, III and ACS Projects

I'm happy to advise students interested in Part II, Part III or ACS projects in networked systems, especially in the following areas:

  • Sustainable computing
  • Data systems for environmental data science
  • High performance networking and computing
  • Rack-scale and Edge computing
  • In-Network Computing
  • Reconfigurable and programmable systems and devices
  • Network and performance measurements

These are some project ideas that I've put together (as of Summer 2019). The knowledge required for the project varies, as some of the projects are software oriented, while others are hardware oriented. The groupings are only loose and many of the projects could be adapted to suit any course stage. Please contact me for more information. If you have your own ideas for a project that you'd like to take, please also get in touch. I am especially keen to supervise projects for community benefit.

I was lucky to work with many talented students over the years, and the work of both undergraduate and postgraduate students was published in international conferences. I still keep in touch with many of my past students, and continue to collaborate with those who choose to take advanced degrees or an academic path.

Part II Projects

In-Network Computing

In-network computing is an emerging research area in systems and networking, where applications traditionally running on the host are offloaded to the network hardware (e.g., switch, NIC). Examples of applications offloaded in the past include consensus protocols, caching and key-value store application. The goal of this project will be to offload a traditional application to run within a network device.
There are many applications that can be off-loaded, thus more than one project in available here.
Projects are available also in the intersection of In-network computing and other research areas (e.g., machine learning, image processing, NLP etc.).
Another pathway will increase the resilience of in-network computing.

References:
[1] Sapio, Amedeo, Ibrahim Abdelaziz, Abdulla Aldilaijan, Marco Canini, and Panos Kalnis. "In-Network Computation is a Dumb Idea Whose Time Has Come." In Proceedings of the 16th ACM Workshop on Hot Topics in Networks, pp. 150-156. ACM, 2017.
[2] Huynh Tu Dang, Pietro Bressana, Han Wang, Ki Suh Lee, Hakim Weatherspoon, Marco Canini, Fernando Pedone, Noa Zilberman, Robert Soulé, "P4xos: Consensus as a Network Service", Tech Report, University of Lugano 2018/01, May 2018 (official).
[3] Nik Sultana, Salvator Galea, David Greaves, Marcin Wojcik, Jonny Shipton, Richard Clegg, Luo Mai, Pietro Bressana, Robert Soule, Richard Mortier, Paolo Costa, Peter Pietzuch, Jon Crowcroft, Andrew W Moore, Noa Zilberman, “Emu: Rapid Prototyping of Networking Services”, Usenix Annual Technical Conference (ATC), July 2017 (pdf) (official).

Pre-requisites: This project requires basic knowledge of computer networks. Knowledge of distributed systems is recommended for some of the projects.



Very-Big Data Processing

Very big data applications generate even bigger data traces. A single short experiment can generate hundreds of gigabytes to terabytes of data, including packet traces, operating system traces, logs and more. A framework built in the department last year has already collected a large set of such data, and a python environment for processing the data. However, the runtime of this environment is currently on the scale of imany hours to days.
The goal of this project will be to build an environment that makes the data and its processing accessible to internal and external researchers. This will start at building a quick and light-weight environment for data processing within minutes instead of many hours and day, and continue to extracting complex features from the data and correlating data across datasets. Last, it will provice an interface for researchers to access this framework.

References:
[1] Available upon request

Pre-requisites: Good programming skills! This project requires basic knowledge of computer networks.



Feature Extraction in Real Time

Sensors used in IoT and cyber physical systems (CPS) increasingly generate data. While the data rate is low, the aggregation of thousands and tens of thousands of these devices is challenging to end-host devices and communications infrastructure. Not all the data generated by these devices is required: often there are just specific features that need to be extracted from the streaming data.
A previous project has implemented the data plane of a network device required for this project. The goal of this project is to build a robust framework that automatically generates the control plane of the device, and populated it with rules. The project is expected to be partly using domain specific languages such as P4Runtime and be mostly implemented in python.

References:
[1] P4
[2] Available upon request

Pre-requisites: This project requires basic knowledge of computer networks and machine learning. Knowledge of Tensorflow and scikit-learn is an advantage.

Part III/ACS Projects


Sustainable Computing

Computing is both useful and harmful for sustainability. The following is just one project idea in this area, and do approach me if you are interested in a related project.
The goal of this project would be to explore the effect of workload placement of cloud workloads outside the datacentre on power efficiency and scalability. As such, the project will be mostly simulation focused, but with very strong aspects of realism.

References:
[1] Yuta Tokusashi, Huynh Tu Dang, Fernando Pedone, Robert Soulé and Noa Zilberman, "The Case For In Network Computing On Demand", Eurosys 2019
[2] Noa Zilberman, "Revolutionising Computing Infrastructure For Citizen Empowerment", Data for Policy Conference, London UK, September 2017

Pre-requisites: This project requires basic knowledge of computer networks, distributed systems / cloud computing and very good programming skills.

Many core network devices

For many years network devices have beaten the performance improvement of CPUs, creating more than an order of magnitude gap in performance. Alas, silicon network devices have now reached the end of Moore's law and Dennard's scaling. Similar to CPUs, they have shifted to a multi-core design. Yet, network devices are very different to CPUs / GPUs and can not adopt similar architectures without losing their performance edge.
This project will explore new architectures for many core network devices, and implement them on a programmable framework.

References:
[1] Noa Zilberman, Gabi Bracha and Golan Schzukin. "Stardust: Divide and conquer in the data center network", USENIX NSDI 2019
[2] Noa Zilberman, Lukasz Dudziak, Matthew Jadczak, Thomas Parks, Alessandro Rietmann, Vadim Safronov, and Daniel Zuo. "Cut-through network switches: architecture, design and implementation". UCAM-CL-TR-928. University of Cambridge, Computer Laboratory, November 2018.

Pre-requisites: This project requires good knowledge of computer networks and FPGA design.

In-Network Computing

Multiple in-network computing projects are available to Part III/ACS students. Please see Part II projects for references, and contact me to discuss available research projects.