Сегодня 26 июня 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
Тренды 🔥
ИИ-приложения теперь можно создавать прямо в чате с ботом Claude AI 10 мин.
«Мы возводили стены, а должны были строить мосты»: на PS5 вышла Death Stranding 2: On the Beach, а Кодзима опубликовал финальный трейлер игры 2 ч.
Обучать ИИ на онлайн-библиотеках законно — так решил суд в деле авторов книг против Meta 3 ч.
Пример Game Pass не заразителен: Sony не станет добавлять свои игры в PS Plus на релизе, потому что всё и так «очень хорошо» 3 ч.
OpenAI назвала китайский стартап Zhipu AI одним из самых перспективных в сфере ИИ 4 ч.
«У нас всего один шанс»: разработчики Ark 2 объяснили, куда пропал амбициозный сиквел 5 ч.
Сотни торговцев персональными данными уличили в нарушении законов США 5 ч.
ФТК выплатит ещё $126 млн компенсации почти миллиону игроков Fortnite, обманутых Epic Games 6 ч.
Премия в $100 млн сработала? Meta переманила трёх исследователей ИИ из OpenAI 6 ч.
Telegram обвинили в пособничестве криптомошенникам — чёрный рынок быстро возродился после волны блокировок 6 ч.
АЭС Three Mile Island начнёт поставлять энергию Microsoft на год раньше, чем планировалось 17 мин.
Роботакси Tesla провалили старт испытаний в Техасе — автопилот систематически нарушает ПДД 2 ч.
Полные характеристики Google Pixel 10 стали известны за два месяца до анонса — местами будет даунгрейд 2 ч.
$1 вместо полумиллиарда: Western Digital отделалась символической выплатой за нарушение патентов SPEX 3 ч.
Защищённые смартфоны Oukitel WP300, WP35 Pro и WP200 Pro с массивными батареями — пауэрбанк не нужен 3 ч.
В Китае придумали, как обмануть Вселенную и создать отказоустойчивый квантовый компьютер 3 ч.
HPE представила ИИ-систему Compute XD690 на базе NVIDIA HGX B300 4 ч.
Вычислительный модуль iMX8M Mini DX-M1 оснащён ИИ-ускорителем Deepx DX-M1 5 ч.
Японцы создали смарт-ошейник для выявления стресса у кошек 5 ч.
Австралийцы создали магнитную молекулу для жёстких дисков будущего — маленьких и сверхёмких 6 ч.