VLDB 2026 Research / reviewers in the wild / expert
Renzo Davoli
dblp:24/410
· DBLP profile ↗
17ranked-venue papers
5as first author
4since 2021 · last 2026
0000-0002-3377-8594ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 12 · 3 first-author · 4 since 2021Systems, architecture and hardware · 3 · 1 first-authorComputer networks · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Brachetti's Restaurant: An Operating Systems Unplugged ActivityabstractWhile the most recent ACM/IEEE/AAAI undergraduate computer science curricular recommendations no longer require a course on Operating Systems (OS), there is still a need to educate students in the key concepts from this domain. To aid in addressing this we introduce a tasty and entertaining CS Unplugged activity that conveys the OS CS core concepts that help build not only a firm understanding of OS concepts, but make concrete the mental model of how an OS operates and implements multiprocessing. Renzo Davoli, Michael Goldweber |
ITiCSE (2) | 1 |
| 2023 | Learning Iteration for Grades 2-3: Puzzles vs. UMC in Code.orgabstractIn a project partially supported by research grant PANN20_00690 to Italy's CINI National Lab "Informatica e Scuola", we compared the effectiveness of two alternative instructional methods applied to scaffold the learning of iterations for children at grades 2-3. Eight university groups across the Country collaboratively run the project in two successive rounds throughout the year 2022. Teachers' feedback collected across the two rounds helped fine-tune the deployment of the interventions. The experiment results show that the two alternative interventions have measurable outcome differences in the short term. Enrico Nardelli, Francesco Lacchia, Renzo Davoli, Michael Lodi, Marco Sbaraglia, Veronica Rossano, Enrica Gentile, Violetta Lonati, Mattia Monga, Anna Morpurgo, Luca Forlizzi, Giovanna Melideo, Sara Capecchi, Ilenia Fronza, Tullio Vardanega |
SIGCSE (2) | 3 |
| 2022 | A Tutorial for Adopting the µMPS3/Pandos Project in the Operating Systems CourseabstractAn operating system is a software artifact. Like all software artifact-based courses (e.g. compilers, neural networks), the gold standard accompanying lab exercise is to build an instance of the artifact. µMPS3/Pandos is a new semester-long project, independent of text choice, for use in an operating systems course. The project guides students in writing, from scratch, a complete, though simple, operating system in C to run on an emulated MIPS-based system. This workshop will introduce participants to, µMPS3, the system emulator, the Pandos project --a detailed set of specifications/assignments that result in a completed operating system capable of concurrently executing up to eight student written C programs, and the wealth of supporting educational materials designed to aid both the instructor and their students. Though a Linux laptop (virtualization is fine) will allow for a hands-on experience with µMPS3/Pandos; one is not required for the workshop. Participants will learn how to use µMPS3, and will walk through each of the three core assignments and sample solutions. The workshop will culminate with the execution of participant written C program(s) running under a completed instance of Pandos. This workshop is designed to empower anyone who teaches an operating systems course to be successful in deploying µMPS3/Pandos in their operating system course. Michael Goldweber, Renzo Davoli |
SIGCSE (2) | 2 |
| 2021 | The Pandos Project and the μMPS3 EmulatorabstractThis paper introduces μMPS3, a new system emulator based on the MIPS (R3000) architecture. We characterize μMPS3 as a cross between a real MIPS system and the typical RISC machine architecture presented to students in operating systems textbooks; a realistic, but not excessively complex architecture. Furthermore, we present Pandos, a specification for a one semester, multi-phase project for the development of a complete operating system for deployment on μMPS3. Alternative operating systems projects (e.g. Nachos[8]) provide students with a significant starting code base. Students then modify existing modules or add new ones. Our new courseware system is predicated on the observation that learning outcomes for artifact-based courses are best achieved by having students create an instance themselves. With μMPS3/Pandos students undergo the pedagogically valuable experience of starting only with a system emulator and ending with a completely student written operating system capable of running student written C programs. Michael Goldweber, Renzo Davoli, Mattia Biondi |
ITiCSE (1) | 2 |
| 2017 | VXVDEX: Internet of threads and networks of namespacesabstractA network of namespaces (NoN) is a way to connect network namespaces defined on different hosts so that they appear to be interconnected on a (virtual) Local Area Network. A NoN protects the communications from malicious or accidental interception or intrusion originated by processes running in other NoN-s. A NoN could be defined using VLANs, veth, kernel bridge definitions, etc. It would be a daunting work for system administrator to define, update and maintain NoN-s defined in this way. The implementation of VXVDEX supports the zero configuration definition of NoN-s: users can connect their network namespaces running on a cluster of Linux hosts by themselves. VXVDEX performance is comparable to the kernel implementation of VXLAN. Renzo Davoli |
ICC | 1 |
| 2015 | The JaeOS Project and the μARM EmulatorabstractAs operating systems evolve, so must operating systems projects. Most operating systems courseware systems are based on the significantly out of date MIPS architecture, and only one of these supports multiprocessors. This paper introduces μARM, a pedagogically undergraduate-appropriate ARM7tdmi-based system emulator/architecture. Furthermore, we present JaeOS, a specification for a multi-layer OS supporting multiprocessing, VM, thread synchronization, external devices (disks, terminals, tape, printers, and network interfaces) and a file system. Traditional OS projects like Nachos[5] or OS/161[10] provide students with a significant starting code base. Students then modify existing OS modules or add new ones. With μARM/JaeOS students undergo a pedagogically different experience of starting only with a hardware emulator and ending with a completely student written OS capable of running student written C programs. Marco Melletti, Michael Goldweber, Renzo Davoli |
ITiCSE | 3 |
| 2012 | Supporting operating systems projects using the μMPS2 hardware simulatorabstractWe live in a multicore world. In spite of this observation, none of the available system emulators designed for undergraduate education and for use in operating systems courses support multiprocessors. This paper presents μMPS2, a pedagogically undergraduate-appropriate multiprocessor system emulator/architecture. Using μMPS2 educators now have the ability to structure realistic operating system projects to maximize student exposure to the ubiquitous parallelism and concurrency present in current computing devices. Michael Goldweber, Renzo Davoli, Tomislav Jonjic |
ITiCSE | 2 |
| 2008 | VDE: an emulation environment for supporting computer networking coursesabstractEmulators have long been a valuable tool in teaching. Particularly in the OS course, emulators have allowed students to experiment meaningfully with different machine architectures. Furthermore, many such tools run in user-mode, allowing students to operate as system administrators without the concomitant security risks. Virtual Distributed Ethernet (VDE) is a system which emulates, in user-mode, all aspects of an internet, including switches, routers, communication lines, etc, in a completely realistic manner, consistent with the operation of such artifacts in the real world.VDE's can be implemented on a single computer, spread over several machines on the same LAN or scattered across the Internet. A VDE can interoperate with both real systems (via standard virtual interface/connectivity tools) and several virtual machine environments, support encryption, and actually run fast enough to support real applications. Furthermore, a VDE can interface/interoperate with real networks. VDN's have proven highly effective in supporting both undergraduate and graduate networking courses, and a wide range of student experiments and projects. Michael Goldweber, Renzo Davoli |
ITiCSE | 2 |
| 2005 | Virtual square (V2) in computer science educationabstractIt is common to name as virtual the imaginary space that can be created by software using computers and networks. This space is not only a set of processing and communications means and methods but it is also a space where humans can "meet," exchange ideas, leave messages etc. Students in computer science must learn how to design, implement, manage and debug the systems and networks that create this virtual space. Furthermore, CS students need an experimental environment --a playground-- where they can develop their skills at creating and supporting these virtual environments.For this "playground" we propose a virtual world made up of emulated computer systems and emulated networks. This emulated world will be the students' testing environment, where they can run their own services, administer their own machines and set up security attacks without any danger to real networks and systems. It is a virtual space based on virtual machines and virtual networks but it is also a meeting place for computer science students, where they can test the effectiveness of their ideas.This "space" therefore is a twice virtual space, which we call virtual to the second power or virtual squared (V2). It is a virtual environment that is a also virtual location (i.e. a town square) where different real computers, virtual systems and people can meet and communicate. Renzo Davoli, Michael Goldweber |
ITiCSE | 1 |
| 2005 | The Kaya OS project and the muMPS hardware emulatorabstractIdeally, the most meaningful learning experience for students in an undergraduate OS course would be to develop fully-functional OS's on their own. This can be accomplished using μmps, a hardware emulator for a pedagogically undergraduate-appropriate hardware architecture, along with Kaya, a specification for a multi-layer OS supporting multiprocessing, VM, thread synchronization, external devices (disks, terminals, tape, printers, and network interfaces) and a file system.Traditional OS projects like Nachos[3] or OS/161[9] provide students with a significant starting code base. Students then modify existing OS modules or add new ones. With μmps/Kaya students undergo an innovative and pedagogically different experience of starting only with a hardware emulator (i.e. no initial OS code base for students to build on/replace) and ending with a completely student written OS capable of running student written C programs. Michael Goldweber, Renzo Davoli, Mauro Morsiani |
ITiCSE | 2 |
| 2004 | Teaching operating systems administration with user mode linuxabstractUser Mode Linux is a virtual machine running on a GNU-Linux operating system. It is the right choice for teaching operating systems' administration, as it does not need any dedicated hardware. It runs at user level (no need for root, i.e. administrator, access or possible security threats) and it does not have the performance problems of an emulator. This paper describes how to set up a laboratory for teaching operating systems' administration. Renzo Davoli |
ITiCSE | 1 |
| 2001 | The NetWire emulator: a tool for teaching and understanding networksabstractThe evolution of the parallel computing theory has shown over years the need for complex and reliable emulation tools for teaching, learning and developing new distributed algorithms in a realistic network environment. NetWire[emu] is a distributed architecture designed for educational and research purposes which provides a synthetic and realistic network environment that may be used to teach and learn parallel algorithms (or parallel operating systems) as well as to research and develop new distributed algorithms.NetWire is an architecture based on a client/server derivation scheme: each client can interact with one or more servers emulating one or more networks by the NOEL protocol (Network Oriented Emulation Language), which is an extension of TCL over TCP/IP specifically designed for NetWire. The user can thus control all the physical parameters of each network or part of it (communication channels, hubs, network adapters and so on).Furthermore, the NetWire API library interfaces the synthetic network environment to real software applications with ease, hiding the whole architecture behind the appearance of a network device driver, fully compatible with the operating system the applications run on.Moreover, NetWire already provides a featured Xwindows interface, and because of the integrated TCL language and the interactions between NOEL and TK, it is possible to fastly build up new and powerful GUI based programs.Thus, the field of application of NetWire is twofold: on a side, it may be used as a tool for teaching distributed algorithms on parallel and distributed operating systems, and on the other one it is a tool for the research and development of new distributed algorithms. Enrico Carniani, Renzo Davoli |
ITiCSE | 2 |
| 2001 | Group Communication in Partitionable Systems: Specification and AlgorithmsabstractGives a formal specification and an implementation for a partitionable group communication service in asynchronous distributed systems. Our specification is motivated by the requirements for building "partition-aware" applications that can continue operating without blocking in multiple concurrent partitions and can reconfigure themselves dynamically when partitions merge. The specified service guarantees liveness and excludes trivial solutions, it constitutes a useful basis for building realistic partition-aware applications, and it is implementable in practical asynchronous distributed systems where certain stability conditions hold. Özalp Babaoglu, Renzo Davoli, Alberto Montresor |
IEEE Trans. Software Eng. | 2 |
| 1999 | Learning operating systems structure and implementation through the MPS computer system simulatorabstractLab activity is fundamental for the real understanding of several computer science topics such as operating systems. We have built our own hardware emulator after using software tools from other Universities for several years. MPS is a general-purpose computer system simulator based on MIPS R3000 processor. Together with the main processor, RAM, ROM, disks, tapes, printer and terminal interfaces are carefully emulated and fully configurable; non-volatile memory units may be retained between simulations.MPS features a full-fledged graphic user interface running under X Window, complete sources and documentation. Along with it we present TINA, an experimental project on operating system development, together with several other project proposals. Mauro Morsiani, Renzo Davoli |
SIGCSE | 2 |
| 1998 | System Support for Partition-Aware Network ApplicationsabstractNetwork applications and services need to be environment-aware in order to meet non-functional requirements in increasingly dynamic contexts. We consider partition awareness as an instance of environment awareness in network applications that need to be reliable and self-managing. Partition-aware applications dynamically reconfigure themselves and adjust the quality of their services in response to partitioning and merging of networks. As such, they can automatically adapt to changes in the environment so as to remain available in multiple partitions without blocking, albeit with reduced or degraded functionality. We propose a system layer consisting of group membership and reliable multicast services that provides systematic support for partition-aware application development. We illustrate the effectiveness of the proposed interface by solving several problems that represent different classes of realistic network applications. Özalp Babaoglu, Renzo Davoli, Alberto Montresor, Roberto Segala |
ICDCS | 2 |
| 1996 | Parallel Computing in Networks of Workstations with ParalexabstractModern distributed systems consisting of powerful workstations and high-speed interconnection networks are an economical alternative to special-purpose supercomputers. The technical issues that need to be addressed in exploiting the parallelism inherent in a distributed system include heterogeneity, high-latency communication, fault tolerance and dynamic load balancing. Current software systems for parallel programming provide little or no automatic support towards these issues and require users to be experts in fault-tolerant distributed computing. The Paralex system is aimed at exploring the extent to which the parallel application programmer can be liberated from the complexities of distributed systems. Paralex is a complete programming environment and makes extensive use of graphics to define, edit, execute, and debug parallel scientific applications. All of the necessary code for distributing the computation across a network and replicating it to achieve fault tolerance and dynamic load balancing is automatically generated by the system. In this paper we give an overview of Paralex and present our experiences with a prototype implementation. Renzo Davoli, Luigi-Alberto Giachini, Özalp Babaoglu, Alessandro Amoroso, Lorenzo Alvisi |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 1992 | Paralex: an environment for parallel programming in distributed systemsabstractModern distributed systems consisting of powerful workstations and high-speed interconnection networks are an economical alternative to special-purpose super computers. The technical issues that need to be addressed in exploiting the parallelism inherent in a distributed system include heterogeneity, high-latency communication, fault tolerance and dynamic load balancing. Current software systems for parallel programming provide little or no automatic support towards these issues and require users to be experts in fault-tolerant distributed computing. The Paralex system is aimed at exploring the extent to which the parallel application programmer can be liberated from the complexities of distributed systems. Paralex is a complete programming environment and makes extensive use of graphics to define, edit, execute and debug parallel scientific applications. All of the necessary code for distributing the computation across a network and replicating it to achieve fault tolerance and dynamic load balancing is automatically generated by the system. In this paper we give an overview of Paralex and present our experiences with a prototype implementation. Özalp Babaoglu, Lorenzo Alvisi, Alessandro Amoroso, Renzo Davoli, Luigi-Alberto Giachini |
ICS | 4 |