Withdraw
Loading…
TimeKeeper: a lightweight and scalable virtual time system for the Linux Kernel
Lamps, Jereme Matthew
Loading…
Permalink
https://hdl.handle.net/2142/78385
Description
- Title
- TimeKeeper: a lightweight and scalable virtual time system for the Linux Kernel
- Author(s)
- Lamps, Jereme Matthew
- Issue Date
- 2015-04-16
- Department of Study
- Computer Science
- Discipline
- Computer Science
- Degree Granting Institution
- University of Illinois at Urbana-Champaign
- Degree Name
- M.S.
- Degree Level
- Thesis
- Keyword(s)
- Linux Kernel
- Time Dilation
- Virtualization
- Simulation
- Emulation
- Linux Containers (LXCs)
- Common Open Research Emulator (CORE)
- NS-3
- Abstract
- The ability to embed certain processes in virtual time is very useful to the Linux Kernel. Each process may be directed to advance in virtual time either more quickly or more slowly than actual (real) time. This allows interactions between processes and physical devices to be artificially scaled. For example, a network may appear to be ten times faster within a process than it actually is. Virtual time is also useful in the context of mixing emulation with a network simulator, in order to reduce the overall workload on the simulator. If virtual time is progressing more slowly than real time, the simulator will have additional time to process events. This allows for more precise packet timing, thus improving the fidelity of the experiment. The purpose of this thesis is to present TimeKeeper, a lightweight and scalable virtual time system for the Linux Kernel. TimeKeeper consists of a simple patch to the 3.10.9 Linux Kernel and a Linux Kernel Module. With TimeKeeper, a user is able to assign a specific time dilation factor to any process, as well as freeze/unfreeze a process (where virtual time will not advance when a process is frozen). In addition, TimeKeeper supports synchronized (in virtual time) emulation, by grouping processes together into an experiment where the virtual times of the processes remain synchronized, even when their virtual time advances at different rates. This thesis explores the motivation for TimeKeeper, as well as potential use cases. TimeKeeper’s API and design goals are discussed. With the various design goals in mind, this paper explores the implementation of Timekeeper, including specific file modifications to the Linux Kernel in conjunction with the underlying algorithms. Additionally, various experiments conducted with TimeKeeper are reviewed. These experiments include synchronization efficiency, TimeKeeper overhead, and scalability. Finally, integration and utilization of TimeKeeper with different network simulators is examined. TimeKeeper allows the virtual times of multiple processes to be tightly synchronized, plus scaling to a very large number of processes. This creates the ability to execute far more complex simulations than previously possible utilizing the same hardware.
- Graduation Semester
- 2015-5
- Type of Resource
- text
- Permalink
- http://hdl.handle.net/2142/78385
- Copyright and License Information
- Copyright 2015 Jereme Matthew Lamps
Owning Collections
Graduate Dissertations and Theses at Illinois PRIMARY
Graduate Theses and Dissertations at IllinoisDissertations and Theses - Computer Science
Dissertations and Theses from the Dept. of Computer ScienceManage Files
Loading…
Edit Collection Membership
Loading…
Edit Metadata
Loading…
Edit Properties
Loading…
Embargoes
Loading…