hostprofi.ru
Подобрать хостинг
Термин·буква М

Многоядерный процессор

краткое определение

Многоядерный процессор — процессор с несколькими вычислительными ядрами на одном кристалле. Каждое ядро независимо выполняет инструкции, что позволяет параллельно обрабатывать несколько потоков задач и увеличивает суммарную производительность.

Многоядерный процессор содержит от 2 до 192 вычислительных ядер на одном или нескольких физических кристаллах. Каждое ядро имеет собственные регистры, L1 и L2 кэш. L3-кэш обычно разделяется между группами ядер или всеми ядрами процессора. Ядра работают независимо: одно выполняет запрос к базе данных, другое обрабатывает HTTP-запрос, третье — сжимает изображение.

Как работает

Операционная система распределяет потоки приложений по ядрам через планировщик. Linux использует CFS (Completely Fair Scheduler), Windows — Priority-based scheduler. Эффективность параллелизма зависит от архитектуры приложения: однопоточные приложения (Minecraft, Redis в однопоточном режиме) не выигрывают от добавления ядер.

Современные серверные процессоры 2024 года: Intel Xeon Scalable 5-го поколения — до 60 ядер, AMD EPYC Genoa/Bergamo — до 128/192 ядер. В виртуализации физические ядра делятся на vCPU: 1 физическое ядро = 2 vCPU с включённой гиперпоточностью (Hyper-Threading).

Для серверного хостинга: веб-сервер Nginx отлично масштабируется с ростом числа ядер (worker_processes auto). Node.js однопоточный, но с кластером использует все ядра. PostgreSQL масштабируется при параллельных запросах (max_parallel_workers).

История

Первые коммерческие многоядерные процессоры: IBM POWER4 (2001) — 2 ядра. AMD Athlon 64 X2 (2005) и Intel Core Duo (2006) — первые двухъядерники для массового рынка. Intel Xeon E5-2690 (2012) — 8 ядер. AMD EPYC 9654 (2022) — 96 ядер. ARM-серверы достигли 192 ядер (Ampere Altra Max, 2021).

На что обращать внимание

Тактовая частота и IPC (Instructions Per Clock) важнее числа ядер для однопоточных приложений. AMD EPYC 9654 работает на 2.4–3.7 ГГц базовой/турбо частоте — хуже для однопоточных задач, чем Intel Xeon с 3.5+ ГГц базовой. Для хостинга с PHP/WordPress важны частота и кэш, для аналитических БД — максимальное число ядер.

Архитектуры серверных многоядерных CPU

Серверные CPU: Intel Xeon Scalable (до 60 ядер), AMD EPYC (до 96 ядер). В облаке vCPU — виртуальный поток, соответствующий одному физическому потоку через Hyper-Threading. 1 физическое ядро с HT = 2 vCPU.

Многопоточность в серверных задачах

Nginx масштабируется: worker_processes = числу CPU-ядер. PostgreSQL использует параллельные запросы через max_parallel_workers. Однопоточные задачи (ряд игровых серверов, Redis) требуют высокой тактовой частоты.

NUMA и топология ядер

В двухсокетных серверах 2×32 ядра образуют 2 NUMA-узла. CPU pinning в виртуализации привязывает vCPU к конкретным физическим ядрам. Команда lscpu показывает полную топологию: NUMA-узлы, ядра, потоки.

Плотность vCPU в хостинге

Типичный оверкоммит CPU: 4:1 (4 vCPU на 1 физический поток). Для shared-хостинга: 10:1. Для premium VPS с гарантированными CPU: 1:1. Влияние на производительность: CPU steal в top. Более 10% steal — хост перегружен. Выбирайте хостера с прозрачной политикой оверкоммита.

Другие термины