Суперкомпьютерная операционная система

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Самый первый суперкомпьютер в мире CDC 6000 работал на операционной системе Chippewa

Суперкомпьютерная операционная система — операционная система, специализированная для работы на суперкомпьютерах. Начиная с 2000-х годов большинство суперкомпьютерных операционных систем основаны на различных дистрибутивах Linux.

В массово-параллельных суперкомпьютерных системах как правило отделяют вычисления от других служб, используя несколько типов аппаратных узлов, и для разных типах узлов могут применяться различные операционные системы, например, операционная система с облегчённым ядром Compute Node Linux для вычислительных узлов, а на узлах ввода-вывода — дистрибутивы общего назначения со стандартным ядром[1][2].

На ранних этапах развития суперкомпьютерых технологий базовые архитектурные концепции быстро развивались, и системному программному обеспечению приходилось следовать за аппаратными инновациями, которые обычно быстро менялись[3], поэтому в первых суперкомпьютерах операционные системы были специально адаптированы под аппаратные особенности, однако в спешке их разработки возникли серьёзные проблемы с качеством программного обеспечения, и во многих случаях стоимость и сложность разработки программного обеспечения стали серьёзной проблемой[3].

В 1980-х годах из-за большого количества затрат на разработку тенденция на уникальные операционные системы для каждого суперкомпьютера начала спадать. Например, затраты компании Cray на разработку суперкомпьютерного программного обеспечения сравнялись с затратами на аппаратное обеспечение[4]. Из-за этого большинство производителей суперкомпьютеров перешли от собственных операционных систем к адаптации универсального обеспечения. Первая волна изменений в операционной системе пришлась на середину 1980-х годов, когда от операционных систем конкретных производителей отказались в пользу Unix. Несмотря на изначальный скептицизм, этот переход оказался успешным[4];[3]До 1980-х годов практически каждый суперкомпьютер имел свою уникальную операционную систему.

В начале 1990-х годов в среде программного обеспечения суперкомпьютерных систем произошли серьёзные изменения: всё больше и больше суперкомпьютеров стали работать на Unix, а в качестве главного языка программирования стал использоваться язык высокого уровня Си[3]. Так как поставщики оборудования адаптировали Unix к своим системам, в них добавлялись новые и полезные для суперкомпьютеров функции, например, настраиваемые планировщики процессов[3].

По мере того, как операционные системы общего назначения становились стабильными, суперкомпьютеры начали заимствовать и адаптировать критический системный код из них и полагаться на богатый набор вторичных функций, которые были с ними[5]. Однако в то же время размер кода для операционных систем общего назначения быстро рос. К тому времени, когда код на основе Unix достиг длины около 500 тыс. строк, его обслуживание и использование стали проблемой[5]. Это привело к переходу на микроядерные операционные системы, которые использовали минимальный набор функций[3]. Начиная с 2000-х годов суперкомпьютерные операционные системы стали чаще базироваться на Linux.

Примечания

[править | править код]
  1. Euro-Par 2004 parallel processing: 10th International Euro-Par Conference, Pisa, Italy, August 31 - September 3, 2004 ; proceedings / Marco Danelutto. — Berlin Heidelberg: Springer, 2004. — Т. 3149. — С. 835. — (Lecture notes in computer science). — ISBN 978-3-540-22924-7.
  2. Sadaf R. Alam. An Evaluation of the Oak Ridge National Laboratory Cray XT3. — International Journal of High Performance Computing Applications, 2008. — С. 149—151.
  3. 1 2 3 4 5 6 Encyclopedia of parallel computing / David A. Padua. — New York, NY: Springer, 2011. — С. 426—429. — (Springer reference). — ISBN 978-0-387-09765-7, 978-0-387-09844-9.
  4. 1 2 Donald A. MacKenzie. Knowing machines: essays on technical change. — 1. paperback ed. — Cambridge, Mass.: MIT, 1998. — 338 с. — (Inside technology). — ISBN 978-0-262-63188-4. — ISBN 978-0-262-13315-9.
  5. 1 2 Encyclopedia of parallel computing / David A. Padua. — New York, NY: Springer, 2011. — С. 426—429. — (Springer reference). — ISBN 978-0-387-09765-7, 978-0-387-09766-4, 978-0-387-09844-9.