Computer Laboratory

Part II, III and ACS Projects

I'm interested in advising anybody wanting to do a Part II, Part III or ACS project in networked systems, especially in the following areas:

  • High performance networking
  • Rack-scale and Edge computing
  • In-Network Computing
  • Reconfigurable and programmable systems and devices
  • Interconnects and Memory interfaces
  • Network measurements

These are some project ideas that I've put together (as of Summer 2018). 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 do with me, then it would be great to hear them so please also get in touch.

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 in the hardware (most likely on a NetFPGA platform).
There are many applications that can be off-loaded, thus more than one project in available here.

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 and some ECAD experience.



F1-NetFPGA

NetFPGA is an open source platform for research and teaching, used for rapid prototyping of network devices. Over the years there have been 3 generations of NetFPGA platforms, with I/O capabilities ranging from 1GE to 100GE. The NetFPGA community has over a thousand members, in over 250 academic institutes and 47 countries.
In recent years, multiple cloud providers have introduced prgrammable devices (TPU, FPGA) to the cloud offering. The goal of this project will be to create F1-NetFPGA: a NetFPGA platform running within Amazon's EC2 on the F1 platform. The project will focus on building the F1-NetFPGA infrastructure, and will demonstrate the migration of several reference projects.

References:
[1] NetFPGA
[2] Amazon F1

Pre-requisites: This project requires basic knowledge of computer networks and good ECAD skills.



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.
The goal of this project is to build a programmable platform that adaptively extracts features from network packets in real time. The project is expected to be written in P4, a language for programmable data planes, with an implementation running on P4-NetFPGA.

References:
[1] P4
[2] P4-NetFPGA

Pre-requisites: This project requires basic knowledge of computer networks and some ECAD skills.

Part III/ACS Projects

Rack-scale Fabric Topologies

Rack-scale computers contain hundreds to thousands of compute nodes, requiring a scalable and flexible interconnect topologies. The objective of this projects is to study aspects of fabric topologies within rack-scale computers and make recommendations on efficient rack-scale fabric topologies. As emerging rack-scale fabric architectures (e.g. [1][2]) differ significantly in their nature, existing simulation tools are inappropriate. This project will develop a flexible and scalable rack-scale fabric modelling tool and evaluate the performance of different rack-scale fabric topologies.

References:
[1] Sergey Legtchenko, Nicholas Chen, Daniel Cletheroe, Antony Rowstron, Hugh Williams, and Xiaohan Zhao. XFabric: A Reconfigurable In-Rack Network for Rack-Scale Computers. NSDI 2016.
[2] Bob Alverson, Edwin Froese, Larry Kaplan and Duncan Roweth . Cray XC Series Network. Cray Inc, 2012.



Accelerating ML in the network

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 objective of this project is to study the applicability of In-Network Computing to accelerating machine learning applications, identify limitations, and - if deemed possible - implement a machine learning function (or part of it) in a network device.

References:
[1] P4
[2] 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.
[3] Bosshart, Pat, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. "Forwarding metamorphosis: Fast programmable match-action processing in hardware for SDN." In ACM SIGCOMM Computer Communication Review, vol. 43, no. 4, pp. 99-110. ACM, 2013.

Pre-requisites: This project requires basic knowledge of computer networks and machine learning. Some ECAD skills are recommended.