Demo Data from SIGIR 2026 / reviewers in the wild / expert
Christoffer Dall
dblp:12/10322
· DBLP profile ↗
9ranked-venue papers
5as first author
1since 2021 · last 2022
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 2 first-author · 1 since 2021Systems, architecture and hardware · 5 · 4 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
6 papers |
Cloud and datacenter computing · 77% Processor architecture and microarchitecture · 23% | |
| Software engineering, system software, and programming languages
5 papers |
Operating systems · 83% Programming languages and type systems · 17% | |
| Network and information security
3 papers |
Hardware security and side channels · 88% Systems and software security · 12% |
Topics — the 14 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Cloud and datacenter computing
virtualization |
1.1 | 5 | 2017 | Optimizing the Design and Implementation of the Linux ARM Hypervisor · USENIX ATC 2017 NEVE: Nested Virtualization Extensions for ARM · SOSP 2017 ARM Virtualization: Performance and Architectural Implications · ISCA 2016 |
Hardware security and side channels
trusted execution environments |
0.6 | 1 | 2022 | Design and Verification of the Arm Confidential Compute Architecture · OSDI 2022 |
Processor architecture and microarchitecture › instruction set architecture › RISC
ARM architecture |
0.4 | 2 | 2017 | NEVE: Nested Virtualization Extensions for ARM · SOSP 2017 ARM Virtualization: Performance and Architectural Implications · ISCA 2016 |
Operating systems › virtualization
hypervisor |
0.3 | 1 | 2017 | Optimizing the Design and Implementation of the Linux ARM Hypervisor · USENIX ATC 2017 |
Cloud and datacenter computing › virtualization
nested virtualization |
0.3 | 1 | 2017 | NEVE: Nested Virtualization Extensions for ARM · SOSP 2017 |
Operating systems
virtualization |
0.3 | 2 | 2012 | The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture · ACM Trans. Comput. Syst. 2012 Cells: a virtual mobile smartphone architecture · SOSP 2011 |
Cloud and datacenter computing › virtualization › virtualization performance
hypervisor performance |
0.2 | 1 | 2016 | ARM Virtualization: Performance and Architectural Implications · ISCA 2016 |
Programming languages and type systems › interoperability
binary compatibility |
0.2 | 1 | 2014 | Cider: native execution of iOS apps on android · ASPLOS 2014 |
Operating systems › kernel
kernel design |
0.2 | 1 | 2014 | Cider: native execution of iOS apps on android · ASPLOS 2014 |
Processor architecture and microarchitecture
instruction set architecture |
0.2 | 1 | 2022 | Design and Verification of the Arm Confidential Compute Architecture · OSDI 2022 |
Cloud and datacenter computing › virtualization › resource virtualization
mobile virtualization |
0.1 | 1 | 2011 | Cells: a virtual mobile smartphone architecture · SOSP 2011 |
Cloud and datacenter computing › virtualization
virtual machine monitor |
0.1 | 1 | 2017 | NEVE: Nested Virtualization Extensions for ARM · SOSP 2017 |
Systems and software security
isolation |
0.1 | 2 | 2012 | The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture · ACM Trans. Comput. Syst. 2012 Cells: a virtual mobile smartphone architecture · SOSP 2011 |
Cloud and datacenter computing › virtualization
hardware-assisted virtualization |
0.1 | 1 | 2016 | ARM Virtualization: Performance and Architectural Implications · ISCA 2016 |
Methods — techniques the papers use, named apart from their topics
linux kernel integration · 0.4hardware virtualization · 0.4device proxies · 0.3OS virtualization · 0.3paravirtualization · 0.3measurement · 0.2diplomatic functions · 0.2compile-time code adaptation · 0.2binary compatibility techniques · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Design and Verification of the Arm Confidential Compute Architecture
Xupeng Li, Xuheng Li, Christoffer Dall, Ronghui Gu, Jason Nieh, Yousuf Sait, Gareth Stockwell |
OSDI | 3 |
| 2017 | NEVE: Nested Virtualization Extensions for ARMabstractNested virtualization, the ability to run a virtual machine inside another virtual machine, is increasingly important because of the need to deploy virtual machines running software stacks on top of virtualized cloud infrastructure. As ARM servers make inroads in cloud infrastructure deployments, supporting nested virtualization on ARM is a key requirement, which has been met recently with the introduction of nested virtualization support to the ARM architecture. We build the first hypervisor to use ARM nested virtualization support and show that despite similarities between ARM and x86 nested virtualization support, performance on ARM is much worse than on x86. This is due to excessive traps to the hypervisor caused by differences in non-nested virtualization support. To address this problem, we introduce a novel paravirtualization technique to rapidly prototype architectural changes for virtualization and evaluate their performance impact using existing hardware. Using this technique, we propose Nested Virtualization Extensions for ARM (NEVE), a set of simple architectural changes to ARM that can be used by software to coalesce and defer traps by logging the results of hypervisor instructions until the results are actually needed by the hypervisor or virtual machines. We show that NEVE allows hypervisors running real application workloads to provide an order of magnitude better performance than current ARM nested virtualization support and up to three times less overhead than x86 nested virtualization. NEVE will be included in ARMv8.4, the next version of the ARM architecture. Jin Tack Lim, Christoffer Dall, Shih-Wei Li, Jason Nieh, Marc Zyngier |
SOSP | 2 |
| 2017 | Optimizing the Design and Implementation of the Linux ARM Hypervisor
Christoffer Dall, Shih-Wei Li, Jason Nieh |
USENIX ATC | 1 |
| 2016 | ARM Virtualization: Performance and Architectural ImplicationsabstractARM servers are becoming increasingly common, making server technologies such as virtualization for ARM of growing importance. We present the first study of ARM virtualization performance on server hardware, including multi-core measurements of two popular ARM and x86 hypervisors, KVM and Xen. We show how ARM hardware support for virtualization can enable much faster transitions between VMs and the hypervisor, a key hypervisor operation. However, current hypervisor designs, including both Type 1 hypervisors such as Xen and Type 2 hypervisors such as KVM, are not able to leverage this performance benefit for real application workloads. We discuss the reasons why and show that other factors related to hypervisor software design and implementation have a larger role in overall performance. Based on our measurements, we discuss changes to ARM's hardware virtualization support that can potentially bridge the gap to bring its faster VM-to-hypervisor transition mechanism to modern Type 2 hypervisors running real applications. These changes have been incorporated into the latest ARM architecture. Christoffer Dall, Shih-Wei Li, Jin Tack Lim, Jason Nieh, Georgios Koloventzos |
ISCA | 1 |
| 2014 | Cider: native execution of iOS apps on androidabstractWe present Cider, an operating system compatibility architecture that can run applications built for different mobile ecosystems, iOS or Android, together on the same smartphone or tablet. Cider enhances the domestic operating system, Android, of a device with kernel-managed, per-thread personas to mimic the application binary interface of a foreign operating system, iOS, enabling it to run unmodified foreign binaries. This is accomplished using a novel combination of binary compatibility techniques including two new mechanisms: compile-time code adaptation, and diplomatic functions. Compile-time code adaptation enables existing unmodified foreign source code to be reused in the domestic kernel, reducing implementation effort required to support multiple binary interfaces for executing domestic and foreign applications. Diplomatic functions leverage per-thread personas, and allow foreign applications to use domestic libraries to access proprietary software and hardware interfaces. We have built a Cider prototype, and demonstrate that it imposes modest performance overhead and runs unmodified iOS and Android applications together on a Google Nexus tablet running the latest version of Android. Jeremy Andrus, Alexander Van't Hof, Naser AlDuaij, Christoffer Dall, Nicolas Viennot, Jason Nieh |
ASPLOS | 4 |
| 2014 | KVM/ARM: the design and implementation of the linux ARM hypervisorabstractAs ARM CPUs become increasingly common in mobile devices and servers, there is a growing demand for providing the benefits of virtualization for ARM-based devices. We present our experiences building the Linux ARM hypervisor, KVM/ARM, the first full system ARM virtualization solution that can run unmodified guest operating systems on ARM multicore hardware. KVM/ARM introduces split-mode virtualization, allowing a hypervisor to split its execution across CPU modes and be integrated into the Linux kernel. This allows KVM/ARM to leverage existing Linux hardware support and functionality to simplify hypervisor development and maintainability while utilizing recent ARM hardware virtualization extensions to run virtual machines with comparable performance to native execution. KVM/ARM has been successfully merged into the mainline Linux kernel, ensuring that it will gain wide adoption as the virtualization platform of choice for ARM. We provide the first measurements on real hardware of a complete hypervisor using ARM hardware virtualization support. Our results demonstrate that KVM/ARM has modest virtualization performance and power costs, and can achieve lower performance and power costs compared to x86-based Linux virtualization on multicore hardware. Christoffer Dall, Jason Nieh |
ASPLOS | 1 |
| 2014 | Teaching operating systems using code reviewabstractLearning about operating systems often involves modifying a large and complex code base. Grading student projects can be difficult and time consuming, yet students often do not learn from their programming errors and struggle to understand core operating system concepts. We present GradeBoard, a code review system designed to simplify grading for instructors and enable students to understand and learn from their errors. GradeBoard provides an easy-to-use Web interface that allows instructors to annotate student code submissions with grading comments and scores, and students to discuss the comments and scores with instructors. GradeBoard presents student code changes with syntax highlighting and lets users collapse or expand code sections to provide a desired level of context, making it easier to read and understand student programming project submissions. Comments and scores are easily identifiable by visual cues, improving interaction between instructors and students. We have deployed and used GradeBoard in a large operating systems course involving Linux kernel programming projects. GradeBoard provided robust, easy-to-use functionality for reviewing Linux kernel code changes, improved the instructional staff grading experience, and over 90% of students surveyed indicated that GradeBoard improved their understanding of the kernel programming projects better than other alternatives. Christoffer Dall, Jason Nieh |
SIGCSE | 1 |
| 2012 | The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone ArchitectureabstractSmartphones are increasingly ubiquitous, and many users carry multiple phones to accommodate work, personal, and geographic mobility needs. We present Cells , a virtualization architecture for enabling multiple virtual smartphones to run simultaneously on the same physical cellphone in an isolated, secure manner. Cells introduces a usage model of having one foreground virtual phone and multiple background virtual phones. This model enables a new device namespace mechanism and novel device proxies that integrate with lightweight operating system virtualization to multiplex phone hardware across multiple virtual phones while providing native hardware device performance. Cells virtual phone features include fully accelerated 3D graphics, complete power management features, and full telephony functionality with separately assignable telephone numbers and caller ID support. We have implemented a prototype of Cells that supports multiple Android virtual phones on the same phone. Our performance results demonstrate that Cells imposes only modest runtime and memory overhead, works seamlessly across multiple hardware devices including Google Nexus 1 and Nexus S phones, and transparently runs Android applications at native speed without any modifications. Christoffer Dall, Jeremy Andrus, Alexander Van't Hof, Oren Laadan, Jason Nieh |
ACM Trans. Comput. Syst. | 1 |
| 2011 | Cells: a virtual mobile smartphone architectureabstractSmartphones are increasingly ubiquitous, and many users carry multiple phones to accommodate work, personal, and geographic mobility needs. We present Cells, a virtualization architecture for enabling multiple virtual smartphones to run simultaneously on the same physical cellphone in an isolated, secure manner. Cells introduces a usage model of having one foreground virtual phone and multiple background virtual phones. This model enables a new device namespace mechanism and novel device proxies that integrate with lightweight operating system virtualization to multiplex phone hardware across multiple virtual phones while providing native hardware device performance. Cells virtual phone features include fully accelerated 3D graphics, complete power, management features, and full telephony functionality with separately assignable telephone numbers and caller ID support. We have implemented a prototype of Cells that supports multiple Android virtual phones on the same phone. Our performance results demonstrate that Cells imposes only modest runtime and memory overhead, works seamlessly across multiple hardware devices including Google Nexus 1 and Nexus S phones, and transparently runs Android applications at native speed without any modifications. Jeremy Andrus, Christoffer Dall, Alexander Van't Hof, Oren Laadan, Jason Nieh |
SOSP | 2 |