ВОВКнОUС, 01 лекция (от 15 февраля)
Материал из eSyr's wiki.
Диктофонная запись: http://esyr.org/lections/audio/clusterbuilding_2008_summer/clusterbuilding_08_02_15.ogg
Вопросы организации вычислительных кластеров на основе UNIX-серверов
Что еcть вычислительный кластер? Чем он отличается от всех прочих кластеров. Кластер --- сборище компьютеров, которые работают над решением одной и той же, точнее, одной задачи. Под решением задач можно понимать разные вещи, например, есть кластеры, которые занимаются задачей балансировки нагрузки на БД.
Например, есть вход некоторый, в который надо стучаться снаружи, потом этот вход перераспределяет нагрузку по выбору чего-то из БД на какие-то другие сервера. Это не есть вычислительный кластер.
Второй пример. Есть точка входа. Эта точка вхоа выдаёт порцию данных, которая обрабатывается независимо произвольным количеством компьютеров, количество которых заранее неизвестно, и результат потом складывается куда-то в другое место. Об этом тоже говориться не будет, это GRID.
Какие ещё бывают кдастеры. задачи, которые возникают вот здесь и которые касаются вычислительных кластеров могут быть одни и теже. Только в случае кластера он не территориально разделён и число компутеров нам известно и считается, что коммуникации надёжны. В отличие от GRID, где каждый узел --- персоналка пользователя, с которой может случиться что угодно.
Спектр задач, решаемых кластерами:
- Задачи газовой и гидродинамики
- Для задач численного моделирования задач молекулярной биологии. Есть большие молекулы, которые сворачиваются хитрым образзом, например, есть цепочка белковая, которая сворачивается во вторичную, третичную структуру
- Моделирование экономических процессов, в том числе прогнозирование рынков
- Обработка сигналов.
Есть всякие разные проблемы, связанные с тем, что данных может быть очень много, например астроном взяли, понафотографировали кучу всякой разной хрени, и за время существования науки астрономии накопилось большое количество фотографий, нужно
Или есть такая штука, называется токамак, типа бублик, по этому бублику натыкано большое количество датчиков. Заливают туда радиоактивное вещество, устраивают сильное магнитное поле, и собирают данные в течение 2 секунд, за которые генерируются терабайты данных.
Кластеры,которые преераспределяют нагрузку --- кластеры перераспределения нагрузки, а кластеры, которые хранят большое количество информации --- кластеры для хранения большого количества информации.
Изображение:Clusterbuilding 01 03.png Кластеры стоят не сами по себе, он стоят в вычислительных центрах. Для того, чтобы это всё счастье работало, в ВЦ присутствует много всяких разных штуковин, которые лектор будет рисовать. Во-первых, то, что не относится к ВЦ:
- Пользователи со своими клиентскими машинами
они через нечто под названием интернет пытаются куда-то стучаться. Стучаться дают только через специальные дырочки в стене, стена эта --- фаервол.И стучатся они не на сам кластер, а на специальную машину, в качестве извращённого примера пускай это будет ноутбук. Есть ещё одна машина, которая необязательно за фаерволом, но критична для всего кластера. Это веб-сервер. Об этом попозже будет. Кроме машины, куда стучатся пользователи, есть специальная машина, которая представляет из себя хранилище данных. Оно находится под управлением сервера данных или файл-сервера. Кроме файл-сервера есть специальная машина, которая следит собственно за кластером.
Кластеров в ВЦ может быть несколько, и могут они быть не кластерами, а довольно мощной машиной.
С точки зрения сетевых соединений. Обычно сеть, которая торчит наружу и внутренняя сеть разделены практически физически, чтобы снаружи можно что-то было сотворить вот с этим явлением. Поэтому вот тут бывает какая-то своя внутренняя сеть, лаже несколько сетей. Одна довольно тормознутая, она предназначена для упралвения всем этим безобразием. Но между файловым хранилищем и файловым сервером, ещё обычно между файловым хранилищем и вычислительными серверами и интерфейсной машиной, той машиной, куда активно стучатся пользователи, проложана специальная сеть, которая работает значительно более быстро, чем сеть, предназначенная для управления всем этим безобразием.
Плюс ещё почти всегда в организации пристутствуют люди, которые хотят сидеть откуда-то не издалека, а изнутри, почти всегда рядом с этим счастьем находятся клиентские рабочие места, и в общем всё вот это вот, это всё обычно находится на территории некоей организации.
С точки зрения организации ВЦ и разграничения доступа пользователей к выч. ресурсам абсолютно всё равно, откуда они стучатся --- отсюда или внутри организации, в любом случае они это делают через интерфейсную машину.
Тут есть некий набор терминологии. Вот это вот, то что необязательный кластер, называется вычислительная система. Иногда под этим термином подразумевают процессорные мощности плюс систему хранения данных. Есть ещё такое понятие, как узел вычислительной системы. Это отдельный компьютер, который работает под управлением своей собственной ОС, который объединён сетью с другими узлами. То есть, кластер --- это набор вычислительных узлов. Обычно, когда какой-нибудь большой начальник говорит «нам нужно сделать кластер», он обычно подразумевает «нам нужно сделать ВЦ», поэтому людям, которые создают это дело, приходится иметь дело со всеми этими являениями, поэтому рассмотрим эти явления по отдельности.
Отчасти web-серве ВЦ это почти то же самое,что и web-сервер организации. Web-сервер нужен для одной простой вещи --- чтобы они знали о вашем существовании. Далее надо этих поьзователей регистрировать. Если это делать вручную, то очень быстро появится много групп, непоняытно, кто активный, и так далее. Поэтому должн быть информация, какие есть узлы, какая их производительность, какие прикладные программы, какие версии. Также есть курс молодого бойца.
Вторая функция веб-вервера --- собственно регистрация пользователей. Часто администраторы требуют от пользователя не только того, кто он такой, откуда, и что собирается делать, но и описание предметной деятельности, сколько файлового пр-ва он займёт, сколько часов в месяц будет использовать.
Третья функция --- информирование пользователей о состоянии систем и очередей.
Фаерфолл нужен для фильтрации трафика. Обычно на вход жёстко разрешают только ссх.
Кром веб- есть ещё почтовый сервер. Он обычно нужен для того, чтбы информировать о завершении задач, а также, для того, чтобы бить по башке.
Кроме того, есть люди, которые находятся в этой организации, и активно пользуются кластером. Например, у нас этим страдает матфиз.
Интерфейсная машина. Что должна уметь интерфейсная машина? Она должна уметь пускать на себя пользователей, должен быть домашний каталог, возможность редактирования файлов. Вторая возможность --- возможность откомпилировать под каждую из архитектур выч. узлов. На практике, в НИВЦе эта проблема решена следующим образом --- там есть несколько интерф. машин, и к каждой подключена своя ВС. В академии наук проблема решена по-другому, там инт. машина выкинута, но там есть несколько инт. машин со своей выч. системой. Обычно домашний каталог пользователя находится физически на файловом сервере.
Как заливают терабайты: обычно, если есть терабайты, то это две организации, между которыми выделенный канал. Или веб-сервер умеет ещё фтп и позволяет заливать файлы на файл-сервер.
На практике для пользования каждой ВС есть своя система очередей, он говорит, что хочет запустить на определённое вермя на определённом количестве русурсов (процессоров), есть контрольный сервер очередей (иногда может быть отделён от контрольного сервера), и он управляет очередью. Такой странный режим работы тем, что задачи обычно отжирают все доступные ресурсы, и если делать обычное планирование, то выч. сервер будет заниматься тем, что свопить и вытаскивать из свопа.
Ещё контрольный сервер занимается тем, что отслеживает состояние железа. Если процессор перестал работать, то нужно его выключить, сообщить об уменьшившемся количестве процессоров системе очередей и написать админу.
Второе, что делает контрольный сервер --- снимает данные о нагруженности ВС и отдельных узлов. Например, Вася Пупкин сказал, что у него есть задача, которая занимает 10 часов, но его программа занимается тем, что говорит слип 10 часов. Причины этого могут быть разные, например, дедлок.
Фал-сервре. Это хранилище данных. Про него важно, что он паозволяет примонтировать своё содержимое интерфейсной машине и каждому узлу ВС и писать туда данные. Для этой цели существует несколько разных протоколов, в частности, ISCSI. Ещё есть NFS, который позволяет примонтировать каталог и все системны файловые вызовы просто транслируются сюда.
По поводу вычсистем. ВС может устроена на основе систем с маленькими дисками (маленькая сеть условная), и как набор бездисковых машин. Если кластер устроен как набор дисковых машин, то может использоваться сетевая (распределённая) ФС, реализации таких ФС есть AFS, GPFS, lustra. Про это будет в самом конце курса.
Допустим, здесь есть тысяча процессоров, каждый из которых зранит, и каждому из которых доступно 100ГБ. В реузльтате использования этой ФС в такую ФС можно сохранить файл размером 100ГБ * число процессоров, и ещё что хорошо, ежели у нас файл находится где-то далеко, то ежели мы пишем свой кусок данных с каждого процессора, и вынуждены писать не в свой кусок, а далеко и блокировать весь файл. Распред. ФС позволяют писать у себя, а потом просто дампать(?).
О чём лектор будет говорить дальше:
- Более подробно об устройстве ВС с точки зрения железа, котоорое может быть напихано
- Алгоритмы планировщиков
- nfs, openldap
потом как пойдёт.
Как будет проходить экзамен: к концу, когда лектор поймёт, что он рассказал, он придумет список вопросов и письменный вариант экзамена, который будет писаться
Оценка: писать это счастье можно несколько раз, оценка будет выставлена, будет проставляться, если вы с ней согласны.
Если оценка не устраивает, можно переписать.
Вопросы организации вычислительных кластеров на основе UNIX-серверов
01 02 03 04 05 06 07 08 09 10 11
Календарь
пт | пт | пт | пт | пт | |
Февраль
| 15 | 22 | 29 | ||
Март
| 07 | 14 | 21 | 28 | |
Апрель
| 04 | 11 | 18 | 25 |