Технология MOSIX :: Введение

Целью данной главы является описание основных принципов MOSIX-технологии для CC (Cluster Computing - кластерные вычисления). MOSIX реализует адаптивный алгоритм распределения ресурсов при эффективном масштабировании в CC любого размера, при наличии распределяемых сетевых ресурсов. Сутью MOSIX-технологии, как уже упоминалось выше, является свойство большого числа узлов (рабочих станций и серверов, включая SMP-системы) работать совместно как единое целое.Целью данной главы является описание основных принципов MOSIX-технологии для CC (Cluster Computing - кластерные вычисления). MOSIX реализует адаптивный алгоритм распределения ресурсов при эффективном масштабировании в CC любого размера, при наличии распределяемых сетевых ресурсов. Сутью MOSIX-технологии, как уже упоминалось выше, является свойство большого числа узлов (рабочих станций и серверов, включая SMP-системы) работать совместно как единое целое.

Для понимания сути MOSIX-технологии, сравним разделяемую память в SMP-системах и CC. В SMP-системах несколько процессоров совместно используют память. Основное преимущество данных систем заключается в увеличенном объеме обработки данных и быстрой коммуникации между процессами (посредством разделяемой памяти). SMP-системы могут оперировать множеством одновременно запущенных процессов с эффективным распределением и разделением ресурсов. В любой момент времени процесс может быть запущен, завершен или изменен его вычислительный профиль, причём система немедленно адаптируется к новой среде выполнения (среда выполнения - совокупность процессов, запущенных в системе). Пользователь данным процессом не управляет и в большинстве случаев даже не знает о изменениях в среде выполнения, не говоря уже о тех действиях, которые выполняет ОС при запуске нового процесса в SMP-системе.

В отличие от SMP, CC является совокупностью рабочих станций и серверов (т.е. узлов), с различными скоростями процессоров и размерами оперативной памяти, возможно разных поколений. Зачастую СС проектируются для многопользовательского, разделяемого во времени процесса вычислений. В СС-системах пользователь несёт ответственность за распределение процессов на узлах и управление ресурсами кластера (кластеры типа Beowulf). В большинстве СС, даже если все узлы находятся под управлением одной ОС, взаимодействие между узлами до некоторой степени ограниченны, потому что большинство сервисов ОС запущены на каждом узле. Основные пакеты СПО для распределения процессов в СС, такие как PVM и MPI, LSF и Extreme Linux обеспечивают аналогичный подход. Эти пакеты предусматривают среду выполнения, требующую адаптированных приложений и осведомленность пользователя об этом. Они включают в себя утилиты для инициализации (фиксации) привязки процесса к узлу, который иногда использует загрузку по соображениям, игнорируя доступные ресурсы, например, свободная память и процессы ввода-вывода. Эти пакеты запускаются на уровне пользователя, правда, только как обычные приложения, таким образом, становятся неспособными реагировать на неустойчивую загрузку или другие ресурсы или адаптивно перераспределять рабочую нагрузку.

На практике, проблемы распределения ресурсов более сложные, потому что использование большинства ресурсов, таких как CPU, оперативная память, I/O, IPC и т.д., непрогнозируемо. Сложность получения правильных результатов следует и из факта, что различные пользователи не координируют свою активную деятельность. Допустим, что оптимизация распределения ресурсов между процессами достигнута, но активность другого пользователя может помешать установившейся оптимизации.

Для пользователя SMP-система гарантируется эффективное и сбалансированное использование ресурсов между всеми запущенными процессами, несмотря на запросы. SMP-системы просты в использовании по причине того, что они применяют адаптивное управление ресурсами, которое, к тому же, полностью прозрачно для пользователя. Существующие CC не обладают данным свойством. Они полагаются на контролируемое пользователем однозначное распределение, которое неудобно и может вводить значительное снижение производительности системы, вводя её при этом в дисбаланс.

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