В современных ОС со стандартным интерфейсом для SMP-платформ память используется процессорами коллективно. Доступ к общему полю памяти осуществляется через высокоскоростную системную шину. Все процессоры имеют одинаковый доступ ко всей памяти системы. В памяти имеется только одна копия ядра ОС; причем все процессоры имеют к ней равный доступ. Каждый процессор знает, где расположены в памяти прикладные процессы и может исполнять его в течение установленного кванта времени без затрат на переключение приложений с процессора на процессор.
Ранее SMP-системы многих производителей были уникальны, и ОС приходилось всякий раз дорабатывать. Поставщики ОС должны были поддерживать для каждого типа платформы специфические версии ОС, высокая стоимость поддержки которых делала невыгодным для многих поставщиков программных средств широкое распространение своих деловых приложений. Не было широкого выбора многопроцессорных систем, ОС и, что самое важное, приложений для пользователей в сфере бизнеса.
Для решения этой проблемы Лабораторией IAL (Intel Architecture Labs) совместно с ведущими производителями SMP-платформ, ОС (OSV) и BIOS была предложена спецификация Multiprocessor Specification V. 1.1. (MPSpec V. 1.1), определяющая стандарт на взаимодействие ОС с SMP-оборудованием. Стандартный интерфейс между аппаратурой и ОС помогает быстро разработать поддержку одной ОС широкого круга платформ на базе ЦП Intel-архитектуры.
Производителям ОС, использующим эту спецификацию, необходимо разработать стандартный драйвер, позволяющий им поддерживать одну многопроцессорную ОС для различных SMP-платформ многих поставщиков. Несколько новых ОС уже соответствуют спецификации МР Spec, среди них Windows NT 3.5, UnixWare 2.0 и SCO Open Server/MPX.
С появлением возможности выбора из большего числа SMP-платформ и ОС отделы и отделения в больших корпорациях будут иметь возможность более гибко выбирать приложения, платформы и ОС, которые лучше соответствуют их требованиям. При этом нет необходимости делать новые капиталовложения в связи с заменой программных средств и переобучением персонала. Кроме того, многопроцессорные системы, построенные из доступных компонентов и поддержанные промышленными стандартами на программные средства (т.е. системы, совместимые с МР Spec) обеспечат лучшее соотношение цена/производительность по сравнению с более дорогими закрытыми системами.
Унифицированные ОС нового поколения, называемые часто SMP-OS, эффективно поддерживают аппаратные платформы SMP-систем второго поколения. Последние характеризуются распределенными прерываниями, улучшенной организацией кэш-памяти, системных шин (типа Xpress фирмы Intel). Эти SMP-системы используют новый унифицированный набор БИС-кон-троллеров прерываний типа ASIC (Advanced Programmable Interrupt Controller) на процессорах Pentium 735/90 или Pentium 815/100. МР Spec V.1.1 устанавливает фактический промышленный стандарт на механизм поддержки распределенных прерываний в SMP-системах на базе наиболее совершенных процессоров Intel-архитектуры. Эти системы позволяют использовать все уже существующие программы для АТ-совместимых компьютеров, поддерживая одновременно создание микроядерных ОС нового поколения для многопроцессорных платформ.
В целом, использование процессоров, ориентированных на однопроцессорную конфигурацию в многопроцессорных системах оправдано лишь в областях, требующих недорогих решений при умеренных требованиях к производительности. Однако в последнее время фирма Intel разрабатывает свои процессоры изначально с возможностью построения многопроцессорной конфигурации, но с ограниченным числом процессоров (от 2 до 8 штук в одной SMP-системе).
Можно указать, что последние процессоры (Pentium II,III) являют собой достаточную производительность для выполнения задач серверов баз данных, интернет‑серверов. Так же, развитие графической подсистемы современных Intel‑ориентированных компьютеров позволяет рассматривать такие мультипроцессорные SMP‑системы как реальную альтернативу дорогим графическим станциям типа SGI Onyx, O2.
Итак, реализация данной спецификации на сегодняшнем этапе уже позволила снизить общую стоимость SMP‑систем до 2-4 тысяч долларов по сравнению с 6-20 тысячами в 1994-97 годах.
Журналы “Открытые Системы”, 1996-1997,№3,4 за 1998.
Перевод: Дийкстра Э. Взаимодействие последовательных процессов.
[Dijkstra E. W., Co-operating Sequential Processes, Programming Languages: NATO advanced study institute, Genuys F., ed.. Academic Press, London, 1968.]
8-Bit Parallel Central Processor Unit, MCS-8 User's Manual, Intel Corp., Santa Clara, CA. March 1973.
Ashenhurst R. L., Vonderohe R. H., A Hierarchical Network, Datamation (February 1975).
Brillouin L., Science and Information Theory, Academic Press, New York, N.Y., 1962.
Carr W.N., Mize J. P., MOS/LSI Design and Application, Texas Instruments Electronic Series, McGraw-Hill, New York, N.Y., 1972.
Chu Y., ed., High-Level Language Computer Architecture, Academic Press, New York, N.Y., 1975.
Dahl O.J., Dijkstra E. W., Hoare C.A.R., Structured Programming, Academic Press, London, 1972.
Frost D., Designing for Generality, Datamation (December 1974).
Gilbert P., Chandler W.J., Interface Between Communicating Parallel Processes, Communications of the ACM, 15, 6 (June 1972).
Gries D., Compiler Construction for Digital Computers, Wiley, New York, N.Y., 1971.