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