Skip to main navigation Skip to search Skip to main content

Catnap: A Backoff Scheme for Kernel Spinlocks in Many-Core Systems

Research output: Contribution to journalArticlepeer-review

Abstract

As the number of cores equipped in a system grows, the impact of the spinlock waiting inside the operating system (OS) kernel on the performance and energy efficiency of a system worsens. In particular, it deteriorates the effectiveness of simultaneous multithreading (SMT). Because spinlocks are indispensable in OS kernels, it is necessary to suppress the spin wait overhead in the many-core systems. To address this issue, we propose the catnap spinlock that exploits the ACPI-C state, which is named as the catnap state and is induced by the MONITOR/MWAIT instruction pair. The catnap state releases the processor resources while deceiving the kernel that the thread is iterating a busy-waiting loop. Because entering and exiting from the C-state require considerable time, we applied the catnap loop only to the non-head waiters not to delay the lock handover operation. Furthermore, we selectively applied the catnap spinlock to the lock instances for sufficiently long critical sections based on the observation made in profiling runs. The proposed scheme was implemented in the Linux kernel and evaluated in a many-core processor system with a few workloads from the PARSEC and Re-aim benchmark suites. Our evaluation showed that the proposed scheme improved the performance by up to 33.59% and reduced energy consumption by 39.11%.

Original languageEnglish
Article number8978918
Pages (from-to)29842-29856
Number of pages15
JournalIEEE Access
Volume8
DOIs
StatePublished - 2020

UN SDGs

This output contributes to the following UN Sustainable Development Goals (SDGs)

  1. SDG 7 - Affordable and Clean Energy
    SDG 7 Affordable and Clean Energy

Keywords

  • energy efficiency
  • many-core
  • Spinlocks
  • symmetric multithreading
  • synchronization

Fingerprint

Dive into the research topics of 'Catnap: A Backoff Scheme for Kernel Spinlocks in Many-Core Systems'. Together they form a unique fingerprint.

Cite this