Next:1. АРХИТЕКТУРЫ МНОГОПРОЦЕССОРНЫХ СИСТЕМ
Up:СОДЕРЖАНИЕ
Prev:СОДЕРЖАНИЕ

ВВЕДЕНИЕ

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

Идея параллельной обработки данных как мощного резерва увеличения производительности вычислительных аппаратов была высказана Чарльзом Бэббиджем примерно за сто лет до появления первого электронного компьютера. Однако, уровень развития технологий середины 19-го века не позволил ему реализовать эту идею. С появлением первых электронных компьютеров эти идеи неоднократно становились отправной точкой в разработке самых передовых и производительных вычислительных систем. Без преувеличения можно сказать, что вся история развития высокопроизводительных вычислительных систем - это история реализации этих идей на том или ином этапе развития компьютерных технологий (в сочетании с увеличением частоты работы электронных схем). Принципиально важными решениями в развитии архитектуры высокопроизводительных компьютеров стали конвейерная организация выполнения команд и введение в систему команд векторных операций, позволяющих одной командой обрабатывать целые массивы данных. Завершенное воплощение идей параллельной обработки данных в рамках однопроцессорных систем представляли собой векторно-конвейерные суперкомпьютеры.

Прекрасную иллюстрацию масштабов технического прогресса, достигнутого в компьютерных технологиях, дает сопоставление производительности векторно-конвейерного суперкомпьютера CRAY C90 с одним из первых электронных компьютеров EDSAC. Производительность последнего составляла примерно 100 оп/сек при длительности цикла работы электронных схем 2 мкс, тогда как пиковая производительность CRAY C90 оценивается примерно в 1 миллиард оп/сек при длительности цикла 4 нс. Несложный подсчет показывает, что при общем росте производительности компьютеров в 10 миллионов раз частота работы электронных схем увеличилась всего в 500 раз. Остальная и значительно более существенная прибавка в 20000 раз была достигнута за счет совершенствования архитектурных решений [1].

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

Первые промышленные образцы мультипроцессорных систем на базе векторно-конвейерных компьютеров появились в середине 80-х годов. Однако такие системы были чрезвычайно дороги и производились буквально поштучно. Как правило, в таких компьютерах все процессоры имели равноправный доступ к общей оперативной памяти, в связи с чем они и получили название симметричные мультипроцессорные системы (Symmetric Multi-Processing - SMP).

Как альтернатива векторно-конвейерным системам была предложена идея строить эквивалентные по мощности многопроцессорные системы из большого числа дешевых серийно выпускаемых микропроцессоров. Однако очень скоро обнаружилось, что SMP архитектура обладает весьма ограниченными возможностями по наращиванию числа процессоров в системе из-за резкого увеличения числа конфликтов при обращении к общей шине памяти. В связи с этим оправданной представлялась идея снабдить каждый процессор собственной оперативной памятью, превращая компьютер в объединение независимых вычислительных узлов. Такой подход значительно увеличил степень масштабируемости многопроцессорных систем, однако потребовал создания специального механизма обмена данными между вычислительными узлами. Многопроцессорные системы с такой архитектурой получили название систем с массовым параллелизмом (Massively-Parallel Processing - MPP). В настоящее время эти два направления (или какие-то их комбинации) являются доминирующими в развитии суперкомпьютерных технологий.




Next:1. АРХИТЕКТУРЫ МНОГОПРОЦЕССОРНЫХ СИСТЕМ
Up:СОДЕРЖАНИЕ
Prev:СОДЕРЖАНИЕ