WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 11 |
ИСПОЛЬЗОВАНИЕ КЛАСТЕРНОЙ СИСТЕМЫ “OPENMOSIX” ДЛЯ ПОСТРОЕНИЯ РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ КАЦУБО ДМИТРИЙ ВЛАДИМИРОВИЧ Минск 2003 2 СОДЕРЖАНИЕ 1. Введение в openMosix.................................................................................................................9 1.1. Что такое openMosix............................................................................................................9 1.2. Прозрачнос т ь местоположения....................................................................................9 1.3. Файловая система прямого доступа (DFSA)...........................................................11 1.4. Масштабируемост ь...........................................................................................................12 2. Алгоритмы миграции и раздел ения ресурсов..............................................................13 2.1. Алгоритм миграции..........................................................................................................13 2.1.1. Сбор информации о процессе................................................................................17 2.1.2. Ограничения на миграцию......................................................................................17 2.2. Алгоритмы раздел ения ресурсов...............................................................................17 2.3. Метод оценивания стоимости для назначения и перена зн ач ения заданий.

19 2.3.1. Построение модели...................................................................................................19 2.3.2. Основные определения............................................................................................20 2.3.3. Идентичные и связ анные машины.........................................................................20 2.3.4. Несвяз анные Машины.................................................................................................21 2.3.5. Online маршрутизация виртуальных каналов..................................................2.3.6. Методика практиче ско г о исследования.........................................................2.3.7. Экспериментальные резуль т а ты.........................................................................2.3.8. Результ а ты эмуляции Java......................................................................................2.3.9. Выполнение на реальной системе.......................................................................2.3.10. Заключение.................................................................................................................2.4. Алгоритм распредел ения памяти...............................................................................2.4.1. Чем полез ен алгоритм распределения памяти..............................................2.4.2. Эмуляция алгоритмов распределения процесс ов........................................2.4.3. Статическое и динамическо е размещение процессов...............................2.4.4. Адаптивное размещение процессов...................................................................2.4.5. Масштабируемый алгоритм размещения с децентр али зиров анным управлением..........................................................................................................................2.4.6. Реализ ация алгоритма распределения памяти............................................2.4.7. Активизация алгоритма..........................................................................................2.4.8. Выбор процесс а..........................................................................................................2.4.9. Узел назначения........................................................................................................3. Масштабируемые кластерные файловые системы openMosix для Linux..................3.1. Задачи класт е рных файловых систем......................................................................3.2. Файловая система прямого доступа (DFSA)...........................................................3.2.1. Принцип работы DFSA...............................................................................................3.2.2. Требования DFSA.......................................................................................................3.3. Файловая система openMosix (oMFS)............................................................................3.4. Производител ьно с т ь......................................................................................................3.5. Заключение.........................................................................................................................4. Мигрируемая раздел я емая память...................................................................................4.1. Цели проект а......................................................................................................................4.2. Sys V разделя емая память.............................................................................................4.3. Легковесные и тяжеловесные процес сы в Linux....................................................4.4. Требования к приложению.............................................................................................4.5. Использование многопоточных приложений.........................................................5. Инсталляция openMosix...........................................................................................................5.1. Требования к аппаратной и программной части.................................................5.2.



Планировка кластер а.....................................................................................................5.3. Сборка openMosix................................................................................................................5.3.1. Использов ание репозитория................................................................................5.3.2. Использов ание стабильно го патча...................................................................5.3.3. Использов ание собранных пакетов...................................................................5.4. Установка пользова т е л ь с ких утилит.....................................................................5.5. Файл карты узлов..............................................................................................................5.6. Файл локально монтируемых файловых систем.....................................................6. Настройка и администрирование openMosix..................................................................6.1. openMosix API........................................................................................................................6.1.1. Proc интерфейс.............................................................................................................6.1.2. Интерфейс MFS............................................................................................................6.1.3. Функциональнос т ь пользова т е л ь с к ой библиотеки libmosix.....................6.2. Оптимизация работы openMosix.....................................................................................7. Тестирование кластер а.......................................................................................................7.1. Функциональное тестиров ание..................................................................................7.2. Тестирование общей производит ел ьно с ти...........................................................СПИСОК СОКРАЩЕНИЙ 1. SISD (Single Instruction – Single Data) – одиночный поток команд, одиночный поток данных 2. SIMD (Single Instruction – Multiple Data) – одиночный поток команд, множественный поток данных 3. MISD (Multiple Instruction – Single Data) – множественный поток команд, одиночный поток данных 4. MIMD (Multiple Instruction – Multiple Data) – множественный поток команд, множественный поток данных 5. SMP (Symmetric Multi Processors) – симметричные мультипроцес соры 6. MPP – системы с массовым параллели змом 7. SCC (Scalable Computing Clusters) – масштабируемые вычислител ьные класт е ры 8. SSI (Single System Image) – система, состоящая из одного образ а (однообразн а я) 9. COW (Cluster of Workstations) – класт еры из рабочих станций 10. MPI (Message Passing Interface) – интерфейс для передачи сообщений 11. PVM (Parallel Virtual Machine) – параллел ьна я виртуальна я машина 12. openMosix (Open Multicomputer Operating System for UNIX) – открытая мультикомпьютерная операционная система для UNIX.

13. IPC (Inter Process Communication) – межпроцессно е взаимодейс тви е 14. LWP (Light Weight Process) – легкове сный процесс 15. HWP (Heavy Weight Processes) – тяжелове сный процесс 16. PPM (Preemptive Process Migration) – приоритетна я миграция процес сов 17. UHN (Unique Home Node) – уникальный домашний узел 18. oMFS (openMosix File System) – файловая система openMosix 19. DFSA (Direct File System Access) – файловая система прямого доступа ВВЕДЕНИЕ В одной из наиболе е извес тных клас сификаций параллельных ЭВМ, предложенной Филлином, вводят с я понятия “поток команд” и “поток данных”.

Согласно этой классификации имеетс я четыре больших класс а ЭВМ:

1. SISD (Single Instruction – Single Data) – это последова т е л ьные ЭВМ, в которых выполняет с я единств енна я программа 2. SIMD (Single Instruction – Multiple Data) – выполняетс я единственна я программа, но каждая команда обрабатывае т массив данных (векторная форма параллели зма) 3. MISD (Multiple Instruction – Single Data) – несколько команд одновременно работают с одним элементом данных 4. MIMD (Multiple Instruction – Multiple Data) – одновременно и независимо друг от друга выполняет с я несколько программных ветвей, которые в определённые промежутки времени обмениваются данными Существующие параллельные средс т в а класс а MIMD образуют три технических подкласс а: симметричные мультипроцес соры (SMP), системы с массовым параллели змом (MPP) и клас те ры.

Симметричные мультипроцессоры используют принцип раздел яемой памяти.

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

Наличие общей памяти сильно упрощает взаимодейст вие процессоров между собой, однако накладывае т сильное ограничение на их число – не более 32 в реальных системах.

Системы с массовым параллелизмом содержат множество процессоров (обычно RISC) с индивидуальной памятью в каждом из них (прямой доступ к памяти других узлов невозможен), коммуникационный процессор или сетевой адаптер, иногда – жёсткие диски и/или другие устройств а ввода- вывода. Узлы связ а ны через некоторую коммуникационную среду, например, высокоскорос тную сеть. Общее число процесс оров в реальных системах достиг а е т нескольких тысяч.

Кластерные системы – более дешёвый вариант MPP систем, поскольку они также использ уют принцип передачи сообщений, но строят с я из компонентов высокой степени готовнос ти.





Вычислител ьный класте р – это совокупност ь компьютеров, объединённых в рамках некоторой сети для решения одной задачи. В качес тв е вычислительных узлов обычно исполь зуются доступные на рынке однопроцес сорные компьютеры, одно-, двух- или четырёхпроцес сорные SMP-серверы.

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

Компьютерные клас т еры особенно подходят для маленьких и средних организаций, которые не могут позволить себе дорогих систем. Кластеры выполнены из обычных компонент, и поэтому их постепенный рост легко подстраив а е т с я под бюджет и потребнос ти.

Чаще всего по количеству установл енных систем выделяют три типа класт е ров: клас т е ры с защитой от сбоев, класт е ры с балансировкой нагру зки и высокопроизводит ел ьные вычислител ьные кластеры.

Кластеры с защитой от сбоев состоя т из двух или более компьютеров, соединённых сетью и отдельным синхронизирующим соединением, которое использу е т с я для мониторинга того, что все службы задейс твов аны, и в том случае если одна из служб даёт сбой, другой узел перенимает её выполнение.

Для кластеров с балансировкой нагрузки концепту ал ьным являе т с я то, что когда узел становит с я доступным, класт ер проверя е т, какой из узлов являет с я наименее загруженным, и посылает запрос к этому узлу.

Фактичес ки, большую часть времени клас те р с балансировкой нагру зки действу е т как кластер с защитой от сбоев, но с дополнительной балансирующей функциональнос т ью, и, как правило, содержит меньшее число узлов.

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

Сегодня существуют две основные парадигмы для класт е рных Linux окружений: openMosix (клон Mosix) (см. [MOSIX] и [oMosix]) и Beowulf (основан на MPI). В то время как параллелиз ация в решениях, основанных на MPI, требу ет явного кодирования с исполь зо в анием специальных библиотек или директив, в openMosix можно придерживать с я обычного Unix программирования, потому что класт ерна я функциональнос т ь обеспечивае т с я прозрачным образ ом ядром операционной системы.

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

Ресурсы могут использ ов а т ь с я более эффективно, если класт е р может заст а ви т ь задания мигрирова т ь – перемещаться прозрачно от одной машины к другой. Однако даже уравновешенные системы, которые могут переназнач а т ь задания, всё равно могут извлечь выгоду от тщательно выбранной стра т е г ии назначения. Миграция заданий привлекат е л ьна, потому что время поступления и количест во запросов на ресурсы от прибывающих заданий непредска з у емы. Из-за этой непредск а з у емос ти задания иногда будут назнача т ь с я на неоптимальную машину, и переназна ч ение даёт системе ещё один шанс исправить такую ошибку. Интуитивно понятно, что способность мигрирова т ь задания может привести к лучшей эффективности – то есть более быстрое время завершения для средне го задания. Так как не извес тно, где должно выполнять с я задание в любое заданное время, то стра т е г и я перена зн ач ения также может делат ь ошибки. Например, расширение openMosix для ядра Linux позволяе т такой вид прозрачной миграции заданий. Таким образом, openMosix включает в себя технологии, реализующие алгоритмы миграции заданий (см. [BAR1]).

Кластер openMosix, состоящий из компьютеров под управлением OC Linux, есть то, что называет с я однобразной системой (SSI). В различных стат ь ях неоднократно обсуждалось, что нельз я получить настоящий класте р до тех пор, пока вы не построите SSI. В SSI класт ер е пользова т е л ь не заботитс я о том, на каком узле он выполняе т команды, и любая программа, которую он запуск а е т, будет запущена на том узле, который сможет удовле т ворит ь потребнос ти программы наилучшим обра зом.

openMosix – это расширение ядра Linux. Поэтому для того, чтобы проинста ллирова т ь openMosix, необходимо запусти ть специальный инсталляционный скрипт, который применит всё необходимые изменения к исходным кодам ядра Linux. Такой скрипт в дальнейшем будем называт ь «патч» (от англ. patch). Изменения касаются 3% всего исходного кода ядра, что не очень много (см. гл. 5.3).

Замеча т ел ьной особеннос т ью openMosix являе т с я то, что пользов а т е л ь только запуск а е т программу, а клас т е р решает, где её выполнить (если не оговорено обратное). Разработчики openMosix называют это свойс тво «развет вис ь- и-забудь» (fork-and-forget).

Pages:     || 2 | 3 | 4 | 5 |   ...   | 11 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.