jeudi 14 avril 2011

Кластер №4

Этот кластер возник внезапно. В МСЦ РАН собирали новый суперкомпьютер, под него нужно было место, поэтому старый нужно было кому-нибудь отдать. Два академика встретились в коридорах президиума РАН, один предложил: “Слышь, а вам не нужно пару-тройку стоек нашего старого суперкомпьютера?”. Странно было отказываться. Коллеги, что в институте занимаются вычислительной техникой, со страхом забились в угол при словах “суперкомпьютер” и сказали “оно нам не нужно”. Пришлось нам забирать эту кучу техники, разбирать, погружать, разгружать, перевозить, собирать. Так через 1.5 года после того, как мы перевезли это всё из президиума РАН в институт, в моем, практически единоличном, распоряжении оказались три стойки по шесть шасси по четырнадцать блейдов JS20.

После всех перевозок и переносов мне показалось, что будет проще поднять на кластере Linux с нуля, нежели разбираться с настройками, что были в МСЦ, а после ещё и исправлением этих настроек под существующие реалии. Конечно, там был SLES9 и компиляторы IBM, но этих прелестей было недостаточно для воодушевления на копание в настройках. К тому ж головная машина кластера не пережила переездов и ожидания. За год пребывания в комнате из нее куда-то делась регистровая память и сгорел БП.

В целом план действий был ясен. Найти бесхозную машину, поднять там Linux, на нем поднять HTTP, DHCP, DNS, TFTP и LDAP серверы, сделать локальное зеркало какого-нибудь дистрибутива (выбор таки пал на Fedora 12), написать Kickstart-файл, сбросить настройки управляющих модулей, сгенерировать конфигурации для всех этих серверов, выставить блейдам загрузку по сети. Немного подождать, далее доставить на блейды драйвера Myrinet и систему очередей.

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

Вторая - с драйверами Myrinet. Поскольку Myricom контора серьёзная, доступ к драйверам у них можно получить только после недолгой переписки с девушкой из технической поддержки. Девица запросила серийный номер оборудования, немного подумала и прислала логин и пароль для доступа. При этом посоветовав пользоваться драйвером mx. Радостно загрузив исходники, написал SPEC-файл, помедитировал на патчи, что-то ещё исправил, чтобы оно собиралось на ядре 2.6.32, сделал RPM, установил на несколько узлов. Но все эти узлы видели исключительно себя. Далее начались страдания с драйверами gm. Что 2.0.х, что 2.1.х при сборке падали с ошибкой “iseries is not supported”. Пришлось учинить вандализм, закомментировать строчку с директивой препроцессора #error. После этого всё мирно собралось и даже заработало. С некоторыми НО, конечно.

Третья - с Torque. Вернее с одним компонентом - pbs_sched. Если быть ещё точнее, то во всем оказались виновато оборудование Myrinet, которое не видело часть блейдов. Поэтому возникла необходимость разделять узлы на которых будут запускаться параллельные задачи и узлы для последовательных задач. Пометить узлы в файле nodes было несложно. При создании очередей написать resources_default.neednodes = myrinet тоже просто. Однако pbs_sched отказывался различать узлы по текстовым меткам. Пришлось вспоминать пароль на www.clusterresources.com, загружать оттуда Maui, собирать его. После этого узлы стали нормально отбираться по очередям. Также исчезла проблема с тем, что pbs_sched очень любит запускать неограниченное количество задач на узлах с np=X.

После всех этих нехитрых действий оно всё и заработало. И продолжает работать.

Молодые ученые и ФЗ №94

Не так давно услышал ругань на этот закон от одной молодой ученой биолога, после в какой-то из лент проскочила ссылка http://moloduch-anti-94fz.narod2.ru/. И подумалось мне, что я покупаю что-то не “то”.

Наверное, довольно просто написать что-то в стиле “количество слотов PCI-X16 не менее 2”, “поддержка набора команд AMD64”, “количество интерфейсов с пропускной способностью 1Гбит не менее 4”. После этого подождать месяц и через неделю после этого получить желаемое оборудование. Плюс, довольно просто провести визуальную идентификацию правильности поставки оборудования. Видимо, у биологов и прочих экспериментаторов покупка нужного оборудования/материалов может произойти только при выборе правильного поставщика.

С другой стороны есть коллеги, что успешно используют этот страшный и ужасный ФЗ, чтобы покупать материалы дешевле и удобней. Т.е. без ФЗ они и платили раза 1.5 больше, и тару искали, и относительно доставки морочились, после появления ФЗ - нашелся поставщик, который в свое таре доставляет в институт и ещё и в 1.5 раза дешевле.

Конечно, в своих покупках я мог бы пойти по более простому пути. Не мучать себя уточнением и описанием всех деталей относительно покупаемого оборудования, а просто написать “Вот ЭТО или аналог”, что тоже допустимо. В итоге, правда, я был и получал эти самые аналоги, более дешевые, не обладающие нужными характеристиками.

Самое интересное представляет собой реакция молодых ученых на закон. Вместо того, чтобы начать в институте. Потребовать от дирекции более открытого распределения пула закупок без конкурса. Сказать: “Дмитрий Анатольевич, ну почему в России не производят вот такую вот штуку? Ну почему нам приходится заказывать это за границей? А?”. Вместо этого молодые ученые предлагают убрать ФЗ 94. Разрешить им покупать что они хотят у кого они хотят. При это ещё как бы намекая, что последуют примеру поросенка Петра, если ничего предпринято не будет.

vendredi 1 avril 2011

Кластер №3

После того, как кластер №2 более чем на 50% умер, было решено заменить его полностью. Оставалась энная сумма денег, которые, конечно же, нужно было потратить. В этот раз всё было несколько сложнее. За попыткой вписаться в бюджет последовало написание технического задания, объявление тендера.

В итоге было куплено 15 материнских плат, 15 трехядерных Phenom’ов и немного более слабая конфигурация для головной машины.

Установка ПО на кластер началась с выяснения того, что BIOS, с которым поставляются материнские платы, нестабильно работает с быстрой памятью. 16 раз пришлось обновить BIOS. Дальше, впрочем, всё стало проще.

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

В таком виде кластер просуществовал этак месяцев 6, за эти 6 месяцев пришлось ещё поднять большой кластер, что несколько поменяло представления о развертывании кластеров. Поэтому через полгода было решено переставить ОС на узлах. Началось всё с ещё одного обновления BIOS. На сей раз только на сильно нестабильно работающих машинах.

А далее было всё весьма прозаично: DHCP, DNS, TFTP, PXE, Kickstart.

И не смотря на наличие большого кластера, народ не спешит с этого маленького куда-то перемещаться.