Barrelfish – другая ОС от Microsoft


Поскольку многоядерность становится нормой, нам нужны операционные системы, которые могут использовать их преимущества, не теряя времени, пытаясь сохранить шоу в дороге с централизованным управлением. Barrelfish – это эксперимент Microsoft по рассмотрению оборудования как набора сетевых процессоров.

Поскольку производителям оборудования стало трудно увеличивать тактовую частоту намного выше 3 ГГц, нам пришлось изменить наш подход с более быстрой последовательной обработки на более параллельную. Большая проблема заключается в том, что, хотя операционные системы, такие как Linux, Unix и Windows, могут использовать несколько процессоров, они никогда не были предназначены для этого эффективно или современно.

Исследователи из Microsoft Research, работающие с ETH Zurich, считают, что Barrelfish, новая ОС, созданная с нуля, может стать шагом вперед. Он был запущен как проект еще в 2007 году, и они очень ясно понимают, что это не замена Windows – ни сейчас, ни когда-либо. Вся суть Barrelfish заключается в том, чтобы выяснить, как построить лучшую многопроцессорную систему. Одно из ключевых свойств, необходимых новой ОС, – это масштабируемость. Количество ядер, доступных на сегодняшних машинах, варьируется, но со временем оно будет только увеличиваться, и операционная система должна поддерживать его.

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

Многоядерная модель работает, позволяя отдельным ядрам или узлам ОС обмениваться данными посредством передачи сообщений, а не с использованием общей памяти. Идея состоит в том, что вместо того, чтобы хранить в памяти одно состояние ОС, оно реплицируется и поддерживается в актуальном состоянии посредством передачи сообщений. Это устраняет проблему замедления работы блокировок, но добавляет проблемы, связанные с поддержанием состояния в нескольких ядрах.

Barrelfish является реализацией этих принципов и в настоящее время работает на процессорах x86-64 и ARM. Утверждается, что подход к передаче сообщений и сети вписывается в подход, используемый текущим оборудованием, и со временем соответствие улучшится, особенно если производители оборудования начнут встраивать поддержку ОС с передачей сообщений.

Хотя предполагается, что это всего лишь инструмент исследования, интересно прочитать нижний колонтитул веб-сайта Barrelfish:

Эта веб-страница была предоставлена вам сервером, на котором запущен Barrelfish.

Код для всей системы можно скачать, и он имеет открытый исходный код. Вы также можете прочитать о мелких деталях структуры системы в недавней статье:

Мультиядерность: новая архитектура ОС для масштабируемых многоядерных систем.


Добавить комментарий