System Suspend with Asynchronous Resume using CXL-Based Persistent Memory

  • Typ:Bachelorarbeit
  • Datum:07.10.2024
  • Betreuung:

    Prof. Dr. Frank Bellosa
    Yussuf Khalil

  • Bearbeitung:Felix Zimmer
  • Links:PDF
  • Abstract
    Optimizing power consumption of computer systems has been a key objective in operating systems-related research for many years. Toward this goal, suspending a system to a sleep state while it is not in use has proven invaluable. Regarding sleep states, a trend away from ACPI-defined modes, such as S3, and towards operating system-directed sleep can be observed. While this development improves resume latency, it sacrifices on energy conservation, as the system cannot be powered off entirely when employing these modes. In this thesis, we present a novel approach to system suspend, Suspend-to-CXL, using CXL-based persistent memory to store the context of the system, allowing the machine to be powered off completely, thus consuming little energy during sleep. In order to ensure rapid recovery of the system after sleep, we propose an asynchronous resume strategy, which initially only restores context necessary for the operating system to resume and returns state of user applications to system memory only when the system is responsive again. We implement our design on physical hardware, employing a CXL-capable FPGA to mimic persistent CXL storage. Our evaluation reveals that Suspend-to-CXL exhibits constant resume times of approximately 11 s, regardless of system memory usage. Moreover, our implementation is able to undercut hibernation on Linux in terms of energy consumption by as much as 5.5 times on suspend and 6 times on resume.


    BibTex:

    @bachethesis{System Suspend with Asynchronous
    Resume using CXL-Based
    Persistent Memory,
      author = {Felix Zimmer},
      title = {System Suspend with Asynchronous
    Resume using CXL-Based
    Persistent Memory},
      type = {Bachelor Thesis},
      year = 2024,
      month = oct# "07",
      school = {Operating Systems Group, Karlsruhe Institute of Technology (KIT), Germany}
      }