Updates from the past 6 months

Here are some quick updates from the busy past 6 months:

Advanced Network Programming (Sep-Oct 2021)

Advanced Network Programming (ANP) was offered in Sep-Oct 2021 to the BSc 3rd year students at VU Amsterdam. The course aims to teach students about the complexity of modern networks (end-host and network management) and cover topics such as design of end-host TCP/IP networking stack, Linux internals, multicore scalability, programmable data planes, P4 language, etc. On the practical-side, the students develop a functional TCP/IP stack in the userspace on top of the Linux TUN/TAP device, and do a file exchange between an unmodified Linux server and a client machine.

For more information about the course content please see the course webpage.

Storage Systems (Nov-Dec 2021)

Storage Systems course covers emergence and advancements of Non-Volatile Memory (NVM) storage in mainstream computing. We cover topics such as emergence of evolution of flash storage, NVM Express, flash-specific file systems and key-value stores, persistent memories, programmable storage, network-attached flash, and general distributed system design around flash storage. Major changes from the last year’s course is in the project work. For practical project work, we use recently-standardized Zone Namespace devices (ZNS) (last year we used Open-Channel SSD with QEMU) and students build a functional host-side FTL (mapping, gc, persistence) and integrate the FTL with a filesystem-plugin into RocksDB.

Acknowledgement: The project work is generously supported by Western Digital with their donation of ZNS devices and software support.

For more information about the course content please see the course webpage.

Advanced Topics in Distributed Systems (Feb-Mar 2022)

ATDS is a MSc-level paper reading seminar where students write reviews and present papers from past year conferences (SOSP, OSDI, ATC, NSDI, FAST, ASPLOS, SIGCOMM). Apart from basic paper reviewing this year we have put an additional emphasis on Reproducibility Research in Computer Science/Systems. The goal of this activity is to teach students about reproducibility work in computer systems research, how to report artifacts, how to run and set up experiments, and how to write reproducibility guides. The students pick up recently published papers from the past conferences with the ACM badges and try to reproduce the experimental results on our infrastructure. They will report in detail what worked, what did not work, if the experiment was successful or not (and why so), and any additional measurements to improve the quality of reporting. At the end of the course, we plan to share our experience. Look out for that in April 2022. Meanwhile if you have ideas how we can improve such a course, do let me know.

New reports

Students working in our group has published three new research reports and one literature survey available below:

Research projects in development

  1. Edge Computing: We are ramping up our research effort in Edge Computing, and to do more systematic large-scale experiments we have developed a testbed, which is now open-source at: https://github.com/atlarge-research/continuum. This work is done by Matthijs Jansen.

  2. eBPF-powered Computational Storage: Emerging computational storage devices (or CSDs) offer a unique programming interface through which computation can be pushed closer to the data where it is stored, instead of moving data for computation (as done today). Despite its potential, realizing CSD benefits remain a challenging task due to (i) unavailability of any open-source CSD device; (ii) lack of filesystem support for CSD devices; and (iii) limited exploration with the right API and abstractions for CSD-aware applications. In this work, we present eBPF-powered OpenCSD, an open-source framework for CSD devices in QEMU. The source code is at: https://github.com/Dantali0n/qemu-csd. The work is led by Corne Lukken.

More updates on new projects coming soon…

Jekyll theme inspired by researcher