Сегодня 01 марта 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Процессоры и память

SMP на домашнем компьютере

⇣ Содержание

2. SMP в софте

Софт, в свою очередь, тоже не стоял на месте и развивался параллельно с железом. Первое, на что следует обратить внимание - это развитие операционных систем ака ОС в роли связующих компонентов между SMP-железом и приложениями. На втором месте (но отнюдь не второстепенном) стоит эволюция самих приложений в направлении SMP.

Первой настольной ОС, поддерживающей SMP на РС, была Windows NT 3.0, появившаяся в конце 93 года почти одновременно с Pentium. Потом о поддержке SMP на РС заявил Novell в своей NetWare, и, наконец, Linux, начиная с ядра версии 1.3.31. В принципе, реализовать поддержку SMP операционной системой оказалось довольно легко, особенно, после реализации вытесняющей многозадачности в самой ОС, фактически, все SMP-ОС являются многозадачными, однако, обратное неверно. Из-за того, что авторы не имели чести общаться с NetWare и считают Linux довольно сложной ОС для обычного пользователя, то речь дальше пойдет об NT, как наиболее вероятном кандидате на роль домашней SMP-ОС. Примечание: один из авторов является пользователем Linux, что, однако, не мешает ему реально оценивать шансы Linux на рынке домашних ОС.

Лозунгами при создании NT ака "New Technology" стали две фразы: повышение безопасности и поддержка SMP. Именно, эти фразы были профилирующими в 600-страничном документе, описывающем новую операционную систему Microsoft. Помимо стандартных механизмов защиты, обязательных для серверной ОС, в дело повышения надежности, стабильности и производительности системы внес свой вклад HAL - Hardware Abstraction Layer, часть NT, контролирующая железо и прячущая его от приложений. Задача HAL состоит в создании некой прослойки между железом и приложением, запрещая работать с железом напрямую, чем не только облегчает жизнь приложению, но и настройку драйверов: например, устройства PCI не ограничены 16-ю прерываниями, в NT их, благодаря HAL, 256. Помимо всего прочего HAL заведует распределением нитей между железом, в том числе между процессорами (thread (технич. англ.) - нить, линия исполнения; программа собирает/сплетает задачи, которые она должна выполнить в одну или несколько нитей; HAL, в свою очередь, "скармливает" нити железу; multithreaded application - многопоточное приложение; приложение, которое генерит несколько нитей). Полезно запомнить, что в каждый момент времени один сколь угодно навороченный процессор может исполнять только одну нить, два процессора - две, и т.д. А теперь представьте себе, что в момент прочтения этой статьи на вашей машине запущено около 60-100 нитей. Конечно, не все из них активны, в большинстве своем эти нити пассивны, но когда становятся активными по крайней мере две нити или больше, то тут стоит иметь хотя бы два процессора. Очевидно, что приложение, которое генерирует несколько активных нитей будет только радо дополнительным процессорам, ведь благодаря HAL, который распределяет активные нити между процессорами, становится возможной многопроцессорность и истинная многозадачность, помимо элементарного увеличения производительности.

Последняя фраза нуждается в пояснении. При условии использования SMP-ОС пользователь может инициировать следующие ситуации:

· Многопоточное приложение;
· Многозадачность одного приложения, т.е. несколько исполняемых копий одного приложения;
· Многозадачность разных приложений, т.е. когда выполняются одновременно несколько копий различных приложений;
· Однопоточное приложение.

Один процессор будет выполнять их с постоянной для каждого варианта скоростью, фактически, он будет всегда находится в четвертой ситуации. Производительность же SMP-системы никогда не опускается ниже третьего пункта, что можно продемонстрировать на простом примере: представим, что вы записываете CDROM, слушаете MP3 и играете в Quake2 по сети одновременно. Эта ситуация кажется невозможной: либо MP3 будет глючить, либо болванка запорется, либо не поиграете нормально в Quake2, а то и все сразу. С двумя Pentium Pro 233 (или Celeron, или Pentium II, или еще что) ничего этого не произойдет, болванка не запорется, и вы при этом сможете спокойно играть в Кваку, одновременно слушая MP3.

Итоговая производительность, как правило, составляет около 130-190% от первоначальной производительности в зависимости от приложения, что все равно очень неплохо (около десяти процентов "съедаются" синхронизацией и общением процессоров друг с другом). К слову сказать, ни один разгон процессора без использования специального охлаждения (вроде жидкого азота) столько не даст. Помимо увеличения производительности, пользователь получит необычайную плавность и отзывчивость системы в повседневной работе, что невозможно на однопроцессорной системе. Иногда эффект от перехода на SMP бывает столь ярок, что некоторые личности кричат о том, что их "новая система на двух Celeron-366 даже без разгона порвет в клочья 600-й P3 или Athlon в идентичной конфигурации, а с разгоном и подавно". Кстати, путем нехитрых вычислений авторы подсчитали, что "чистая" производительность (именно производительность, а не частота) Celeron-366, увеличенная на 30%, что примерно соответствует ее минимальному приросту в SMP-системе, будет уже соответствовать уровню P3-450. В ситуации же с максимальным приростом, производительность системы на двух Celeron-366 будет находится на уровне DEC Alpha 21264-600. Что называется: "Почувствуйте разницу!".

Как уже говорилось выше, существуют приложения, генерирующие несколько активных нитей, например, 3D Studio Max, AutoCAD, Maya, Photoshop, Cubase, все приложения для data-mining, и, наконец, Q3 Arena (если в консоли набрать r_smp 1; прирост на Fastest - около 36%). Однако, без современной ОС, распределяющей нити между процессорами, любые приложения будут обречены работать в своем обычном однонитевом-однопоточном режиме. До недавнего времени авторы могли бы посоветовать только "dual boot" между Windows 9x и NT 4.0, но с 23 декабря 1999 появилась возможность объединить качества, присущие этим двум ОС в одном "флаконе".

Следующая страница → ← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Новая статья: Yakuza Kiwami 3 & Dark Ties — вы чего наделали?! Рецензия 10 ч.
Хоррор-приключение Necrophosis получит расширенное издание и выйдет на консолях 16 ч.
YouTube запустил тест ИИ-ремиксов в Shorts: новые видео создаются из старых 16 ч.
Samsung отрезала опытным пользователям доступ к ряду ключевых инструментов в смартфонах Galaxy 16 ч.
Энтузиаст воссоздал Linux образца 1994 года с графическим интерфейсом в браузере 16 ч.
Google придумала, как защитить HTTPS от квантового взлома, не увеличивая размеры TLS-сертификатов 20 ч.
OpenAI уволила сотрудника за использование инсайдерской информации для ставок на рынках прогнозов 21 ч.
Ремейк Bloodborne от Bluepoint Games едва не стал реальностью — Sony проект одобрила, но был нюанс 23 ч.
OpenAI договорилась об использовании своих ИИ-моделей Пентагоном вместо Anthropic 28-02 08:12
Сотни сотрудников Google и OpenAI поддержали Anthropic в противостоянии с Пентагоном 28-02 07:15
Отчёт TSMC показал, что теперь Nvidia является крупнейшим клиентом компании, а не Apple 2 ч.
Акции Nvidia за неделю подешевели на 7 %, несмотря на неплохой квартальный отчёт 2 ч.
Заказы на выпуск 2-нм чипов у компании TSMC распределены на ближайшие пару лет 3 ч.
Huawei продемонстрирует суперкомпьютерные системы в Барселоне на MWC 2026 4 ч.
Hyundai инвестирует более $6 млрд в ИИ ЦОД, роботов, водородную и солнечную энергетику 10 ч.
Xiaomi представила гиперкар Vision GT для Gran Turismo 7 — его покажут живьём на MWC 2026 11 ч.
Asus поделилась деталями ProArt GeForce RTX 5090 — минималистичный дизайн в стиле Founders Edition и заводской разгон GPU 11 ч.
НАТО вооружилось тараканами-киборгами — разведка станет незаметной, но уязвимой к тапку 14 ч.
JEDEC опубликовала спецификации флеш-памяти UFS 5.0 — до 10,8 Гбайт/с для самых быстрых смартфонов 15 ч.
Asus и Dell готовят доступные компьютеры с подпиской на облачную Windows 365 16 ч.