Сегодня 23 февраля 2025
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
Тренды 🔥
Новая статья: Keep Driving — великолепная игра, сотканная из странных идей. Рецензия 6 ч.
Количество слияний и поглощений в российском IT-секторе в 2024 году выросло на треть 7 ч.
В рекордной краже криптовалюты у ByBit обвинили северокорейских хакеров 16 ч.
«Нам просто нужно больше мощностей»: OpenAI постепенно поборет зависимость от Microsoft 17 ч.
Трамповская криптооттепель: Coinbase удалось малой кровью отделаться от иска Комиссии по ценным бумагам США 17 ч.
Apple выпустила первую бету iOS 18.4, в которой появились «приоритетные уведомления» 19 ч.
Новая статья: Kingdom Come: Deliverance II — ролевое вознесение. Рецензия 22-02 00:03
Apple отключила сквозное шифрование в iCloud по требованию властей Великобритании 21-02 23:43
Взрывной платформер Shotgun Cop Man от создателя My Friend Pedro предложит спуститься в ад и арестовать Дьявола — трейлер и демоверсия в Steam 21-02 22:01
Valve заблокировала игру в российском Steam по требованию Роскомнадзора 21-02 20:20
Lenovo сообщила о двузначном росте выручки за III финансовый квартал по всем подразделениям — ISG снова в плюсе благодаря ИИ 7 ч.
В облаке Google Cloud появились инстансы A4X на базе суперускорителей NVIDIA GB200 NVL72 7 ч.
STMicroelectronics представила фотонный чип для 1,6-Тбит/с сетей 7 ч.
Несмотря на риск землетрясений, геотермальную энергию ждёт светлое будущее, считают учёные 8 ч.
Размышляющий ИИ DeepSeek R1 встроят в смартфоны Infinix Note 50 12 ч.
Nvidia признала, что не знает, когда сможет решить все проблемы видеокарт GeForce RTX 5000 14 ч.
Huawei захватила больше половины рынка складных смартфонов в Китае — на втором месте Honor 14 ч.
В Asus разогнали GeForce RTX 5090 до 3,5 ГГц и установили несколько рекордов 15 ч.
Норвежцы представили человекоподобного робота для дома и семьи — он мягкий и обтекаемый 16 ч.
Дженсен Хуанг снял с DeepSeek обвинения в обвале акций Nvidia — это инвесторы всё не так поняли 17 ч.