The Computer Journal
Application performance and flexibility on exokernel systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
Cooperative Task Management Without Manual Stack Management
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
A blueprint for introducing disruptive technology into the Internet
ACM SIGCOMM Computer Communication Review
ReVirt: enabling intrusion analysis through virtual-machine logging and replay
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
Simulation with real world network stacks
WSC '05 Proceedings of the 37th conference on Winter simulation
Debugging operating systems with time-traveling virtual machines
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Alpine: a user-level infrastructure for network protocol development
USITS'01 Proceedings of the 3rd conference on USENIX Symposium on Internet Technologies and Systems - Volume 3
To infinity and beyond: time-warped network emulation
NSDI'06 Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3
ALS '01 Proceedings of the 5th annual Linux Showcase & Conference - Volume 5
Large-scale virtualization in the Emulab network testbed
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Trellis: a platform for building flexible, fast virtual networks on commodity hardware
CoNEXT '08 Proceedings of the 2008 ACM CoNEXT Conference
Crossbow virtual wire: network in a box
LISA'09 Proceedings of the 23rd conference on Large installation system administration
Rump file systems: kernel code reborn
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
A network in a laptop: rapid prototyping for software-defined networks
Hotnets-IX Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks
SliceTime: a platform for scalable and accurate network emulation
Proceedings of the 8th USENIX conference on Networked systems design and implementation
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
How hard can it be? designing and implementing a deployable multipath TCP
NSDI'12 Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation
A performance and scalability evaluation of the ns-3 distributed scheduler
Proceedings of the 5th International ICST Conference on Simulation Tools and Techniques
Reproducible network experiments using container-based emulation
Proceedings of the 8th international conference on Emerging networking experiments and technologies
DCE cradle: simulate network protocols with real stacks for better realism
Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques
Hi-index | 0.00 |
We describe the first capability, to our knowledge, to execute nearly unmodified applications and Linux kernel code in the context of a widely-used open source discrete event networking simulator (ns-3). We propose Direct Code Execution (DCE), a framework that dramatically increases the number of available protocol models and realism available for ns-3 simulations. DCE meets the goals recently proposed for fully reproducible networking research and runnable papers, with the added benefits of 1) the ability of completely deterministic reproducibility, 2) the scalability that simulation time dilation offers, 3) capabilities supporting automated code coverage analysis, and 4) improved debuggability via execution within a single address space. In this paper, we describe in detail DCE, report on packet processing benchmarks and showcase key features of the framework with different use cases. We reproduce a previously published Multipath TCP (MPTCP) experiment and highlight how code coverage testing can be automated by showing results achieving 55-86% coverage of the MPTCP implementation. Then we demonstrate how network stack debugging can be easily performed and reproduced across a distributed system. Our first benchmarks are promising and we believe this framework can benefit the network community by enabling realistic, reproducible experiments and runnable papers.