Вычислительная система
Вычисли́тельная систе́ма, совокупность аппаратно-программных средств, образующих единую среду, предназначенную для решения задач обработки информации (вычислений).
Первоначально универсальные вычислительные системы создавались на основе однопроцессорных ЭВМ с целью увеличения их быстродействия. В первых ЭВМ процессоры сами управляли операциями ввода-вывода. Однако скорость работы внешнего устройства была значительно меньше скорости работы процессора, поэтому во время операций ввода-вывода процессор фактически простаивал. Чтобы сбалансировать их работу, в конце 1950-х – начале 1960-х гг. ЭВМ начали комплектовать независимыми процессорами ввода-вывода для параллельного выполнения вычислений и операций обмена данными, тогда и появился термин «вычислительная система».
Основными преимуществами вычислительной системы по сравнению с однопроцессорной ЭВМ являются: значительное повышение производительности за счёт статического или динамического распараллеливания процесса решения задачи (например, выполнение отдельных частей задачи на различных процессорах); увеличение эффективности использования оборудования за счёт более полной его загрузки; повышение надёжности системы и др.
Постоянное увеличение степени интеграции и быстродействия элементов современных микропроцессоров, высокий уровень их надёжности и относительная дешевизна позволяют строить вычислительные системы путём объединения необходимого числа микропроцессоров и организации параллельной обработки данных. Параллелизм в вычислениях в значительной степени усложнил управление вычислительным процессом, а также распределение аппаратных и программных ресурсов. Поэтому важная роль в вычислительной системе стала отводиться операционной системе, выполняющей функции планирования вычислительного процесса и распределения ресурсов (оперативной и внешней памяти, процессоров, периферийного оборудования и др.), а также оптимизирующим компиляторам с языков высокого уровня, позволяющим в наибольшей степени использовать архитектурные особенности микропроцессоров. Большую роль в достижении высокой эффективности работы вычислительной системы играет система коммутации, связывающая процессоры между собой или с модулями оперативной памяти. Как правило, для этого применяют общую шину, с которой соединены процессоры и модули памяти. В вычислительных системах, состоящих из нескольких процессоров, обычно используют матричные коммутаторы, а также топологию связи – кольцо, звезда и др. При объединении большого числа процессоров применяют более сложные топологии связи – тор, гиперкуб и др.
Современные вычислительные системы сильно отличаются друг от друга своими возможностями и характеристиками, и этим обусловлено разнообразие признаков, по которым классифицируют вычислительные системы (например, по типам и числу ЭВМ или процессоров, архитектуре системы, режимам работы, методам управления элементами системы). Так, вычислительные системы бывают разделимые (включающие несколько ЭВМ, которые способны работать независимо друг от друга) и неразделимые (или многопроцессорные, состоящие из процессоров, каждый из которых может выполнять свои функции только в составе вычислительной системы). Одним из видов неразделимых вычислительных систем являются кластеры, состоящие из нескольких связанных между собой ЭВМ, которые находятся в едином корпусе или соединены скоростным каналом связи.
Вычислительные системы делят также на однородные и неоднородные. Однородная вычислительная система строится на базе однотипных процессоров или ЭВМ, а неоднородная состоит из ЭВМ или процессоров различных типов. Выделяют многомашинные и многопроцессорные вычислительные системы. В многомашинных вычислительных системах каждый из процессоров имеет свою локальную оперативную память и работает, как правило, под управлением своей операционной системы, а в многопроцессорных вычислительных системах процессоры работают с общей оперативной памятью под управлением единой операционной системы. Также выделяют классы параллельных вычислительных систем: SMP (от англ. Symmetric MultiProcessing – симметричная мультипроцессорная обработка данных – группа процессоров работает с общей памятью), MPP (от англ. Massively Parallel Processing – вычислительные системы с массовым параллелизмом – процессоры, число которых практически не ограничено, работают каждый со своей памятью), NUMA (от англ. Non-Uniform Memory Access – промежуточная архитектура, сочетающая свойства классов SMP и MPP).
Если в состав вычислительной системы кроме цифровых вычислительных машин входят аналоговые вычислительные машины, то она относится к гибридным вычислительным системам. Эти вычислительные системы обычно используются при моделировании сложных систем, динамических процессов и других, например, при разработке геолого-технологических моделей нефтяных и газовых месторождений, систем управления полётом самолёта.
В 1966 г. М. Флинн (США) предложил классифицировать вычислительные системы по числу потоков команд и потоков данных. В своей классификации Флинн выделил 4 класса: SISD (от англ. Single Instructiоn streаm / Single Dаtа streаm – один поток команд / один поток данных), к которому относятся системы с одним процессором; SIMD (от англ. Single Instructiоn streаm / Multiple Dаtа streаm – один поток команд / много потоков данных), включающий однородные векторные и матричные вычислительные системы; MISD (от англ. Multiple Instructiоn streаm / Single Dаtа streаm – много потоков команд / один поток данных); MIMD (от англ. Multiple Instructiоn streаm / Multiple Dаtа streаm – много потоков команд / много потоков данных), в котором каждый процессор работает по своей программе и со своими данными. Эта классификация до сих пор актуальна, однако она не позволяет достаточно полно и точно охарактеризовать все виды вычислительных систем (например, потоковые), поэтому попытки более точно систематизировать всё разнообразие вычислительных систем продолжаются. Например, классификация Базу (США, 1987) основана на последовательном определении принятых при проектировании вычислительных систем решений: уровня параллелизма (данные, команды или задачи), метода реализации алгоритмов (аппаратный или программный), способа параллельного выполнения команд (конвейеризация или одновременное независимое), а также способа управления процессом выполнения команд (синхронный или асинхронный). Известны и другие попытки классификации вычислительных систем.
Важными вехами в развитии вычислительных систем стало создание таких систем, как ILLIAC IV (сдана в эксплуатацию в 1974; матричная вычислительная система из 64 процессоров), векторно-конвейерные Cray-1 (1976, США), Cyber 205 (1981, США), Cray C90 (1991, США), вычислительные системы с массовым параллелизмом Connection Machine-1 (объединяла 65 536 одноразрядных процессоров, связанных через гиперкуб, 1985), Cray T3E (1995) и др. В СССР и России выпускались вычислительные системы ПС-2000 (производство с 1981) и ПС-3000 (производство в 1984–1987), многопроцессорные вычислительные комплексы «Эльбрус» («Эльбрус-1» 1980, «Эльбрус-2» 1985).
Самые быстродействующие вычислительные системы мира представлены в рейтинге Топ-500.
См. также Параллельная вычислительная система.