<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/oai-pmh.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-09-19T15:28:22Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/78385" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/78385</identifier>
        <datestamp>2023-07-11</datestamp>
        <setSpec>col_2142_5131</setSpec>
        <setSpec>col_2142_10761</setSpec>
        <setSpec>com_2142_5130</setSpec>
        <setSpec>com_2142_10755</setSpec>
        <setSpec>com_2142_234</setSpec>
      </header>
      <metadata>
        <thesis xmlns="http://www.ndltd.org/standards/metadata/etdms/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.ndltd.org/standards/metadata/etdms/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdms11.xsd http://purl.org/dc/elements/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdmsdc.xsd">
          <dc:creator>Lamps, Jereme Matthew</dc:creator>
          <dc:date>2015-07-22T22:16:47Z</dc:date>
          <dc:date>2015-07-22T22:16:47Z</dc:date>
          <dc:date>2015-05</dc:date>
          <dc:date>2015-04-16</dc:date>
          <dc:description>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.</dc:description>
          <dc:description>Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2015-07-22 without embargo terms</dc:description>
          <dc:date>2015-5</dc:date>
          <dc:description>The student, Jereme Lamps, accepted the attached license on 2015-04-15 at 16:48.</dc:description>
          <dc:description>The student, Jereme Lamps, submitted this Thesis for approval on 2015-04-15 at 16:55.</dc:description>
          <dc:description>This Thesis was approved for publication on 2015-04-16 at 09:38.</dc:description>
          <dc:description>DSpace SAF Submission Ingestion Package generated from Vireo submission #7858 on 2015-07-22 at 10:32:01</dc:description>
          <dc:description>Made available in DSpace on 2015-07-22T22:16:47Z (GMT). No. of bitstreams: 3
LAMPS-THESIS-2015.pdf: 981030 bytes, checksum: 049cf43ca16703181afd265e0f0fab95 (MD5)
lamps1_thesis.tar.gz: 5033858 bytes, checksum: d577cef7b3d0d232cae6c019352731e7 (MD5)
LICENSE.txt: 4209 bytes, checksum: 70b4803d0e2c7c052f09df0c071ac8b8 (MD5)
  Previous issue date: 2015-04-16</dc:description>
          <dc:format>application/pdf</dc:format>
          <dc:identifier>http://hdl.handle.net/2142/78385</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2015 Jereme Matthew Lamps</dc:rights>
          <dc:subject>Linux Kernel</dc:subject>
          <dc:subject>Time Dilation</dc:subject>
          <dc:subject>Virtualization</dc:subject>
          <dc:subject>Simulation</dc:subject>
          <dc:subject>Emulation</dc:subject>
          <dc:subject>Linux Containers (LXCs)</dc:subject>
          <dc:subject>Common Open Research Emulator (CORE)</dc:subject>
          <dc:subject>NS-3</dc:subject>
          <dc:title>TimeKeeper: a lightweight and scalable virtual time system for the Linux Kernel</dc:title>
          <dc:type>text</dc:type>
          <dc:type>text</dc:type>
          <degree>
            <department>Computer Science</department>
            <discipline>Computer Science</discipline>
            <grantor>University of Illinois at Urbana-Champaign</grantor>
            <level>Thesis</level>
            <name>M.S.</name>
          </degree>
        </thesis>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
