Облегченное ядро операционной системы
Операционная система с облегченным ядром (LWK) используется в большом компьютере с множеством процессорных ядер, называемом параллельным компьютером .
Система (HPC) с массовым параллелизмом высокопроизводительных вычислений особенно чувствительна к накладным расходам операционной системы . Традиционные многоцелевые операционные системы предназначены для поддержки широкого спектра моделей использования и требований. Для поддержки широкого спектра потребностей предусмотрено большое количество системных процессов, которые часто взаимозависимы друг от друга. Вычислительные издержки этих процессов приводят к непредсказуемому количеству процессорного времени, доступного параллельному приложению. Очень распространенная модель параллельного программирования называется моделью массового синхронного параллельного программирования , которая часто использует интерфейс передачи сообщений (MPI) для связи. События синхронизации выполняются в определенных точках кода приложения . Если одному процессору для достижения этой точки требуется больше времени, чем всем остальным процессорам, всем придется подождать. Общее время финиша увеличивается. Непредсказуемые издержки операционной системы — одна из важных причин, по которой процессору может потребоваться больше времени для достижения точки синхронизации, чем другим.
Примеры
[ редактировать ]Специальные операционные системы с облегченным ядром, используемые на некоторых из самых быстрых компьютеров в мире, помогают решить эту проблему. Линейка IBM Blue Gene суперкомпьютеров работает под управлением различных версий операционной системы CNK . [1] Суперкомпьютеры Cray XT4 и Cray XT5 работают под управлением Compute Node Linux. [2] в то время как более ранняя версия XT3 использовала облегченное ядро Catamount , основанное на SUNMOS . Sandia National Laboratories вот уже почти два десятилетия привержена облегченным ядрам в своих высокопроизводительных системах HPC. [3] Исследователи Сандия и Университета Нью-Мексико начали работу над SUNMOS для Intel Paragon в начале 1990-х годов. Эта операционная система превратилась в Puma, Cougar, которая достигла первого терафлопса на ASCI Red , и Catamount на Red Storm . Sandia продолжает свою работу в LWK с новым научно-исследовательским проектом под названием «котенок». [4]
Характеристики
[ редактировать ]Хотя на удивление сложно точно определить, что такое облегченное ядро, [5] есть некоторые общие цели проектирования:
- Предназначен для массово-параллельных сред, состоящих из тысяч процессоров с распределенной памятью и тесно связанной сети.
- Обеспечить необходимую поддержку масштабируемых, ориентированных на производительность научных приложений.
- Предложите подходящую среду разработки для параллельных приложений и библиотек.
- Ставьте эффективность выше функциональности.
- Максимизируйте объем ресурсов (например, ЦП, памяти и пропускной способности сети), выделенных приложению.
- Постарайтесь свести к минимуму время выполнения заявки. [6]
Выполнение
[ редактировать ]Реализации LWK различаются, но все они стремятся предоставить приложениям предсказуемый и максимальный доступ к центральному процессору (ЦП) и другим системным ресурсам. Для этого обычно включаются упрощенные алгоритмы планирования и управления памятью. Системные службы (например, демоны) ограничены абсолютным минимумом. Доступные сервисы, такие как запуск заданий, построены иерархически, чтобы обеспечить масштабируемость до тысяч узлов. Сетевые протоколы для связи между узлами системы также тщательно выбираются и реализуются для обеспечения масштабируемости. Одним из таких примеров является интерфейс прикладного программирования приложений (API) сетевого программирования Portals.
Операционные системы с облегченным ядром предполагают доступ к небольшому набору узлов, на которых работают операционные системы с полным спектром услуг, чтобы разгрузить некоторые необходимые службы: доступ для входа в систему, среду компиляции, отправку пакетных заданий и файловый ввод-вывод.
Ограничивая услуги только теми, которые абсолютно необходимы, и оптимизируя те, которые предоставляются, накладные расходы (иногда называемые шумом) облегченной операционной системы сводятся к минимуму. значительное и Это позволяет отдать предсказуемое количество процессорных циклов параллельному приложению. Поскольку приложение может выполнять последовательную работу на каждом процессоре, они достигнут точек синхронизации быстрее, в идеале одновременно. Потерянное время ожидания сокращается.
Будущее
[ редактировать ]Последними суперкомпьютерами с облегченными ядрами являются оставшиеся IBM Bluegene, системы работающие под управлением CNK . Новое направление в области облегченных ядер – их объединение сполнофункциональная ОС, например Linux, на многоядерном узле. Эти многоядерные операционные системы запускают облегченное ядро на некоторых ядрах ЦП узла, в то время как другие ядра предоставляют услуги, которыеопущен в облегченных ядрах. Объединив их, пользователи получают необходимые им функции Linux, а также детерминированное поведение и масштабируемость облегченных ядер.
Ссылки
[ редактировать ]- ^ Морейра, Хосе; и др. (ноябрь 2006 г.). «Проектирование широкомасштабируемой операционной системы: история Blue Gene/L». Материалы Международной конференции ACM/IEEE 2006 г. по высокопроизводительным вычислениям, сетям, хранению и анализу (SC'06).
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Уоллес, Д. (май 2007 г.). «Compute Node Linux: обзор, текущий прогресс и дорожная карта». Материалы ежегодной технической конференции Cray User Group 2007 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Ризен, Рольф; и др. (апрель 2009 г.). «Проектирование и реализация облегченных ядер для вычислений возможностей». Параллелизм и вычисления: практика и опыт.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Котенок легкого ядра» .
- ^ Ризен, Рольф; и др. (июнь 2015 г.). «Что такое облегченное ядро?» . Материалы 5-го международного семинара по среде выполнения и операционным системам для суперкомпьютеров . стр. 1–8. дои : 10.1145/2768405.2768414 . ISBN 9781450336062 . S2CID 11698915 . Проверено 19 октября 2019 г.
- ^ Келли, С.; Брайтвелл, Р. (май 2005 г.). «Программная архитектура легкого ядра, Catamount». Материалы ежегодной технической конференции Cray User Group 2005 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь )