Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Знакомимся с HPC-кластером OpenMosix


Антон Борисов

Большую часть времени ПЭВМ, скажем честно, простаивает. Средняя загрузка не превышает 20%. Но как только начинается сборка приложений, например на C++, или оцифровка видео-, аудиофайлов, то становится очевидным недостаток вычислительных ресурсов. Основная идея HPC-кластеров – задействовать ресурсы, свободные на других узлах кластера.

Что такое кластер

Кластер – это две или более самостоятельные системы, объединенные в единое целое посредством специального программного и аппаратного обеспечения. Основное звено кластера – это единичный компьютер, называемый узлом. Кластеры могут расти – «масштабироваться» – путем добавления новых узлов. При этом синергетическое целое мощнее, нежели отдельный узел. Изменения в структуре кластера, например, появление и удаление узлов из состава кластера (по разным причинам – авария или, наоборот, восстановление после критической ситуации) фиксируется всеми оставшимися/новыми узлами.

Типы кластеров

На сегодняшний момент широко известны и распространены 3 типа кластеров – отказоустойчивые (например, LifeKeeper – см. [1]), с балансировкой загрузки (Load-Balancing) и высокопроизводительные (High-Perfomance Computing):

n  Отказоустойчивый кластер состоит из двух или более узлов, между которыми существует выделенное соединение (heartbeat), которое используется для обмена служебной информацией между узлами. Как только какой-либо из узлов перестает функционировать, то второй (резервный) узел берет его функции на себя.

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

n  В высокопроизводительном кластере узлы сконфигурированы таким образом, чтобы общая производительность была максимальной. В этом типе кластера присутствуют и балансировочные механизмы – задания распределяются между узлами. Самое интересное в таком типе кластера – факторизация процесса (разбиение задачи на несколько параллельных подзадач). Процесс не ожидает освобождения CPU, а запускает свои подзадачи на разных узлах.

Суперкомпьютеры и кластеры

Традиционно ресурсоемкие математические вычисления выполнялись на суперкомпьютерах. Они выпускались определенным количеством производителей и организация, которая хотела купить суперкомпьютер, должна была обладать немалым финансовым ресурсом. Естественно, что большинство университетов не могли себе позволить такого рода дорогую игрушку, поэтому в их недрах начала создаваться концепция кластера для академических кругов. Цель данной концепции – подготовить условия для распараллеливания задачи между узлами, передать обработку подзадач на узлы и затем собрать результаты каждой подзадачи. Кластер предполагалось собирать на PC-платформе, благо она становилась всё более и более распространенным явлением и по сути дешевой.

Кластерные модели

Существует несколько методов распараллеливания – N(UMA), DSM, PVM и MPI. Некоторые из этих схем реализованы аппаратно, другие программно. Бывают и смешанные решения:

n  (N)UMA ((Non-)Uniform Memory Access) – узлы имеют доступ к общей памяти, где выполняется код. Стоит отметить, что в Linux-ядре есть NUMA-реализация.

n  DSM (Distributed Shared memory) реализовано как программно, так и аппаратно. Концепция этого метода заключается в предоставлении уровня абстракции для физически распределенной памяти.

n  MPI (Message Passing Interface, интерфейс передачи сообщений) – это открытая спецификация для создания библиотек передачи сообщений. В частности, библиотека MPICH – самое известное решение на базе MPI. Другое известное решение – библиотека LAM.

n  PVM (Parallel Virtual Machine) является собратом MPI. Фунционирует PVM в пользовательском пространстве, поэтому каких-то модификаций на уровне ядра не требуется. Пользователь с достаточными правами может запустить PVM.

Сущность OpenMosix

Пакет OpenMosix – это патчи к ядру Linux. На момент написания этого материала существуют патчи для ядра 2.4.26 и для ветки 2.6. Так как OpenMosix реализован в виде патчей, то сохраняется полная совместимость между программами, файлами и другими ресурсами в Linux.

Обычный пользователь может и не заметить изменений между Linux-машиной и OpenMosix-кластером, ибо последний будет расматриваться как рядовая Linux-машина, только немного производительнее. Внутренний механизм балансировки прозрачно производит миграцию процессов на узлы кластера. Оптимальная загрузка кластера вычисляется динамически через определенные промежутки времени. Вы также можете произвести нужную подстройку параметров кластера. Прозрачный механизм миграции играет интересную роль – из-за него весь кластер выглядит как большая SMP-машина со множеством процессоров (каждый узел в роли процессора). В рамках OpenMosix разработана файловая система (oMFS) для HPC-приложений, которая в отличие от NFS поддерживает целостность ссылок, атрибуты времени и кеширование.


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100