Stu­dent Re­search As­sist­ants

Serverless FPGAs for In-Network Computing (MSc, up to 18 hours/week)

We are looking for a student assistant who can participate in our research project on serverless in-network computing. The main tasks include developing a serverless runtime for FPGAs and enabling packet-driven in-network computing with that serverless runtime. If you have some experience with FPGAs and are interested in creative usage of FPGAs in networking, please send your application (CV, transcripts of records, a brief motivation letter of up to one page) to Prof. Lin Wang.

Mas­ters Thes­is Pro­jects

In-network Accelerated Distributed Matrix Transposition

Transposing a partitioned matrix is an important operation in many HPC applications. This project aims to investigateaccelerating distributed matrix transposition by offloading logic from workers (hosts) into the network (programmable switches). The following questions are expected to be answered. 

  • Straightforward dense matrix transposition involves an all-to-all exchange + local transposition
  • Can the network deliver transposed chunks such that the local transposition can be replaced by a copy?
  • Can this copy be done efficiently?
  • How should the matrix be decomposed/distributed?

Expected outcome:

  • Design and implementation of in-network matrix-transposition scheme on Intel Tofino switches (host-network co-design)
  • Experimental evaluation of proposed solution and analysis of results
  • At a minimum, a comparison against a simple (e.g. MPI-based) distributed matrix transpose implementation
  • Ideally, end-to-end application performance

Requirements:

  • Solid knowledge of networking and high-performance computing fundamentals
  • Affinity with computer architecture
  • Python, C/C++, MPI
  • Knowledge of programmable data planes and P4, or ability to learn fast

­­

Improving Distributed Work-Stealing with In-Network Computing

Work-stealing is a scheduling technique for task-based parallelism, used to balance irregular computations. In work-stealing schemes, workers maintain queues of tasks they ought to perform, and the idle workers attempt to "steal" tasks from the queues of the busy workers. This project aims to investigate improving work-stealing with programmable switches. The following questions are the starting points.

  • Who should a worker steal from? What if the steal attempt fails? Can we reduce failed attempts with a centrallized manager (switch) ?
  • What is the cost of host-based queue management? Can we benefit from moving the queue management to the switch?

Expected outcome:

  • Design and implementation of a dataplane-assisted work-stealing scheme, using Intel Tofino switches (host-network co-design). The project can take any of the following directions: 
    • Pick an existing work-stealing scheme and accelerate with switch offloads
    • Use the switch as a steal arbiter to potentially improve over e.g. random stealing
    • Combine both the above
    • Experimental evaluation of proposed solution and analysis of results

Requirements:

  • Solid knowledge of networking and high-performance computing fundamentals
  • Affinity with computer architecture
  • Python, C/C++, and task-based parallelism
  • Knowledge of programmable data planes and P4, or ability to learn fast

Bach­el­or Thes­is Top­ics

We offer thesis projects in the general networking area. We can tailor the topic towards your interests. Reach out if you are interested.