Jump to content

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

Операционная система суперкомпьютера это операционная система, предназначенная для суперкомпьютеров . С конца 20-го века операционные системы суперкомпьютеров претерпели серьезные трансформации, поскольку произошли фундаментальные изменения в архитектуре суперкомпьютеров . [1] В то время как ранние операционные системы были специально адаптированы для каждого суперкомпьютера для повышения скорости, тенденция отошла от собственных операционных систем к той или иной форме Linux . [2] при этом в ноябре 2017 года на нем работали все суперкомпьютеры из списка TOP500 . В 2021 году 10 лучших компьютеров будут работать под управлением, например, Red Hat Enterprise Linux (RHEL) или какого-либо его варианта или другого дистрибутива Linux , например Ubuntu .

Учитывая, что современные суперкомпьютеры с массовым параллелизмом обычно отделяют вычисления от других служб с помощью нескольких типов узлов , они обычно используют разные операционные системы на разных узлах, например, используя небольшое и эффективное легкое ядро , такое как Compute Node Kernel (CNK) или Compute Node Linux. (CNL) на вычислительных узлах, но и на более крупной системе, такой как дистрибутив Linux на сервере и узлах ввода-вывода (I/O). [3] [4]

В то время как в традиционной многопользовательской компьютерной системе планирование заданий по сути является проблемой постановки задач для обработки и периферийных ресурсов, в системе с массовым параллелизмом система управления заданиями должна управлять распределением как вычислительных, так и коммуникационных ресурсов, а также корректно распределять ресурсы. с неизбежными аппаратными сбоями при наличии десятков тысяч процессоров. [5]

Хотя большинство современных суперкомпьютеров используют операционную систему Linux, [6] Каждый производитель внес свои собственные изменения в используемый ими дистрибутив Linux, и отраслевого стандарта не существует, отчасти потому, что различия в аппаратных архитектурах требуют изменений для оптимизации операционной системы для каждой аппаратной конструкции. [1] [7]

Операционные системы, используемые на 500 лучших суперкомпьютерах

Контекст и обзор

[ редактировать ]

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

Суперкомпьютерный центр НАСА в Эймсе

В 1980-е годы затраты на разработку программного обеспечения в Cray стали равны затратам на оборудование, и эта тенденция отчасти привела к переходу от собственных операционных систем к адаптации общего программного обеспечения. [2] Первая волна изменений операционных систем пришлась на середину 1980-х годов, когда от операционных систем конкретных производителей отказались в пользу Unix . Несмотря на ранний скептицизм, этот переход оказался успешным. [1] [2]

К началу 1990-х годов в программном обеспечении суперкомпьютерных систем произошли серьезные изменения. [1] К этому времени растущее использование Unix начало менять взгляд на системное программное обеспечение. Использование языка высокого уровня ( C ) для реализации операционной системы и использование стандартизированных интерфейсов контрастировали с подходами, ориентированными на ассемблер прошлого. [1] По мере того как производители аппаратного обеспечения адаптировали Unix к своим системам, в Unix добавлялись новые и полезные функции, например, быстрые файловые системы и настраиваемые планировщики процессов . [1] Однако все компании, адаптировавшие Unix, внесли в нее уникальные изменения, вместо того, чтобы совместно работать над отраслевым стандартом для создания «Unix для суперкомпьютеров». Частично это произошло потому, что различия в их архитектурах требовали этих изменений для оптимизации Unix под каждую архитектуру. [1]

Когда операционные системы общего назначения стали стабильными, суперкомпьютеры начали заимствовать и адаптировать у них критический системный код и полагаться на богатый набор второстепенных функций, которые поставлялись с ними. [1] Однако в то же время размер кода операционных систем общего назначения быстро рос. К тому времени, когда длина кода на основе Unix достигла 500 000 строк, его обслуживание и использование стали проблемой. [1] Это привело к переходу на использование микроядер , которые использовали минимальный набор функций операционной системы. Такие системы, как Mach в Университете Карнеги-Меллона и ChorusOS в INRIA, были примерами ранних микроядер. [1]

Разделение операционной системы на отдельные компоненты стало необходимым, поскольку суперкомпьютеры разработали различные типы узлов, например, вычислительные узлы и узлы ввода-вывода. Таким образом, современные суперкомпьютеры обычно используют разные операционные системы на разных узлах, например, используя небольшое и эффективное легкое ядро , такое как CNK или CNL, на вычислительных узлах, но более крупную систему, такую ​​​​как производная от Linux, на сервере и узлах ввода-вывода. [3] [4]

Ранние системы

[ редактировать ]
Первый Cray-1 (образец показан с внутренним оборудованием) был доставлен заказчику без операционной системы. [8]

CDC 6600 , обычно считающийся первым суперкомпьютером в мире, работал под управлением операционной системы Chippewa , которая затем была развернута на различных других серии CDC 6000 . компьютерах [9] Chippewa была довольно простой системой, ориентированной на управление заданиями, созданной на основе более ранней CDC 3000 , но она повлияла на более поздние KRONOS и SCOPE . системы [9] [10]

Первый Cray-1 был доставлен в лабораторию Лос-Аламоса без операционной системы или какого-либо другого программного обеспечения. [11] Лос-Аламос разработал для него прикладное программное обеспечение и операционную систему. [11] Основная система разделения времени для Cray 1, система разделения времени Cray (CTSS), была затем разработана в Ливерморской лаборатории как прямой потомок Ливерморской системы разделения времени (LTSS) для операционной системы CDC 6600, созданной двадцатью годами ранее. [11]

При разработке суперкомпьютеров рост стоимости программного обеспечения вскоре стал доминирующим, о чем свидетельствует то, что в 1980-х годах стоимость разработки программного обеспечения в Cray выросла до уровня стоимости аппаратного обеспечения. [2] Эта тенденция частично стала причиной перехода от собственной операционной системы Cray к системе UNICOS, основанной на Unix . [2] В 1985 году Cray-2 стала первой системой, поставляемой с операционной системой UNICOS. [12]

Примерно в то же время компания EOS разработала операционную систему ETA Systems для использования в своих суперкомпьютерах ETA10 . [13] Написанная на Cybil , языке, похожем на Паскаль, от Control Data Corporation , EOS подчеркнула проблемы стабильности при разработке стабильных операционных систем для суперкомпьютеров, и в конечном итоге на той же машине была предложена Unix-подобная система. [13] [14] Уроки, извлеченные из разработки системного программного обеспечения ETA, включали высокий уровень риска, связанный с разработкой новой операционной системы суперкомпьютера, а также преимущества использования Unix с ее большой существующей базой библиотек системного программного обеспечения. [13]

К середине 1990-х годов, несмотря на продолжающиеся инвестиции в старые операционные системы, появилась тенденция к использованию систем на базе Unix, что также облегчило использование интерактивных графических пользовательских интерфейсов (GUI) для научных вычислений на нескольких платформах. [15] У перехода к массовой ОС были противники, которые называли быстрые темпы и направленность разработки Linux основным препятствием на пути внедрения. [16] Как написал один автор: «Linux, скорее всего, догонит, но сейчас у нас есть крупномасштабные системы». Тем не менее, эта тенденция продолжала набирать обороты, и к 2005 году практически все суперкомпьютеры использовали ту или иную Unix-подобную ОС. [17] Эти варианты Unix включали IBM AIX , систему Linux с открытым исходным кодом и другие адаптации, такие как UNICOS от Cray. [17] К концу 20-го века Linux, по оценкам, занимал наибольшую долю суперкомпьютерного пирога. [1] [18]

Современные подходы

[ редактировать ]
Суперкомпьютер Blue Gene /P в Аргоннской национальной лаборатории.

Суперкомпьютер IBM Blue Gene использует операционную систему CNK на вычислительных узлах, но использует модифицированное ядро ​​на базе Linux, называемое ядром узла ввода-вывода ( INK ). на узлах ввода-вывода [3] [19] CNK — это легкое ядро , которое работает на каждом узле и поддерживает одно приложение, работающее для одного пользователя на этом узле. В целях эффективной работы конструкция CNK оставалась простой и минимальной: физическая память отображалась статически, а CNK не требовал и не обеспечивал планирования или переключения контекста. [3] CNK даже не реализует файловый ввод-вывод на вычислительном узле, а делегирует это выделенным узлам ввода-вывода. [19] Однако, учитывая, что в Blue Gene несколько вычислительных узлов совместно используют один узел ввода-вывода, операционная система узла ввода-вывода требует многозадачности, отсюда и выбор операционной системы на базе Linux. [3] [19]

В то время как в традиционных многопользовательских компьютерных системах и первых суперкомпьютерах планирование заданий по сути было проблемой планирования задач для обработки и периферийных ресурсов, в системе с массовым параллелизмом система управления заданиями должна управлять распределением как вычислительных, так и коммуникационных ресурсов. [5] Очень важно настроить планирование задач и операционную систему в различных конфигурациях суперкомпьютера. Типичный планировщик параллельных заданий имеет главный планировщик , который дает указание некоторому количеству подчиненных планировщиков запускать, отслеживать и контролировать параллельные задания и периодически получает от них отчеты о состоянии выполнения задания. [5]

Некоторые, но не все планировщики суперкомпьютеров пытаются поддерживать локальность выполнения заданий. Планировщик PBS Pro, используемый в системах Cray XT3 и Cray XT4, не пытается оптимизировать локальность своего трехмерного торического соединения , а просто использует первый доступный процессор. [20] С другой стороны, планировщик IBM на суперкомпьютерах Blue Gene стремится использовать локальность и минимизировать сетевые конфликты, назначая задачи одного и того же приложения одной или нескольким промежуточным платам группы узлов 8x8x8. [20] Планировщик Slurm Workload Manager использует алгоритм наилучшего соответствия и выполняет планирование кривой Гильберта для оптимизации локальности назначений задач. [20] Некоторые современные суперкомпьютеры, такие как Tianhe-2, используют Slurm, который разрешает борьбу за ресурсы в системе. Slurm — это платформа с открытым исходным кодом , основанная на Linux, очень масштабируемая и может управлять тысячами узлов в компьютерном кластере с устойчивой пропускной способностью более 100 000 заданий в час. [21] [22]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с д и ж г час я дж к л м Энциклопедия параллельных вычислений Дэвида Падуа, 2011 г. ISBN   0-387-09765-1, страницы 426–429.
  2. ^ Jump up to: а б с д и Познание машин: очерки технических изменений Дональда Маккензи, 1998 г. ISBN   0-262-63188-1 страницы 149–151.
  3. ^ Jump up to: а б с д и Параллельная обработка Euro-Par 2004: 10-я Международная конференция Euro-Par 2004, Марко Данелутто, Марко Ваннески и Доменико Лафоренца. ISBN   3-540-22924-8, стр. 835.
  4. ^ Jump up to: а б Оценка Cray XT3 Национальной лаборатории Ок-Ридж, проведенная Садафом Р. Аламом и др., Международный журнал приложений для высокопроизводительных вычислений, февраль 2008 г., том. 22 нет. 1 52–80.
  5. ^ Jump up to: а б с Открытая архитектура управления заданиями для суперкомпьютера Blue Gene/L, автор Ярив Аридор и др., Стратегии планирования заданий для параллельной обработки , Дрор Г. Фейтельсон, 2005 г. ISBN   978-3-540-31024-2 страницы 95–101.
  6. ^ Вон-Николс, Стивен Дж. (18 июня 2013 г.). «Linux продолжает править суперкомпьютерами» . ЗДНет . Проверено 20 июня 2013 г.
  7. ^ «Топ500 чарт ОС» . Топ500.org. Архивировано из оригинала 05 марта 2012 г. Проверено 31 октября 2010 г.
  8. ^ Нацеливание на компьютер: государственная поддержка и международная конкуренция Кеннета Фламма, 1987 г. ISBN   0-8157-2851-4 стр. 82 [1]
  9. ^ Jump up to: а б Компьютерная революция в Канаде , Джон Н. Вардалас, 2001 г. ISBN   0-262-22064-4, стр. 258.
  10. ^ Конструкция компьютера: Control Data 6600 Джеймса Э. Торнтона, Скотта, Foresman Press 1970, стр. 163.
  11. ^ Jump up to: а б с Нацеливание на компьютер: государственная поддержка и международная конкуренция Кеннета Фламма, 1987 г. ISBN   0-8157-2851-4 страницы 81–83.
  12. ^ Лестер Т. Дэвис, Баланс сил, краткая история аппаратных архитектур Cray Research в книге Дж. Дж. Донгарры «Высокопроизводительные вычисления: технологии, методы и приложения», 1995 г. ISBN   0-444-82163-5, стр. 126 [2] .
  13. ^ Jump up to: а б с Ллойд М. Торндайк, Упадок систем ETA в «Границах суперкомпьютеров II», Карин Р. Эймс, Алан Бреннер, 1994 г. ISBN   0-520-08401-2 страницы 489–497.
  14. ^ Прошлое, настоящее, параллельное: обзор доступных параллельных компьютерных систем, проведенный Артуром Трю, 1991 г. ISBN   3-540-19664-1, стр. 326.
  15. «Границы суперкомпьютеров II» , Карин Р. Эймс, Алан Бреннер, 1994 г. ISBN   0-520-08401-2, стр. 356.
  16. ^ Брайтвелл, Рон Райзен, Рольф Маккейб, Артур. «О пригодности обычных операционных систем для крупномасштабных сбалансированных вычислительных систем» (PDF) . Проверено 29 января 2013 г. {{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
  17. ^ Jump up to: а б Введение в курс дела: будущее суперкомпьютеров Сьюзан Л. Грэм, Марк Снир, Синтия А. Паттерсон, Национальный исследовательский совет, 2005 г. ISBN   0-309-09502-6, стр. 136.
  18. ^ Журнал Forbes, 15 марта 2005 г.: Linux управляет суперкомпьютерами.
  19. ^ Jump up to: а б с Параллельная обработка Euro-Par 2006: 12-я Международная конференция Euro-Par , 2006 г., Вольфганг Э. Нагель, Вольфганг В. Вальтер и Вольфганг Ленер ISBN   3-540-37783-2 .
  20. ^ Jump up to: а б с Стратегии планирования заданий для параллельной обработки: Эйтан Гютерберг и Уве Швигельшон, 2010 г. ISBN   3-642-04632-0 страницы 138–144.
  21. ^ SLURM в SchedMD
  22. ^ Джетт, М. и М. Грондона, SLURM: Простая утилита Linux для управления ресурсами в материалах конференции ClusterWorld, Сан-Хосе, Калифорния, июнь 2003 г. [3]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 84cf4a3d25832bba698459358ccdf196__1721434560
URL1:https://arc.ask3.ru/arc/aa/84/96/84cf4a3d25832bba698459358ccdf196.html
Заголовок, (Title) документа по адресу, URL1:
Supercomputer operating system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)