РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ ОБРАБОТКИ ДАННЫХ
Владислав Павлович Шириков
Главный научный сотрудник
Объединенный Институт Ядерных Исследований (ОИЯИ)
141980 Дубна Московской области
Россия
shirikov@jinr.ru

    Создание и использование распределенных систем для компьютеризованной регистрации, передачи и обработки информации в интересах научных исследований началось меньше чем 50 лет назад : повидимому, первая такая система В Советском Союзе была реализована в 1961 году для передачи по радиоканалам информации с объектов на Атлантическом океане для приема и обработки первым Советским универсальным полупроводниковым компьютером ДНЕПР в Институте Кибернетики Украинской Академии Наук, в Киеве. Основные работы по созданию многомашинных комплексов для распределенной обработки задач и данных развернулись в 60-х / 70-х годах прошлого века практически одновременно во всех крупных исследовательских организациях и у нас, и зарубежом. Верхом их развития мы считаем сейчас Grid-системы, т.е. комплексы, удовлетворяющие, по определению одного из идеологов Grid Яна Фостера [1] , следующим трем критериям :

  1. Система объединяет распределенные вычислительные ресурсы, которые не являются объектами исключительно централизованного локального управления (применения) и могут быть предоставлены по определенным правилам и соглашениям для внешнего доступа и использования;
  2. Система реализована с применением стандартных открытых протоколов общего назначения и интерфейсов (типа, возможно, OGSA/WSRF- архитектуры);
  3. Система гарантирует своим пользователям нетривиальное качество обслуживания (QoS, Quality of Service) по времени реакции, пропускной способности задач, доступности, разнообразию предоставляемых ресурсов, обеспечению сохранности информации и прав доступа к ней, так что в целом производительность, выгодность использования, полезность, отдача всей системы больше, чем от простой суммы ее составляющих.

    В идеале такая Grid-система позволяет рядовому зарегистрированному пользователю ввести свою задачу для пакетной или интерактивной обработки, не адресуясь в паспорте задачи ( ее JDL-файле) через атрибут типа Requirements к конкретной машине ( СЕ, компьютерному элементу-серверу в составе вычислительных ресурсов Grid ), если в составе программного обеспечения функционирования системы ( её middleware) есть сервисы высокого уровня типа RB ( Resourse Broker) и достаточный набор СЕ, как это имеет место в реализованных широкомасштабных проектах типа EGEE ( Enabling Grids for E-sciencE, см. http://lcg.web.cern.ch/LCG/, http://egee-jra1.web.cern.ch ), хотя , скажем, в американском проекте OSG ( Open Science Grid ) этого предусмотрено не было. На самом деле многие идеи, реализованные в современных Grid-структурах, не являются ( как будет видно ниже) абсолютно новыми для тех, кто строил комплексы распараллеливания алгоритмов и распределенной обработки данных более чем 30 лет назад, применяя доступную в то время компьютерную технику и средства межмашинной связи, поэтому можно считать, что Grid - это во многом реализация старых идей на новой технологической основе.
    В таком физическом научном центре на территории России, как Объединенный Институт Ядерных Исследований (ОИЯИ), основанный в 1956 году и имевший тесные научные связи с западными физическими центрами, особенно с Европейским Центром Ядерных Исследований (CERN, Женева), даже при отсутствии прямых межкомпьютерных связей возникали проблемы, требовавшие общего подхода к решению прикладных задач и совместимого программного обеспечения на вычислительных серверах, что облегчило бы по крайней мере если не обмен программами и данными по линиям связи, то хотя бы их переносом на магнитных лентах. Что касается основного типа обрабатываемой информации, то в ОИЯИ, CERN и других центрах ( в Бруклине, Дэрисбури, Беркли, Ливерморе..) это были прежде всего экспериментальные данные с детекторов на ускорительных установках. В ОИЯИ, где в равной степени решались задачи физики низких и промежуточных энергий, возникала и необходимость регистрации и обработки спектрометрической информации в исследованиях с применением реакторной техники.. Тем самым одной из главных решавшихся с начала 60-х годов задач стало техническое и программное обеспечение всей цепочки съема, предварительной и окончательной обработки информации прежде всего для разных областей экспериментальной физики, а также компьютерная поддержка исследований в области теоретической физики. Способом решения этой задачи и стало построение распределенных многоуровневых вычислительных комплексов с применением перспективных магистрально-модульных систем и стандартизованных программных средств для решения прикладных задач : трансляторов с языков высокого уровня, библиотек программ общего и специального назначения, технологии распараллеливания алгоритмов, средств доступа пользователей к разнотипным вычислительным ресурсам. Этапы решения этой задачи представлены, в частности, в [2, 3, 4]. Основные работы в ОИЯИ, указанные ниже, были инициированы и выполнялись ( до июля 1989 года) под общим руководством члена-корреспондента АН СССР Н.Н.Говоруна : начальника математического отдела ВЦ ОИЯИ (1963-1966), заместителя директора (1966-1988) и директора Лаборатории Вычислительной техники и Автоматизации ( 1988-1989).

    Началом работ по реализации распределенных многомашинных комплексов в ОИЯИ можно считать организацию в 1962 году простейшей связанной структуры из двух машин М-20 и КИЕВ [2,4], установленных в ВЦ ОИЯИ и способных принимать по кабелю и обрабатывать информацию с анализатора спектров в измерительном центре Лаборатории Нейтронной Физики ( ЛНФ), а также данные на перфолентах с измерительных полуавтоматов, на которых шла предварительная обработка фотографий событий в детекторах на ускорителе Лаборатории Высоких Энергий (ЛВЭ) ОИЯИ. В 1965 году эта структура была модернизирована за счет замены машины КИЕВ, которая была недостаточно надежной, на МИНСК-2 и установки второй ЭВМ М-20 : машины класса М-20 стали основными для обработки данных и счета задач разного типа ( схема доступна по адресу http://lit.jinr.ru/LCTA/lcta30/img/schema1.gif
C 1966 по 1974 год проходил первый этап создания трехуровневого комплекса для реализации общих принципов и режимов, характерных и для современных распределенных систем :
    1) Обеспечение экспериментов на линии с ЭВМ ( нижний уровень);
    2) Дистанционная пакетная и интерактивная обработка задач;
    3) Интерактивный режим при подключении пользовательских терминальных устройств;
    4) Распараллеливание алгоритмов на разных машинах комплекса;
    5) Организация и использование банков программ и данных.
    Реальность реализации этих принципов и режимов определялась появлением и приобретением цеого набора ЭВМ нового типа : "малых" ЭВМ для on-line съема информации с экспериментальных установок или для использования в качестве групповых пользовательских устройств ( RIOS : Remote Input / Output Stations ) при формировании пакетов задач, передаче их вычислительным серверам и получении результатов счета в режиме дистанционной пакетной обработки ; "средних" ЭВМ для предварительной обработки информации от аппаратуры измерительных центров и также поддержки режима RIOS, и "больших" ЭВМ для использования в качестве базовых вычислительных серверов. В этот новый набор вошли машины ТРА ( производство Венгрии с DEC-подобной системой команд), СМ-3/4, М-6000 ( аналог HP-2116B ), оригинальные HP-2116B, БЭСМ-3М и БЭСМ-4, МИНСК-2/22, CDC-1604A, БЭСМ-6...БЭСМ-6 становилась основным вычислительным сервером во всех научных организациях СССР, однако уже на стадии подготовки к её полномерному использованию потребовалось развитие её системного программного обеспечения : так родилась многоязычная мониторная система "ДУБНА" с набором трансляторов с языков ФОРТРАН , АЛГОЛ, РЕФАЛ, ПАСКАЛЬ, ЛИСП, CDL и др. а также библиотекой программ общего назначения, совместимой с библиотекой CERN и расширявшейся рядом новых программ, разработанных в ОИЯИ (история "одевания" БЭСМ-6 хорошо описана в публикациях [2,3.4] ). Нужно отметить, что из указанного выше списка трансляторов только три делались непосредственно в Дубне ( CDL и два варианта для ФОРТРАНа), остальные - в сотрудничающих организациях, откуда брались дополнительно и некоторые интересовавшие пользователей ОИЯИ библиотеки программ.
    Условия применения БЭСМ-6 в ОИЯИ сразу диктовали необходимость развития её технических и программных возможностей подключения разнообразных устройств ввода и архивирования информации, а также создания средств связи с другими машинами, особенно территориально удаленными. Результатом доработок в стойке управления внешними устройствами (УВУ) и операционной системе стало появление обслуживаемых операционной системой БЭСМ-6 восьми быстрых линий связи ( с пропускной способностью до 500Кбайт/сек и возможностью подключения до 4-х абонентских ЭВМ на каждой линии : удаленной техники измерительно-вычислительных центров ОИЯИ, выносных станций ввода-вывода для пакетной обработки задач ( с местным названием ФС : Фортранные Станции, функции которых стали выполнять и ТРА с собственными внешними устройствами типа телетайпов, читающих устройств с перфокарт, магнитофонов и принтеров, а также машины типа МИНСК-2/22, М-6000, БЭСМ-4). Поскольку на машинах измерительно-вычислительных центров велась предварительная обработка экспериментальной информации с расчетом на окончательную обработку с привлечением БЭСМ-6, то пришлось реализовать своеобразное распараллеливание алгоритмов обработки : это потребовало создания в рамках операционной системы БЭСМ-6 специального экстракода обслуживания линий связи и служебной задачи связи, а в её мониторной системе - средств пропуска задач (с программами на стандартных алгоритмических языках типа ФОРТРАН), нуждающихся во внешних обменах информацией с программами предварительной обработки на периферийных ЭВМ. Использование аппарата внешних прерываний в БЭСМ-6 и периферийных машинах ( таких как БЭСМ-4, где также был сделан в ОИЯИ аналог ФОРТРАН-ориентированной мониторной системы) облегчало реализацию аналога современного MPI ( Message Passing Interface) сервиса, а следовательно и указанного выше распараллеливания алгоритмов...Сложившаяся к концу описываемого периода схема, когда в 1972 году партнером БЭСМ-6 на верхнем уровне комплекса стала и машина CDC-6200, представлена в работе [2] и доступна по адресу http://lit.jinr.ru/LCTA/lcta30/img/schema2.gif
    ОИЯИ не был единственной научной организацией на территории России, создававшей многомашинные комплексы уже в 60-е годы : можно отметить хотя бы создание системы коллективного пользования АИСТ в ВЦ СО АН, комплексы в ИПМ АН СССР, ВЦ АН, ИТЭФ, ИТМиВТ, ИФВЭ в Протвино...В чём-то по своим функциональным возможностям и система ОИЯИ, другие упомянутые комплексы имели схожие черты с Западными реализациями того времени : например, системой FOCUS в CERN, где была и машина-концентратор (CDC-3200) при базовых ЭВМ CDC-6500/6600, обслуживавшая 4 линии связи с 16 периферийными ЭВМ и пропускной способностью до 12Мbit/sec на каждой линии, и станции типа RIOS, и концентратор терминалов...Однако западным центрам было легче, им не пришлось, в частности, самим реализовывать ту системную среду типа ФОРТРАН-ориентированной мониторной системы, о которой речь шла выше...Что касается типа вычислительных серверов для обработки данных и проведения сложных расчетов с большой точностью, то физики этих центров всегда предпочитали использовать 60-битную технику, поэтому для целей съема информации с аппаратуры им было достаточно и 32-битных машин IBM, а для окончательной обработки применялись ЭВМ фирмы CDC, недоступные нам до 1972 года по причинам эмбарго : для нас появление в 1968 году 48-битной БЭСМ-6 уже было хорошим выходом.. Нужно сразу сказать, что современный Grid тоже начался с активного применения кластерных РС-структур на основе 32-разрядной технологии, но при первых же поставках 64-разрядных процессоров типа AMD и Itanium 2 началось соответствующее перевооружение научных центров. Так, уже в 2003 году в CERN в рамках проекта Openlab [5] для освоения кластерной техники нового типа был сформирован кластер из 32 двухпроцессорных (на базе Itanium 2) узлов и началась адаптация прикладных пакетов программ типа PROOF ( Parallel ROOT Facility) как версии популярного у физиков пакета ROOT для анализа больших объемов данных ; в России примерно в то же время Институт Вычислительной Математики РАН начал использование подобного кластера с шиной Myrinet 2000 для решения задач численного моделирования, ранее решавшихся в основном через доступ в дистанционном режиме к суперкомпьютеру в Межведомственном Центре РАН...
    Период 1975г. - начало 80-х годов был связан в ОИЯИ с расширением уровня базовых ЭВМ за счет внедрения ЕС ЭВМ, совместимых с IBM-360/370, и развитием средств терминального доступа к третьему уровню комплекса ( см. Схему по адресу http://lit.jinr.ru/LCTA/lcta30/img/schema3.gif).     Это развитие включало в себя создание специальных программируемых контроллеров ( мультиплексоров) для "больших" ЕС ЭВМ с применением микропроцессоров, а также создание терминального концентратора на базе ЕС-1010 и программной подсистемы ИНТЕРКОМ, совместимой с аналогичной подсистемой INTERCOM для ЭВМ серии CDC-6000 в ОИЯИ, что позволило иметь:

  1. Единый унифицированный язык INTERCOM и программно-технические средства для общения с разнотипными базовыми ЭВМ через буферную машину ЕС-1010 как концентратор терминалов, оснащенный собственными ресурсами внешней памяти на дисках и магнитных лентах, а также специальной операционной системой, разработанной в Лаборатории Вычислительной Техники и Автоматизации ( ЛВТА) ОИЯИ. Доступ к машинам типа ЕС-1060/1061/1066 поддерживался через указанные выше контроллеры и подсистему ТЕРМ ( как расширение операционной системы этих машин, также разработанное в ЛВТА и понимавшее язык INTERCOM ) ;
  2. Независимый ( от базовых ЭВМ) сервис для пользователей терминалов в процессе ввода, редактирования и архивирования информации при работе над текстом задач;
  3. Выполнение директив пользователя по направлению подготовленной задачи на ту или иную базовую ЭВМ, по выдаче информации о состоянии очередей задач на той иной машине, по временной приостановке или прекращении выполнения задачи, выводу OUTPUT-файла задачи на печать или экран терминала.

    В принципе концентратор по существу был способен выполнять функции тех программных сервисов, которые в современных Grid-системах относят к понятиям UI ( User Interface), NS (Network Server) и RB (Resource Broker), особенно если пользователь обходился применением подмножества языка ФОРТРАН, общего для базовых ЭВМ, поскольку концентратор мог опрашивать состояние очередей задач на обслуживаемых машинах самостоятельно или по запросу пользователей терминалов. Возможность выбора для задачи той или иной машины облегчалась и тем, что все они ( БЭСМ-6, CDC-6200/6500, ЕС-1060/1061 и впоследствие ЕС-1066 ) оснащались совместимыми версиями библиотек программ общего назначения.
    С 1983 года подошло время массового внедрения стандартных средств организации локальных сетей в научных центрах и их подключения к внешним каналам связи. Что касается технологии и структуры, то возможный выбор касался сетевых технологий Token Ring/ Token Passing или "молодой" Ethernet. В ОИЯИ локальная общеинститутская сеть заработала в 1985 году. Это была JINET (Joint Institute NETwork) c маркерным (token) методом доступа к магистрали на основе коаксиального 75-омного кабеля протяженностью порядка 12 км, прошедшего по всем основным корпусам ОИЯИ. В разных точках подключались сетевые узлы-адаптеры, каждый узел обслуживал от 8 до 12 последовательных ( по стандарту RS-232C) портов для подключения терминалов ( в том числе класса РС) или портов мультиплексоров ЭВМ. Для этой цели изначально было закуплено около 30 адаптеров от Швейцарской фирмы Furrer-Gloor, они имели встроенные блоки памяти и микропроцессоры Z-80 ; через некоторое время в ОИЯИ было налажено собственное производство аналогичных адаптеров с добавочными возможностями, они также были задействованы в сети JINET. Внутреннее программное обеспечение узлов было полностью разработано в ЛВТА ОИЯИ по двум причинам : встроенное фирменное было слишком дорого для нас и, кроме того, мы предвидели необходимость модификаций, расширения его возможностей, а следовательно нуждались как минимум в обладании исходными текстами, лучше - собственными. Созданное программное наполнение узлов поддерживало образование виртуальных каналов связи (коммуникационных сессий) между абонентами через общий кабель с пропускной способностью около 1Мbit/sec. Каждый абонент ( терминальный пользователь или компьютер) мог давать различные команды своему узлу : вызвать локальный редактор вводимого текста, проверить состояние других узлов или их портов, настроить свой порт на удобную для него скорость приема информации, указать свой признак конца вводимых строк и т.п.,если определенные по умолчанию параметры его не устраивали. Если подобных указаний не требовалось, то абонент просто давал команду на образование виртуального канала связи по определенному адресу ( т.е. указав номер узла и порта либо символическое имя машины), начинал использовать этот канал и по концу работы давал команду о разрыве соединения ( конце сессии). Такие абоненты, как компьютеры, могли использовать подобные виртуальные каналы для обмена файлами средствами стандартной программы KERMIT. Специальный узел-администратор и его партнер ("горячий резерв") автоматически контролировали перемещения маркера (token`а), собирали статистику соединений узлов и ошибок, обнаруживали возможную пропажу маркера и обеспечивали его восстановление, могли выключить какой-то узел из обслуживания по причине замеченных отказов или ошибок в работе, делая запись об этих своих действиях в файле статистики для технического персонала, ответственного за работу сети.
    В 1988 году JINET стала абонентом IASNET, международной сети коммутации пакетов по протоколу Х.25 , будучи подключенной наземным каналом связи к коммуникационному узлу в Московском институте ВНИИПАС [4]. Это открыло возможность прямого обмена файлами с отечественными и зарубежными физическими центрами, использования режима telnet для доступа к тем или иным внешним вычислительным серверам ( многие физики ОИЯИ имели пароли для такого доступа, будучи членами различным международных коллабораций). Через год в ОИЯИ уже заработала и первая очередь стандартной сети Ethernet, она была состыкована с сетью JINET, как это представлено в схеме, доступной по адресу http://lit.jinr.ru/LCTA/lcta30/img/schema4.gif. Это было время, когда БЭСМ-6 была снята с эксплуатации и новые серверы подключены к Ethernet : кластер из двух машин VAX-8350 с общей дисковой памятью ( около 12 Gbyte) , устройствами для картриджей (по 200 Mbyte), магнитофонами для лент с плотностью записи до 6250 bit/inch ; достаточно мощная станция MEGATEK/WIZZARD 7555 для нуждающихся в наличии трёхмерной графики ( например, для физиков, просматривавших заинтересовавшие их после программной обработки сложные события (events) в детекторах на каналах вывода пучка из ускорителя ).
    В начале 90-х годов пропускная способность Российских наземных каналов связи была неадекватной повышенным требованиям распределенного обмена и обработки информации для задач физики высоких энергий : практически она была в пределах 32Kbit/sec. По этой причине в ОИЯИ были организованы и начали эксплуатироваться в 1994 году два прямых спутниковых канала для доступа к сетям DFN ( Германия) и HEPNET ( High Energy Phisics NETwork) с точкой входа в Италии ( INFN, Итальянском Институте Ядерных Исследований, в свою очередь имевшем прямой наземный канал с CERN). Пропускная способность каждого из этих каналов была порядка 64Kbit/sec, мы использовали антенну и советский спутник РАДУГА для канала на Германию, а для Итальянского канала - наземную связь с рядом расположенной Станцией Космической Связи "Дубна" ( CRC-2) и международный спутник системы INTELSAT. Мы планировали возможность предоставить и другим физическим центрам на территории России возможность воспользоваться вместе с ОИЯИ этим вторым каналом, как это представлено схемой в публикации [2] или по адресу http://lit.jinr.ru/LCTA/lcta30/img/schema5.gif. Конечно, во многих случаях наземные каналы связи предпочтительнее спутниковых с той же пропускной способностью, поэтому когда предоставилась возможность увеличить их пропускную способность ( сейчас она порядка 1Gbit/sec) - мы воспользовались этой возможностью и прекратили использовать спутниковые каналы...
    Наши ближайшие перспективы в использовании распределенных систем - в реализации проекта RDIG ( Russian Data Intensive Grid) как части международного проекта WLCG (Worldwide LHC Computing Grid [6]); 8 институтов ( в Москве, Московской области, Петербурге ) стали основными участниками от Российской Федерации в этом проекте : ОИЯИ, ИФВЭ, ИПМ, РНЦ КИ ( Российский Научный Центр "Курчатовский Институт"), НИИЯФ МГУ, ИТЭФ, ПИЯФ ( Петербургский Институт Ядерной физики в Гатчине) и ИМПБ (Институт Математических Проблем в Биологии)...

    Благодарности.
  Искренняя благодарность людям ( особенно Georg Trogeman, Alexander N.Nitussov, Wolfgang Ernst), организовавшим публикацию книги, упомянутой в ссылках [3,4] и содержащей массу информации по компьютингу и средствам связи в Советском Союзе, а также организациям, поддержавшим это издание : Ministry for Scools, Education, Science and Research of the German state North-Rhine Westfalia и Academy of Media Arts Cologne.

  1. Ian Foster. What is the Grid? A Three Point Checklist. http://www.gridtoday.com/02/0722/100136.html
  2. В.П.Шириков. Математическое обеспечение вычислительных комплексов и сетей. В журнале "Программирование", номер 3, 1991, стр.15-28.
  3. Igor A.Apokin. The Development of Electronic Computers in the USSR. В книге "Computing in Russia. The History of Computer Devices and Information Technology revealed", pp.76-107. Germany: Vieweg, 2001.
  4. V.P.Shirikov. Scientific Computer Networks in the Soviet Union. Там же, стр. 168-176.
  5. The CERN openlab: a novel testbed for the Grid. CERN COURIER, October 2003, pp.31-32.
  6. Memorandum of Understanding for Collaboration in the Development and Exploatation of the Worldwide LHC Computing Grid. http://lcg.web.cern.ch/LCG/C-RRB/MoU/WLCGMoU.pdf