Сегодня 23 ноября 2024
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.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥