SMP: Два процессора и более

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

По сравнению с сетью, SMP предоставляет вам много преимуществ. Для начала любой процессор имеет доступ к той же самой памяти, PCI устройствам, портам ввода/вывода и другому железу. Но при этом требуется чтобы ваша операционная система поддерживала SMP — например такая поддержка есть в WinNT, Win2000, Linux, VxWorks и конечно же в QNX Neutrino. Win98 не поддерживает технологию SMP; даже если у вас установлено 16 процессоров в машине под управлением Win98, использовать будет только один процессор.

В наши дни использование технологии SMP становится очень выгодно. Я пишу эту статью на компьютере с двумя процессорами Celeron 500. Когда я покупал этот компьютер, она стоила дешевле чем компьютер на базе Pentium-III 600. К сожалению последние версии Celeron’а уже нельзя использовать в SMP системах. Но через несколько месяцев в продаже появится системные платы с поддержкой двух процессоров типа Athlon. Если посмотреть на прайс-лист процессоров, то можете сравнить два Duron 750 и один Pentium-III 750 и увидеть разницу в 50$ сэкономленные для покупки более дорогой системной платы :-).

SMP технология позволяет вам делать куда больше. Главное учитывать, что программа(процесс) должна уметь использовать возможности SMP технологии. Например игра Unreal Tournament не будет работать быстрее на компьютере с несколькими процессорами чем на компьютере с одним процессором. Но в тоже время когда вы играете в Unreal Tournament Вы можете записывать CD или загружать данные из Интернет не уменьшая скорость самой игры. Под Windows когда я печатаю документ на машине с одним процессором, система начинает работать медленнее, так как она занимается пересылкой данных на параллельный порт. Но компьютер с поддержкой SMP, работает значительно быстрей. Так как один процессор занят передачей данных на параллельный порт, а второй может выполнить любую другую задачу.

Если у вас есть компьютер с двумя процессорами Celeron 500, и вы используете ОС QNX, то при компиляции программы с ключом -j2 Вы получите прирост скорости до 60%. Хотя использование процессора Pentium-III с тактовой частой 1 GHz дало бы более лучший результат, вы заплатили бы за него в три раза больше.