20-24 September 2021
US/Pacific timezone

Cgroup v1/v2 Abstraction Layer

20 Sep 2021, 07:30
25m
Microconference2/Virtual-Room (LPC Virtual)

Microconference2/Virtual-Room

LPC Virtual

150
Containers and Checkpoint/Restore MC Containers and Checkpoint/Restore MC

Speaker

Tom Hromatka

Description

The Oracle database offers a long-term-stable version that is supported and
maintained for many years. But as Linux distributions slowly transition
from cgroup v1 to cgroup v2, this creates a challenge for the DB. cgroup v1
and cgroup v2 have different interfaces and best practices.

This talk is to discuss the current status of the cgroup abstraction layer, how
applications like the Oracle database plan to use it, and gather/discuss other
users' requirements for this layer.

  • cgroup v2 support added to libcgroup - DONE [1]
  • cgroup v1/v2 abstraction layer - OUT FOR REVIEW [2]
  • This layer hides the underlying details of cgroup v1 vs v2 (e.g. cpu.weight
    vs cpu.shares). The user can make a request in v1 or v2 format, and the layer
    will do the proper translation. The user still needs to have intimate cgroup and
    system knowledge
  • Higher-level abstraction layer - GATHERING REQUIREMENTS
  • The goal of this layer is to abstract away the gory cgroup details and
    let the user specify their needs (e.g. 2 CPUs that are side channel attack
    safe). This layer should also handle interactions with systemd (dbus,
    cgroup delegation, etc.)

[1] https://github.com/libcgroup/libcgroup/releases/tag/v2.0
[2] https://sourceforge.net/p/libcg/mailman/message/37317688/

I agree to abide by the anti-harassment policy I agree

Primary author

Tom Hromatka

Presentation Materials

There are no materials yet.