Введение
Распределенная операционная система
MOSIX — это запатентованная распределенная операционная система. Хотя ранние версии были основаны на более старых системах UNIX, с 1999 года она ориентирована на кластеры и вычислительные сетки Linux. В кластере/вычислительной сетке MOSIX нет необходимости изменять или привязывать приложения к каким-либо библиотекам, копировать файлы или входить в удаленные узлы, или даже назначать процессы различным узлам — все это выполняется автоматически, как в SMP.
История
MOSIX исследовался и разрабатывался с 1977 года в Еврейском университете Иерусалима исследовательской группой профессора Амнона Барака. На сегодняшний день разработано десять основных версий. Первая версия, названная MOS (Multicomputer OS), (1981–83) была основана на Seventh Edition Unix от Bell Labs и работала на кластере компьютеров PDP 11. Последующие версии были основаны на Unix System V Release 2 (1987–89) и работали на кластере компьютеров на базе VAX и NS32332, а затем последовала версия, основанная на BSD/OS (1991–93), для кластера компьютеров 486/Pentium. С 1999 года MOSIX адаптирован для Linux на платформах x86.
MOSIX2
Вторая версия MOSIX, называемая MOSIX2, совместима с ядрами Linux 2.6 и 3.0. MOSIX2 реализован как уровень виртуализации ОС, предоставляющий пользователям и приложениям единый системный образ со средой выполнения Linux. Это позволяет приложениям выполняться на удаленных узлах, как если бы они работали локально. Пользователи запускают свои обычные (последовательные и параллельные) приложения, а MOSIX прозрачно и автоматически ищет ресурсы и перемещает процессы между узлами для повышения общей производительности. MOSIX2 может управлять кластером и мультикластером (сетью), а также рабочими станциями и другими общими ресурсами. Гибкое управление сетью позволяет владельцам кластеров делиться своими вычислительными ресурсами, сохраняя при этом автономию над своими кластерами и возможность отключать свои узлы от сети в любое время, не прерывая работу уже запущенных программ. Сеть MOSIX может неограниченно расширяться, пока существует доверие между владельцами кластеров. Это подразумевает гарантии того, что гостевые приложения не будут изменены во время выполнения на удаленных кластерах и что к локальной сети не смогут подключиться вредоносные компьютеры. В настоящее время эти требования являются стандартными для кластеров и организационных сетей. MOSIX2 может работать в нативном режиме или в виртуальной машине (ВМ). В нативном режиме производительность выше, но это требует модификации базового ядра Linux, в то время как виртуальная машина может работать на любой неизмененной операционной системе, поддерживающей виртуализацию, включая Microsoft Windows, Linux и Mac OS X. MOSIX2 наиболее подходит для запуска вычислительно-интенсивных приложений с небольшим или умеренным объемом ввода/вывода (I/O). Тестирование MOSIX2 показало, что производительность нескольких таких приложений в кампусной сети 1 Гбит/с почти идентична производительности одного кластера.
MOSIX2 is most suitable for running compute intensive applications with low to moderate amount of input/output (I/O). Tests of MOSIX2 show that the performance of several such applications over a 1 Gbit/s campus grid is nearly identical to that of a single cluster.
MOSIX4
MOSIX4 был выпущен в июле 2014 года. 15 июля 2007 года Бар решил завершить проект openMosix, начиная с 1 марта 2008 года, объяснив это тем, что "растущая мощность и доступность недорогих многоядерных процессоров быстро снижает значимость кластеризации с единым системным образом (SSI) в вычислительных задачах". Эти планы были повторно подтверждены в марте 2008 года. Проект LinuxPMI продолжает разработку исходного кода openMosix.
MOSIX4
А. Варак и А. Шило. Система управления кластерами MOSIX для распределенных вычислений на кластерах Linux и в частных многокластерных облаках, технический документ, 2016 год. А. Варак и А. Шило. Руководства администратора, пользователя и программиста MOSIX, а также документация. Пересмотрено для MOSIX 4.3, 2015 год.
MOSIX2 для Linux 2.6
Меири Э. и Барак А., Параллельное сжатие коррелированных файлов, Proc. IEEE Cluster 2007, Остин, сентябрь 2007 г. Амар Л., Стоссер Дж., Барак А. и Нейман Д., Экономически улучшенный MOSIX для рыночного планирования в Grid OS, семинар по экономическим моделям и алгоритмам для Grid-систем (EAMGS 2007), 8-я IEEE/ACM Int. Conf. по Grid-вычислениям (Grid 2007), Остин, сентябрь 2007 г. Амар Л., Барак А., Леви Э. и Окун М., Онлайн-алгоритм для справедливого распределения узлов в кластере. Proc. 7-го IEEE Int. Symposium по кластерным вычислениям и сетям (CCGrid '07), стр. 83–91, Рио-де-Жанейро, май 2007 г. Амар Л., Барак А., Дрезнер З. и Пир И., Алгоритмы распространения слухов для поддержания распределенной доски объявлений с гарантированными свойствами актуальности. TR, 2006 г. Барак А., Шило А. и Амар Л., Организационная сетка федеративных кластеров MOSIX. Proc. 5-го IEEE International Symposium по кластерным вычислениям и сетям (CCGrid '05), Кардифф, май 2005 г. Барак А. и Дрезнер З., Алгоритмы, основанные на распространении слухов, для оценки средней нагрузки масштабируемых вычислительных кластеров и сетей. Proc. 2004 Int. Conference по параллельной и распределенной обработке (PDPTA'04), Лас-Вегас, NV, июнь 2004 г.
MOSIX для Linux 2.2 и 2.4
Okun M. и Barak A., Atomic Writes для обеспечения целостности и согласованности данных в совместно используемых устройствах хранения для кластеров. Журнал компьютерных систем будущего поколения, т. 20, № 4, с. 539–547, май 2004 г. Amar L., Barak A. и Shiloh A., Метод прямого доступа к файловой системе MOSIX для поддержки масштабируемых кластерных файловых систем. Кластерные вычисления, т. 7, № 2, с. 141–150, апрель 2004 г. Keren A. и Barak A., Алгоритмы оценки альтернативных издержек для снижения накладных расходов на ввод/вывод и межпроцессное взаимодействие в вычислительном кластере. IEEE Transactions on Parallel and Distributed Systems, т. 14, № 1, с. 39–50, январь 2003 г. Amar L., Barak A. и Shiloh A., Параллельная система ввода-вывода MOSIX для масштабируемой производительности ввода-вывода. Материалы 14-й Международной конференции IASTED по параллельным и распределенным вычислениям и системам (PDCS 2002), с. 495–500, Кембридж, Массачусетс, ноябрь 2002 г. Amir Y., Awerbuch B., Barak A., Borgstrom R. S. и Keren A., Подход на основе оценки альтернативных издержек для назначения задач в масштабируемом вычислительном кластере. IEEE Transactions on Parallel and Distributed Systems, т. 11, № 7, с. 760–768, июль 2000 г. McClure S. и Wheeler R., MOSIX: Как кластеры Linux решают реальные задачи. Материалы 2000 USENIX Annual Technical Conference, с. 49–56, Сан-Диего, Калифорния, июнь 2000 г. Amar L., Barak A., Eizenberg A. и Shiloh A., MOSIX Scalable Cluster File Systems для LINUX, июнь 2000 г. Barak A., La'adan O. и Shiloh A., Масштабируемые кластерные вычисления с использованием MOSIX для LINUX. Материалы 5-й ежегодной выставки Linux Expo, с. 95–100, Роли, Северная Каролина, май 1999 г.
Книга MOSIX версия 1
Барак А., Гудай С. и Уилер Р., Распределенная операционная система MOSIX, Балансировка нагрузки для UNIX. Лекционные заметки по информатике, том 672, Springer Verlag, май 1993 года.
Другое
Барак А. и Лаадан О., Мультикомпьютерная операционная система MOSIX для высокопроизводительных кластерных вычислений. Журнал компьютерных систем будущего поколения, том 13, № 4–5, с. 361–372, март 1998 г. Барак А., Ладен О. и Яром Ю., NOW MOSIX и его схема превентивной миграции процессов. IEEE TCOS, Vol. 7, № 2, с. 5–11, лето 1995 г. Хабан Д., Выбраниец Д. и Барак А., Мониторинг и поддержка управления распределенными системами, материалы Европейского семинара по прогрессу в области распределенных операционных систем и управления распределенными системами, с. 110–137, Берлин, апрель 1989 г. Барак А. и Уилер Р., MOSIX: Интегрированный мультипроцессорный UNIX. Материалы Зимней конференции USENIX 1989 г., с. 101–112, Сан-Диего, Калифорния, февраль 1989 г. Барак А., Шилох А. и Уилер Р., Предотвращение перегрузки в схеме балансировки нагрузки MOSIX, IEEE TCOS Newsletter, Vol. 3, № 1, с. 24–27, зима 1989 г. Барак А. и Корнацкий Й., Принципы проектирования операционных систем для крупномасштабных мультикомпьютеров, материалы Международного семинара по опыту работы с распределенными системами, с. 104–123, Кайзерслаутерн, сентябрь 1987 г. Также, отчет RC 13220, Исследовательский центр IBM T. J. Watson, Йорктаун-Хайтс, Нью-Йорк, октябрь 1987 г. Алон Н., Барак А. и Манбер У., О надежном распространении информации без широковещания, материалы 7-й Международной конференции по распределенным вычислительным системам (ICDCS 7), с. 74–81 (лучший доклад конференции), Берлин, сентябрь 1987 г. Барель А., NSMOS – порт MOS на архитектуру семейства National 32000. Материалы 2-й Израильской конференции по компьютерным системам и программной инженерии, Тель-Авив, май 1987 г. Барак А., Дрезнер З. и Гуревич Ю., О количестве активных узлов в мультикомпьютерной системе, Networks, An International Journal, Vol. 16, № 3, с. 275–282, осень 1986 г. Барак А. и Парадайс Г. О., MOS – масштабирование UNIX. Материалы Летней конференции USENIX 1986 г., с. 414–418, Атланта, Джорджия, июнь 1986 г. Барак А. и Парадайс Г. О., MOS – UNIX с балансировкой нагрузки. Материалы Осенней конференции EUUG 1986 г., с. 273–280, Манчестер, сентябрь 1986 г. Дрезнер З. и Барак А., Асинхронный алгоритм рассеивания информации между активными узлами мультикомпьютерной системы, Journal of Parallel and Distributed Computing, Vol. 3, № 3, с. 344–351, сентябрь 1986 г. Барак А. и Шилох А., Политика распределенной балансировки нагрузки для мультикомпьютера. Software – Practice & Experience, Vol. 15, № 9, с. 901–913, сентябрь 1985 г. Барак А. и Литман А., MOS – многокомпьютерная распределенная операционная система. Software – Practice & Experience, Vol. 15, № 8, с. 725–737, август 1985 г. Дрезнер З. и Барак А., Эффективные алгоритмы маршрутизации информации в мультикомпьютерной системе, Distributed Algorithms on Graphs, Carleton Univ. Press, с. 41–48, Оттава, август 1985 г. Барак А., Динамическое управление процессами для распределенных вычислений, материалы 3-й Международной конференции по распределенным вычислительным системам (ICDCS 3), с. 36–40, Форт-Лодердейл, Флорида, октябрь 1982 г. Барак А., Шапир А., Штайнберг Г. и Каршмер А. И., Модульная, распределенная UNIX. Материалы 14-й Гавайской Международной конференции по системным наукам, с. 740–747, январь 1981 г. Барак А. и Шапир А., UNIX со спутниковыми процессорами. Software – Practice & Experience, Vol. 10, № 5, с. 383–392, май 1980 г.