Оригинал материала: https://3dnews.ru./121411

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

Стр.1 - SMP на домашнем компьютере

Авторы: Алексей Шашков и Стас Смайлис

"Because two is always better than one" Micah Schmidt

Чем быстрее процессор, тем лучше... Долгое время это утверждение являлось аксиомой для миллионов пользователей во всем мире. И вот регулярно, каждые полгода-год, в зависимости от финансовых возможностей, эти миллионы дружными рядами шли в магазины, выгребая последние центы и копейки, короче, "у.е." лишь бы получить несколько десятков дополнительных мегагерц. Также регулярно мы жаловались друг другу на недостаточную производительность домашних систем и на необходимость будущего апгрейда, ибо в следующем месяце ожидается новый "супер-пупер турбо-гипер 986 процессор". Мы пытались решать эту проблему разгоном процессоров, что продлевало срок их службы, но это решение было неполным. Редкий процессор выживал в системе больше года. В то же время, уже несколько десятилетий существует способ повышения производительности отличный от тупого наращивания мегагерц - это многопроцессорность или SMP ака Symmetrical MultiProcessing (сразу оговоримся, что в статье не будут затронуты ни AMP ака Asymmetrical MultiProcessing, ни Attached Processors, ни SWAR ака SIMD With A Register, потому как круг их применения в домашних условиях довольно узок. SMP, в этом смысле, предоставляет гораздо больше возможностей, поэтому в дальнейшем синонимом SMP будет слово "многопроцессорность").

Формально многопроцессорность заключается в том, что процессоры, объединенные общей локальной шиной, работают с общей оперативной памятью и другимим ресурсами компьютера параллельно и независимо друг от друга. Поддержкой SMP должна обладать и операционная система, не лишней будет также поддержка со стороны приложений. Именно отсутствие поддержки SMP со стороны "домашней операционной системы", которой de facto являлась Windows 9x и было одной из основных причин отсутствия SMP машин у нас на столах, вторая причина - дороговизна SMP-систем, но при ближайшем рассмотрении ее значение оказывается в некотором смысле преувеличенным.
Итак...

1. SMP в железе

С середины 40-х годов XX века развитие суперкомпьютеров и мэйнфреймов напоминало недавнюю ситуацию с современными PC. Эволюция в основном связывалась с совершенствованием элементной базы. Сначала это были электровакуумные лампы, "процессоры" на их основе обладали быстродействием 10000-50000 операций в секунду. Потом их сменили полупроводники, и быстродействие достигло величин порядка 10^5-10^6 операций в секунду. Следующими были интегральные схемы, чье быстродействие превышало миллион операций в секунду. Но с каждым днем появлялось все больше и больше задач, которые требовали вычислительных мощностей недоступных на тот момент. Таким образом к концу 60-х темпы развития элементной базы перестали успевать за ростом потребностей в вычислительных мощностях, так как за 25 лет развития суперкомпьютеры увеличили свою производительность только в 100 раз. Пришлось искать другой путь, и решение не заставило себя долго ждать.
Идея была простой и очевидной - распараллелить вычисления и использовать в вычислениях несколько процессоров или машин. Действительно, то, что выполняет один процессор за два такта, два процессора выполнят за один. Едва возникнув, эта технология разделилась на два ярко выраженных направления. Во-первых, объединение нескольких машин в единую систему, а во-вторых, объединение нескольких процессоров в пределах одной машины. Но на практике многомашинные системы столкнулись с рядом проблем, главной из которых было несовершенство технологии синхронизации запущенных процессов на машинах. Эти системы продолжали использоваться и используются до сих пор в узкоспециализированных задачах, т.к. позволяют наращивать мощь практически без ограничений и с меньшими затратами, правда, как правило, рейтинги производительности венчают многопроцессорные машины.

Суперкомпьютеры продолжали развиваться дальше, а тем временем наступила эра РС. Официально родителем РС является IBM, наладившая массовый выпуск этих устройств в 1981 году. Так как РС изначально рассматривался как компьютер для бизнеса, т.е. для работы, то применение навороченных технологий типа многопроцессорности, а с ней и параллельных вычислений (RISC, сопроцессор, конвейер, несколько исполнительных устройств ака суперскалярность, кэш также можно отнести к технологии параллельных вычислений) в машине для массового рынка оказалось не целесообразно. Примером применения "крутых" технологий может послужить Apple Lisa - первая машина с графическим интерфейсом, появившаяся в 1982 году, которая, однако, не получила признания на рынке и позже трансформировавшаяся в Apple Macintosh. Отсюда можно сделать вывод, что должны были появиться новые области применения РС, чтобы заставить производителей железа и программного обеспечения использовать новые технологии в своих творениях, потому как со своей первоначальной ролью "навороченного" калькулятора IBM PC справлялся без проблем.

С появлением локальных сетей и новых областей применений РС, жадных до производительности, вроде компьютерной анимации, цифровой обработки звука и, конечно, компьтерных игр, а также переносом научных и инженерных приложений на РС требования к железу росли с каждым днем, тем самым провоцируя производителей микропроцессоров внедрять технологии дотоле остававшиеся невостребованными. Так случилось с сопроцессором, следующим стал кэш, потом конвейер и суперскалярность, и наконец, элементы RISC-архитектуры и многопроцессорности в большей или меньшей степени нашли применение во всех современных процессорах, начиная с Pentium и K5. На сегодняшний день технология IA-32 (Intel Architecture, 32 bit) позволяет распараллелить вычисления на максимальном для себя уровне, сохраняя совместимость со всеми ранее выпущенными программами и приложениями. Следующей будет IA-64, которая пойдет еще дальше, обеспечивая, благодаря VLIW (Very Long Instruction Word) распараллеливание кода даже не приспособленного к параллельной обработке, т.е. фактически распараллеливание будет происходить чуть ли не насильно, просто потому что процессору типа Itanium легче такой код обрабатывать.

До сих пор производительность процессоров повышалась в соответствии с законом Мура, но уже заметны тенденции, которые позволяют усомниться в его незыблемости. Кремниевая технология имеет частотный предел, по разным оценкам составляющий от 1 до 1,5 Ghz. Некоторые скажут, что арсенид галлия и так называемые "трехмерные" чипы (это когда транзисторы располагаются не на плоскости как теперь, а равномерно распределены в пространстве) позволяют создавать более высокочастотные устройства, вплоть до нескольких десятков гигагерц, однако, подобные технологии еще далеки от той стадии, когда их применение станет экономически оправдано. А к пределу возможностей кремниевой пластины мы подошли уже сегодня. К тому же память, системная шина и жесткие диски не удваивают свое быстродействие каждые 18 месяцев, поэтому для наращивания производительности актуальной становится SMP, как единственный пункт параллельных вычислений, который оказался не реализован в наших домашних системах.

Поддержка SMP варьируется в зависимости от производителя и модели процессора, причем не имеют значения степпинг и размер кэша, главное, чтобы процессоры работали на одинаковой шине. На данный момент SMP поддерживают такие процессоры, как Pentium P54C, Pentium Pro, Pentium II, Pentium III, их производные типа Celeron и Xeon, а также Athlon. Частота FSB, а с ней и частота процессора, в SMP-системе теряет свое обычное значение фактора, определяющего производительность - в мире параллельных вычислений FSB всего лишь определяет скорость работы с периферией; здесь часто выигрывает "крутая" архитектура, а не "чистая" скорость.

Теперь чипсеты. Все интеловские чипсеты поддерживают SMP кроме 430TX, 430VX, 440EX, 440ZX и i810, со стороны конкурентов - только AMD’шный Irongate. Все их фичи всем давно известны, рассмотрим только те, которые напрямую касаются SMP. У Intel поддержка SMP реализована через шину GTL+, а у AMD - через DEC’овскую EV6. В GTL+ процессоры рассматриваются локальной шиной просто как еще одни busmaster-устройства, со всеми вытекающими отсюда минусами. Плюс этой шины - в ее простой реализации и, главное, дешевизне матерей на основе чипсетов с ее поддержкой как в однопроцессорном варианте, так и в SMP варианте. EV6 реализует соединение каждого процессора с чипсетом типа точка-точка на частоте FSB, что никак не сказывается на производительности однопроцессорных матерей, однако, дает огромный прирост в SMP-конфигурациях. Считайте сами: в то время как GTL+ позволяет работать с шиной только одному процессору, которые затем меняются поочереди, EV6 поддерживает одновременную работу чипсета и памяти со всеми процессорами в системе. Однако, практическая реализация SMP-матерей на основе EV6 стоит просто немеряно дорого; авторы предполагают, что разница в цене между многопроцессорной GTL+-матерью и EV6-матерью может исчисляться разами.

Стр.2 - 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 появилась возможность объединить качества, присущие этим двум ОС в одном "флаконе".

Стр.3 - W2k - оптимальная SMP-ОС для дома

3. W2k - оптимальная SMP-ОС для дома в 2000 году

Так как мы говорим здесь о домашних системах, то каким критериям должна удволетворять ОС, для того что бы стать по настоящему массовой?
1. Она должна быть проста в освоении и управлении, так как огромное число домашних пользователей никоим образом не являются профессионалами в области компьютеров. Из перечисленных нами этому требованию в полной мере соответствуют только семейство Windows 9x и Windows NT. Хотя Linux стараются сделать понятнее и проще, ему еще очень далеко до продуктов Microsoft.
2. Эта ОС должна поддерживать практически любые устройства, которые могут быть использованы дома, а список этот очень длинный, и с каждым днем он становится все длиннее. Конечно, об этом должен позаботиться производитель, но, как жизнь показывает, далеко не все из них утруждают себя написанием драйверов под все возможные ОС. Наиболее полно драйверами обеспечена Windows 9x, практически любые, даже самые экзотичные устройства, вроде игровых контроллеров симулирующих биллиардный кий имеют драйвера для Windows 9x. Иногда этот драйвер единственный. Потом, со значительным отставанием, следует Windows NT, и последней стоит Linux. Довольно редко производители компьютерного железа считают нужным поддерживать Linux, хотя дело несколько спасают энтузиасты, которые пишут под Linux свои версии драйверов, но во-первых, далеко не всегда они могут справиться с этой задачей так хорошо как сами производители, во-вторых, далеко не всегда есть доступ к достаточно полной технической информации, необходимой для написания полноценного драйвера, и в-третьих, эти энтузиасты, несмотря на то, что их достаточно много, просто физически не могут иметь ВСЕГО железа, на которое может понадобиться драйвер. В силу этих причин, иногда бывает очень проблематично, практически невозможно, заставить работать под Linux особо "хитрое" устройство.
3. Эта ОС должна предоставлять возможность нормально работать в Интернете, заниматься хобби, например, работать с графикой или писать музыку, и, наконец, предоставлять возможность для развлечений, т.е. попросту поиграть. По причине первых двух замечаний, ни одна из рассматриваемых нами ОС не может похвастаться таким количеством программного обеспечения как Windows 9x. Количество графических редакторов для нее любого уровня сложности просто не поддается подсчету. Конечно, "Jurassic Park" или "Titanic" не нарисуешь, но кто ставит дома такие задачи? То же касается и музыкальных редакторов, что, наряду с отличной поддержкой звуковых карт, может удовлетворить практически любого меломана. Одним словом, там есть все, что бы помочь человеку в его хобби.
Windows NT может и отстает по количеству подобного софта, но зато вырывается вперед по качеству. Все лучшие редакторы, что работают под Windows 9x работают и под NT, плюс имеется целый ряд софта подобного рода который может работать только под NT. Как правило это программы высшего класса, используемые лучшими профессионалами, например Maya, про возможности которой говорит тот факт, что на ней рисовались спецэффекты к фильмам "Fifth Element" и "Starship Troopers". Они стоят диких денег, и им обычно нечего делать на столе обычного домашнего компьютера, но сама возможность использования подобного софта может быть засчитана за преимущество. Если брать Linux, то здесь ситуация гораздо более безрадостная. Количество подобных программ для Linux гораздо меньше, и качество их зачастую ниже, что опять же объясняется нежеланием производителей поддерживать некоммерческую ОС. Что касается Интернета, то все из рассматриваемых нами ОС имеют в своем составе весь спектр софта необходимого для работы в глобальной сети, вот только Linux, как обычно, проигрывает по разнообразию и удобству этого софта, правда, выигрывает по функциональности.

Ну, вот мы и подошли к последнему пункту - возможности поиграть. Хоть он и стоит у нас последним, на практике его очень часто ставят во главу угла. Здесь с Windows 9x не может сравниться ничто, даже Windows NT, которая по всем остальным пунктам в принципе не уступает ей. Количество игр написанных под Windows 9x огромно, и оно постоянно растет. Все, сколь-нибудь заметные игрушки, в обязательном порядке работают под Windows 9x и уж как придется на всем остальном. Объяснить это можно тем, что Windows 9x имеет в своем составе DirectX API, созданый специально для того, чтобы облегчить жизнь создателям игрушек. Ни одна другая ОС, кроме NT не поддерживает DirectX, хотя NT официально поддерживает только DX3.0 (пятый DX для NT распространяется неофициально и, судя по всему, был выдран из SDK), к тому же в NT не реализован Direct3D - аппаратное ускорение трехмерной графики (мы не говорим здесь об OGL, с которым все в порядке). Отсутствие DX более поздних версий и D3D здорово подрывает перспективы NT как игровой платформы. В итоге, вывод однозначен - ни одна из других ОС, кроме Windows 9x, не обладает полным набором функций необходимых для домашней системы. Сложившаяся ситуация на рынке домашних РС только подтверждает эти выводы.

Теперь посмотрим на проблему выбора домашней ОС с другой стороны, каким требованиям должна удволетворять современная домашняя операционая система? Помимо упомянутых ранее пунктов, современная ОС для дома должна быть: во-первых, достаточно быстрой и стабильной; во-вторых, по-настоящему многозадачной, чтобы рухнувшее приложение не погребало под собой всю систему; в-третьих, полностью 32-х битной, желательно с поддержкой SMP; в-четвертых, достаточно безопасной, обеспечивая защиту системы и данных при повседневной работе, а также в аварийных ситуациях.

Учитывая только что перечисленные требования, становится очевидным, что домашней ОС должна быть некая помесь NT с семейством Windows 9x. Появление ее было делом времени, и вот в конце 1999 ушла на золото NT 5.0 ака Windows 2000 ака W2k.

Так уж получилось, что нам довелось общаться с W2k Final Code build 2195, поэтому авторы на основании собственного опыта попытаются описать некоторые характерные черты W2k. Первоначально проект W2k назывался Windows NT 5.0, что более полно отражает ее суть. Это ОС, обладающая всеми основными преимуществами NT, плюс встроенный DirectX 7.0. Полная поддержка всех функций DirectX, в том числе и Direct3D является самым заметным отличием W2k от всего остального семейства NT. Конечно, это отличие не единственное. Разрабатывая W2k, Microsoft уделила очень большое внимание совместимости с программным обеспечением для Windows 9x. Раcширенная поддержка аппаратного обеспепечения позволяет W2k oпределять, правильно устанавливать и конфигурировать гораздо больше устройств, чем любая из NT до его. По количеству железа поддерживаемого самой системой, без внешних драйверов W2k может поспорить с Windows 98, их количество превышает 7000. Что касается интерфейса, то он у W2k повторяет интерфейс Windows 98 или Windows 95 с IE 5.0. Изменена цветовая гамма по умолчанию (на наш взгляд в лучшую сторону), включено в поставку несколько действительно неплохих backgound’ов, и добавленно несколько косметических эффектов, которых не было ни в одной ОС от Microsoft до сих пор, вроде тени под курсором мыши, или постепенного появления/пропадания окон из "воздуха". Все новые опции и навороты элементарно отключаются в Properties десктопа, так что нет никаких проблем в том, что бы получить привычный интерфейс Windows 9x. Однозначно, по удобству работы, по красоте, и богатству настроек W2k превосходит всe, что было до его.

Главный вопрос, который всех нас волнует, это совместимость сo старыми программами. Как мы уже упоминали, этому вопросу было уделенно самое пристальное внимание. Совместимость с программами для NT просто отличная, как и должно быть, ведь W2k это просто NT следующего поколения. С софтом для MS-DOS и Windows 9x ситуация не такая радужная. Утверждается, что програмы MS-DOS должны работать, за исключением тех случаев, когда программа обращается к железу напрямую. Но, как известно, в MS-DOS прямое обращение к аппаратному обеспечению было методом достижения наилучшей производительности, поэтому использовался он очень широко. Из-за этого говорить о сколь нибудь хорошей совместимости W2k с MS-DOS не приходится. Но сейчас имеется множество более совершенных и удобных програм для Windows, которые способны удволетворить практически любые запросы, поэтому авторы не видят серьезных причин, почему стоит так цепляться за устаревший софт. Программы для Windows 9x, в большинстве своем, без проблем работают и на W2k, хотя нам и пришлось столкнуться с некоторыми трудностями при запуске приложений выпущенных в 96-97 годах. Некоторые программы определяют W2k как NT, и отказываются запускаться только по этой причине. Думаем, что в ближайшем будущем эта проблема будет решена созданием утилитки которая будет "обманывать" такие программы, и убеждать их что они работают под Windows 9x. Нам не удалось запустить некоторые Direct3D игры. В чем причина, мы затрудняемся ответить, скорее всего виновата не ОС а драйвер видеокарты. Если это действительно так, то в самом скором времени мы можем надеятся на решение этой проблемы. С OpenGL играми и играми под DirectX 7.0 никаких проблем замечено не было. Есть проблемы с некоторыми crack’ами, если кого это интересует, впрочем, зная оперативность современных кракеров, можно не сомневаться, что проблемой это будет оставаться не долго. Не было замечено проблем и с играми, в которых не используется аппаратное ускорение 3D графики. В общем, совместимость с програмами для Windows 9x авторы оценили бы как хорошую, может даже и очень хорошую. А в ближайшем будущем она станет еще лучше, так как производители софта теперь будут рассчитывать на W2k и прилагать все усилия для того, чтобы их новые продукты (да и старые, путем выпуска патчей) нормально работали на W2k.

Итак, какие же выводы мы можем сделать? При переходе на W2k мы немного теряем в совместимости с некоторым, очень ограниченным количеством программ. Зато мы получаем более красивую, гораздо более стабильную, более быструю ОС. Вдобавок к этому мы получаем еще множество функций свойственных NT. Перечислять их можно очень долго, и это выходит далеко за рамки нашей статьи. Из наиболее заметных, можно отметить новую файловую систему, "родную" для NT, NTFS (в W2k мы имеем уже пятую ее версию). Мы не будем подробно рассматривать все ее особенности, остановимся на нескольких, наиболее, по нашему мнению, важных. Во-первых, самый маленький кластер из всех других файловых систем для ОС от Microsoft. W2k состоит из более чем 5000 файлов, так что этот размер кластера оправдан. Впрочем, NTFS5 позволяет пользователю самому увеличивать размер кластера, вплоть до 64кб. Во-вторых, структура NTFS5 такова, что практически отпадает необходимость в таком привычном инструменте как Defragmentator. Но самое приятное, на наш взгляд, это то, что ScanDisk тоже больше не нужен! То есть он нужен, но только если произошла действительно большая неприятность, вроде того, что участок диска физически испортился. А если произошла такая мелочь, как отключение питания, то он не нужен. Благодаря журналированию, ничего из системных даных не будет потеряно или повреждено. Еще можно отметить, что в NTFS5, наконец-то, ввели такое понятие как дисковые квоты. Для домашней ОС это несущественно, но для многопользовательских серверов это более чем полезно. Помимо всего прочего, W2k обладает расширенной поддержкой и надежностью сети по сравнению с NT и семейством Windows 9x, как локальной так и интернет. И это действительно так! Сеть работает быстрее, и ошибок меньше, чем на том же самом оборудовании под Windows 9x.

Вывод, который можно сделать из всех вышеперечисленых, и из еще большего количества неперечисленных фактов, прост: будущее за W2k, она неизбежно вытеснит Windows 9x на домашних компьютерах, может не сегодня и не завтра, но это обязательно произойдет. И производители программного обеспечения это тоже понимают, поэтому самой перспективной ОС станет (уже становится) W2k, с поддержкой всех ее функций и особенностей, в том числе и SMP. Кроме этого, вовсе необязательно использовать программное обеспечение специально оптимизированное под SMP, чтобы ощутить выгоды от установки дополнительного процессора. Конечно, оптимизированное програмное обеспечение обеспечит реальный, и большой выигрыш в чистой скорости (иногда до 100% прироста), но даже без такой оптимизации, компьютер начинает работать плавнее, реализуя многозадачность на уровне железа.

Стр.4 - Выводы

4. Выводы

Мы намерено не стали приводить никаких тестов производительности двухпроцессорных систем, потому что мы убеждены, что ни один существующий тест не сможет продемонстрировать реальные преимущества двухпроцессорной системы. SMP-система может и не показать огромного прироста в одиночном приложении, хотя прирост все-таки будет, но настоящая сила многопроцессорных машин проявляется при работе множества приложений, при огромных потоках данных и высокой сложности задач. Чем сложнее задача, которая стоит перед машиной, тем больше преимуществ получает параллельная система. При определенных условиях разница может может достигать ПЯТИСОТ раз.

Подводя итоги, авторы хотели бы пояснить причины, что подвигли их на написание этой статьи. Прежде всего, это недостаточная освещенность данной темы, несмотря на то, что ситуация на рынке вплотную подошла к тому, что альтернатив многопроцессорным системам скоро не будет. Это проявляется во всем, и в скором появлении W2k, ОС для дома с поддержкой SMP (кстати, Microsoft, на наш взгляд, очень точно уловил момент, когда пора прекращать впирать всем морально устаревшую технологию Windows9x), это и наметившаяся тенденция, когда производители процессоров не смогут выпускать новые продукты прежними темпами, это и усталость простого человека от необходимости постоянного вложения денег в "электронного болвана", в конце концов, это то, что сейчас двухпроцессорная система в итоге обходится дешевле своего однопроцессорного собрата, так как скорость морального старения у нее меньше.

Да, действительно, SMP-машина при покупке обходится несколько дороже, чем однопроцессорная, построенная на процессоре той же тактовой частоты. Наиболее оптимальным вариантом для построения SMP-системы на сегодня является материнская плата Abit BP6 с двумя Celeron 366. Не секрет, что большинство Celeron 366 могут быть разогнаны до 550 Mhz, а платы Abit имеют огромное количество настроек, которые позволяют выжать из процессора все, на что он способен. При стоимости около 300$ эта комбинация (BP6 + 2*Celeron 366а550) не имеет себе равных по соотношению цена/производительность. Кроме этого, по последней информации, на Abit BP6 можно будет ставить FC PGA Coppermine, что может еще на год продлить срок жизни этой платы. Но этот вариант не единственный. Большинство современных многопроцессорных материнских плат поддерживают работу разных процессоров одного семейства. Единственное условие, это что бы они работали на одной частоте шины. То есть, можно сначала поставить младшую модель, с наименьшим степпингом и тактовой частотой, подождать с полгода, пока старшие модели не подешевеют, после чего приобрести второй процессор, тем самым увеличить мощность системы. Еще одним, вполне приемлемым вариантом, может стать приобретение подержанной SMP-системы, например, на базе Pentium Pro. Вполне реально приобрести такую систему за 300-400$. Несмотря на свой преклонный возраст (3-4 года), такая система все еще способна показывать очень неплохие результаты в современных приложениях. Если установить на нее более-менее современную видеокарту, например, Riva TNT 16Mb PCI, то можно нормально играть во многие игры, даже в Quake3 Arena. Приобретая такую систему надо учитывать, что реализация SMP на материнских платах того времени отличалась от современной. На старых SMP-матерях в большинстве случаев недостаточно просто установить второй CPU, необходимо использовать Voltage Regulator Module ака VRM. Этот модуль нужен для обеспечения второго процессора нужным ему питанием. Большинство VRM модулей это весьма продвинутые устройства, обеспечивающие тонкое управление выходным напряжением. Например, RCB001 VRM, предназначенный для работы с Pentium Pro позволяет регулировать вольтаж с 2.0 V до 3.5 V с шагом в 100 mV. При этом отклонения выходного тока не превышают 3%. Все современные материнские платы имеют интегрированный VRM для каждого из процессоров, поэтому необходимость во внешних устройствах отпала.

Исходя из всего вышесказанного, будущее за многопроцессорными машинами, так как только они обеспечивают работу множества приложений одновременно, что необходимо для комфортной работы уже сегодня, кроме этого, многопроцессорные машины позволяют получить требуемую вычислительную мощь, сравнимую с производительностью еще не существующих процессоров. В своей статье мы попытались продемонстрировать перспективы развития SMP-систем, которых, по нашему мнению, ждет триумфальное будущее на на наших столах. И начинается это будущее именно сегодня.

В подготовке статьи были использованы следующие источники информации:

· Материалы сайтов www.2cpu.com, www.dualprotech.com, www.ixbt.com, www.intel.com
· Книги: Б.А.Бабаян, А.В.Бочаров и другие "Многопроцессорные ЭВМ и методы их проектирования"; В.А.Мищенко, Э.Г.Лазаревич, А.И.Аксенов "Расчет производительности многопроцессорных вычислительных систем"
· Собственные умные головы



Оригинал материала: https://3dnews.ru./121411