# LXC
Linux Container プロジェクト(2007 年頃に登場)。namespace・control group(cgroup)などのカーネルメカニズムを提供し、共有 OS 上でプロセスを隔離する。Linux/Unix における containerisation の de-facto 標準と位置付けられる。([[@2019__TCC__Cloud Container Technologies - A State-of-the-Art Review]])
本論文は LXC 出現を「コンテナ研究の起点」として 2007 年から primary studies を採取しており、Soltesz ら([S35], 2007)を最も引用される pioneer 論文として挙げる。LXC 自体への研究は限定的だが、[[Docker]] が LXC メカニズムを利用したことでコンテナ研究全体が加速した。
LXC は Docker と異なり systemd のような完全な init システムを実装し、標準的な Linux インストールにできるだけ近い環境を作ることを目指す。ファイルシステムには機能完全な ZFS を用い(Docker のレイヤー化ファイルシステムとは対照的)、非 root 特権のコンテナ実行を早期からサポートしていた(cgroups v2 利用)。(Source: [[@2021__Middleware__A Fresh Look at the Architecture and Performance of Contemporary Isolation Platforms]] §2.2.2)
## Middleware '21 横断ベンチマークにおけるLXC
[[@2021__Middleware__A Fresh Look at the Architecture and Performance of Contemporary Isolation Platforms]] の横断比較では、LXCはメモリ・I/Oでネイティブ同等、ネットワークではブリッジ方式により9.19%のペナルティを負った。一方で起動時間はデフォルトのsystemd initシステム(Dockerの軽量な`tini`と対照的)により約800msと、コンテナの中で意外な外れ値になった(Finding 13)。実運用ワークロードのMemcached YCSBベンチマークでは全プラットフォーム中最良の性能を示した(Finding 17)。
## 関連
- ソース: [[@2019__TCC__Cloud Container Technologies - A State-of-the-Art Review]] / [[@2021__Middleware__A Fresh Look at the Architecture and Performance of Contemporary Isolation Platforms]]
- エンティティ: [[Docker]]
- 概念: [[コンテナオーケストレーション]] / [[コンテナ仮想化]]
## 出典
- [[@2019__TCC__Cloud Container Technologies - A State-of-the-Art Review]](§2.1 Container Technology Principles)
- [[@2021__Middleware__A Fresh Look at the Architecture and Performance of Contemporary Isolation Platforms]](§2.2.2, Finding 13, 17)