vCPU - CI/CD用語集の定義
vCPU(仮想CPU)とは、クラウドプロバイダーが仮想マシンにスケジュール可能なcomputeの単位として提示する、物理プロセッサコアの1スレッドです。4 vCPUのrunnerは、OSのスケジューラーに4つのハードウェアスレッドを公開します。
CIで重要な理由
runnerのサイズは通常vCPU単位で表され、価格もそれに応じてスケールします。GitHubホストのubuntu-latest runnerは2 vCPUを提供し、より大きなrunnerは4、8、16、32、64を提供します。より多くのvCPUがbuildを高速化するのは、その作業が並列化可能な場合(複数のテストシャード、make -j、並列コンパイル)に限られます。
vCPU vs コア
同時マルチスレッディング(Intel Hyper-Threading)では、通常2つのvCPUが1つの物理コアを共有するため、2 vCPUが常に1 vCPUの2倍のthroughputになるとは限りません。CPUバウンドでcacheを多用する作業は、vCPU数が示すほどスケールしません。
関連ガイド
Runner - CI/CD Glossary DefinitionRunner: A **runner** is the machine that executes a job. It can be GitHub-hosted, self-hosted, or managed by…
CPU Throttling - CI/CD Glossary DefinitionCPU Throttling: CPU throttling is when the kernel (via cgroups CFS quota) caps a container or process to its…
Build Parallelization - CI/CD Glossary DefinitionBuild Parallelization: Build parallelization is splitting work across multiple cores or machines so independe…