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

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

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

С позиций, сформировавшихся буквально в последние годы, подобный сюжет вовсе не так уж и фантастичен. Причиной тому — одно из современных направлений компьютинга, называемое Grid. Надо признать, что идеи Grid пока еще не слишком широко распространены, но ведь совсем недавно, каких-то восемь-десять лет назад и Internet, и WWW тоже были известны только узкому сообществу профессионалов. Однако в 2002 году число пользователей Сети измеряется сотнями миллионов или даже миллиардами; человека, который хотя бы не слышал этих слов, при всем желании, пожалуй, трудно найти. Есть основания думать, что через какое-то время и Grid приобретет не меньшую популярность: его нынешнее состояние сравнивают с Internet «образца» 1994 года, а потенциал и темпы роста отнюдь не меньше.

В энциклопедии Britannica приведено следующее определение: «Grid — метод использования распределенных процессорных мощностей и распределенных систем хранения, ставший популярным благодаря схемам, позволяющим использовать незанятые вычислительные ресурсы, разбросанные по всему миру. Сегодня, в основном по причинам недостаточной безопасности, системы, построенные на принципах Grid, создаются чаще всего внутри предприятий; этот метод позволяет им более эффективно использовать вычислительные ресурсы».

Действительно, эффективность использования инвестиций в компьютеры волнует современные предприятия больше, чем прежде. Отнюдь не случайно, что именно сегодня HP, IBM и Sun Microsystems, а также более мелкие компании обратили свои взоры в сторону Grid. Лидеры на удивление синхронно предлагают новые и чрезвычайно близкие по смыслу стратегии развития, направленные на реструктуризацию корпоративной информационной инфраструктуры. Каждый называет собственную инициативу по-своему, но будь то utility computing, autonomic computing или N1, по сути они очень похожи и, что показательно, все прочно связаны с архитектурой Grid.

Однако было бы ошибкой признать справедливость только этого довольно узкого определения и ограничить явление, которое называют Grid, только корпоративными подходами. Рискну предположить, что Grid — это некий контрапункт, поворот в эволюции компьютинга, на котором заканчивается очередная фаза его развития и начинается следующая. Руководители ведущих компаний-производителей откровенно признают: заказчики с большой неохотой вкладывают средства в новую технику. Предстоит довольно длительный период стагнации. По данным Gartner Group, никакого заметного роста, например, на рынке серверов в ближайшие пять лет не ожидается.

То, что происходит, имеет полноценное логическое обоснование. Много лет экономисты говорят о невозможности оценки экономической эффективности внедрения компьютеризированных технологий. Еще в 1987 году лауреат Нобелевской премии по экономике Роберт Соллоу сформулировал свой знаменитый «парадокс продуктивности» (иначе его иногда называют «компьютерный парадокс»), который звучит так: «Мы можем видеть наступление компьютерной эры повсюду, за исключением статистических отчетов по продуктивности». Очень интересные и весьма критические взгляды на оценку эффективности корпоративных компьютерных систем принадлежат Полу Страссману, автору книги «Разоряющий компьютер», который сам в свое время занимал пост CIO в Пентагоне. К мнению скептиков долгое время не прислушивались. Но игнорировать подобного рода критику бессмысленно, нынешний кризис является следствием совершенно определенной технической политики, десятилетиями проводившейся предприятиями. Теперь наступил момент истины. У наблюдаемого кризиса (как и у любого другого) есть фундаментальные причины; поиск выхода из кризиса требует их осознания и предложения альтернативных решений. Обращение к Grid — это поиск спасательного круга, с которого может начаться новое плавание.

Несколько замечаний о терминологии

Вернемся к параллели между Grid и Internet. Технологии, созданные для Глобальной сети, дали возможность рождения внутрикорпоративных сетей intranet. С тех пор мы пишем Internet с большой буквы как имя собственное (Сеть одна), а intranet — с маленькой (таких сетей много). Сегодня еще нет одной глобальной структуры Grid, возможно она когда-нибудь возникнет, но есть идея Grid. Небольшие корпоративные структуры, построенные на тех же принципах, будем их называть grid. Стоит ли транслитерировать эти названия кириллицей, покажет время, хотя хотелось бы.

Вместе со словами Grid и сочетанием Grid-компьютинг в профессиональный лексикон с неизбежностью должно еще прочнее войти и сопутствующее ему ?компьютинг?; оно появилось в данном контексте не случайно. Обычно слово компьютинг употребляется там, где отдельный компьютер становится частью сложной вычислительной системы. До сих пор это слово встречалось в таких сочетаниях, как параллельный компьютинг, квазифизический компьютинг или метакомпьютинг т. е. там, где на основе, условно говоря, простых компьютеров строятся системы более высокого уровня. К этому слову вполне можно привыкнуть, привыкли же автомобилисты к слову тьюнинг, а другие — к дайвингу, а третьи — к серфингу. Кстати, и само слово компьютер тоже шло в русский язык не легко.

Компьютинг как нельзя более точно подходит к тому, что представляет собой Grid. В подтверждение обратимся к более общему определению Grid, например, к такому [1]: «Grid представляет собой некий ?виртуальный суперкомпьютер?, в котором удаленные вычислительные устройства совместно образуют мощную обрабатывающую среду, что-то вроде Skynet в ?Терминаторе 2?. Grid-компьютинг — новый класс инфраструктур, в которых из удаленных ресурсов складывается безопасный и масштабируемый вычислительный механизм. В состав этого механизма могут входить компьютеры, начиная от настольных и до серверных ферм и суперкомпьютеров, программные пакеты и устройства ввода/вывода. В основе Grid лежат программные технологии, использующие новые стандарты и протоколы совместно с известными сетевыми и Internet-протоколами».

Сейчас — дело и не дело — используется словосочетание «информационные технологии». Стоит сказать несколько слов по этому поводу. Прежде всего, потому что со времен Клода Шеннона на инженерном уровне произошло смешение понятий, объединение представлений об информации и данных или сигналах, кодирующих эту информацию. С легкой руки первопроходцев информацией стали называть, по существу, наборы данных. До последнего времени, пока системы были относительно просты, отсутствие четкого разделения на данные и информацию не имело практического значения. Но с появлением сложных информационных систем, где функции распределены между человеком и машиной, где человек является активной составляющей, а также с развитием таких дисциплин, как управление знаниями, требуются более точные определения базисных понятий: «данные», «информация» и «знание». В литературе можно найти сотни различных определений понятия «информация»; многие из них противоречивы. Но коль скоро мы пока не можем точно определить, что такое информация, то и что такое информационные технологии, не очень понятно. Но сохраним его, как говорится, «термин занят».

В России дело обстоит еще хуже. Слово «информатика» бесцеремонно отняли у скромной науки, тоже называвшейся информатикой, но при этом ведавшей именно информацией, в основном научно-технической (во всем мире она называется library science). В итоге совершенно невозможно разобрать, где технологии, а где собственно то, что строится на базе этих технологий. Даже соответствующее отделение Российской академии наук называется, как это ни странно, «Отделение информационных технологий и вычислительных систем». Представьте, что, например, строительную механику, материаловедение и архитектуру смешали бы в одну дисциплину.

Термин «компьютинг» может оказаться очень полезным для уточнения терминологии вообще и определения места для информационных технологий, в частности. На самом деле взаимосвязь между компьютингом и составляющими информационную индустрию технологиями очень проста: она та же, что и в любой другой индустрии, в авиации, машиностроении судостроении, где угодно. Повсюду технологии обеспечивают строительный материал, строительные блоки для создания систем, обладающих конечными потребительскими свойствами, самолетов, станков, кораблей и т.д. Уровень зрелости индустрии определяется тем, насколько глубоко технологии скрыты от потребителя. Пользователи не обязаны понимать устройство бытовых электронных приборов или автомобилей, они должны уметь ими ПОЛЬЗОВАТЬСЯ.

Информационная индустрия, несмотря на видимые успехи, не является пока достаточно зрелой: некоторыми признаками зрелости обладают персональные компьютеры, но на корпоративном уровне все еще на уровне становления. О зрелости (maturity) и незрелости (immaturity) информационных технологий мы беседовали с Бадом Лаусоном [2]. Выдающийся шведский ученый высказал мнение, что, несмотря на видимые достижения, компьютеры и их применения еще только вступают в пору зрелости. Лаусон не стал называть реальные проявления и движущие силы новой эпохи, однако вполне вероятно, что это именно Grid и все, что с ним связано.

Происхождение Grid

Возможно, когда-нибудь те самые историки из будущего признают 60-е годы XX века «серебряным веком» компьютинга. Имена людей, которые создавали компьютерную платформу современности в России, в США, в Великобритании и других странах, стали легендарными. Но не стоит забывать, что тогда компьютеры требовались в основном для научных и военных приложений, и развитие соответствующих отраслей во всех странах финансировалось из государственных бюджетов. Признавая пагубность влияния администраторов на науку, нельзя не признать, что без серьезных инвестиций были бы невозможны необходимые первые шаги. Естественно, это открыло возможность для работы и крупных научно-исследовательских организаций, и отдельных выдающихся ученых для проведения фундаментальных исследований. Американским ученым повезло дважды. Во-первых, объем инвестиций был несопоставимо больше, чем в других странах, а во-вторых, им была дана большая свобода творчества, чем в СССР. Поэтому именно тогда и именно там были заложены основы той теории, на которой зиждется современный компьютинг.

Америка — страна автомобилей; может быть, поэтому дальше развитие пошло по «автотранспортному» пути: каждому индивидуальному пользователю по собственному автомобилю, а корпоративному — по автобусу, поезду или даже самолету. Нетрудно представить себе, к чему это привело. Персональные компьютеры используются примерно так же, как личные автомобили — по большей части простаивают и только иногда эксплуатируются владельцами. Любопытно, что чем крупнее вычислительная система, тем меньше простой. По данным Gartner Dataquest, ПК-серверы используются в среднем на 5-20%, так что ориентация на дешевые стандартные серверы, возможно, не самый прямой путь к экономии.

О том, что дробление вычислительных ресурсов не есть лучший способ экономии средств, специалисты задумались довольно давно, еще в те самые 60-е годы. Джозеф Ликлайдер, еще вр времена, когда он был руководителем Управления перспективных разработок в ARPA, опубликовал классическую работу «Симбиоз человека с машиной». Позже вместе с Робертом Тейлором, своим преемником на этом посту, он написал еще одну статью «Компьютер как коммуникационное устройство». В своей первой работе Ликлайдер описывает фантастическую Межгалактическую Компьютерную Сеть, сочетающую в себе возможности коммуникационного и вычислительного устройства.

Примерно в то же время велись активные работы по превращению компьютера из однопользовательского в многопользовательское устройство, создавались системы разделения времени. Совместными усилиями перспективно мыслящих ученых и инженеров-практиков идея распределенного пользования вычислительными мощностями была реализована в проекте ARPAnet. Эта сеть была построена именно с целью экономии средств, затрачиваемых на вычислительную технику, а то, что в последующем Internet в основном превратился в коммуникационную среду, поначалу оказалось неожиданностью для его создателей. Хорошо известно, поскольку первым «убийственным приложением» (killer application) стала электронная почта, которая заметно видоизменила первоначальную Сеть, но она была изобретена случайно. Смещению в сторону коммуникаций отчасти способствовало и принятие протокола TCP/IP, который сегодня практически повсеместно рассматривается как истина в последней инстанции, почти как божественное послание, на самом деле являясь плодом деятельности ограниченного числа смертных. Отсюда его достоинства и недостатки. Достоинствами TCP/IP сегодня мы пользуемся все, а недостатки заключаются в том, что идея распределенного пользования вычислительными ресурсами оказалась замороженной на многие годы.

Рис. 1. Эволюция Grid-компьютинга

Реставрация этой идеи в образе Grid началась несколько странно, можно сказать, в эзотерическом ключе. Первыми идею воплотило на практике своеобразное племя энтузиастов поиска внеземных цивилизаций, создавших проект SETI, где задействованы домашние компьютеры, предоставляемые их владельцами в пользование бесплатно. Поэтому (рис. 1) первое поколение Grid можно назвать альтруистическим. Мне приходилось встречаться с людьми, участвующими в этом проекте; это своего рода соревнование за то, кто больше предоставит ресурсов, в нем есть свои «чемпионы», оно даже стимулирует участников к покупке более мощных домашних ПК, к подключению по ADSL и т.д. Проект SETI — замечательная виртуальная «тусовка» со своими лидерами и авторитетами. Но это было только начало.

Три поколения академического Grid

История первого поколения академического Grid начинается в 1989 году. Тогда этот подход назывался метакомпьютингом, работа велась по проекту CASA. В первой половине 90-х годов наиболее активно развивались проекты FAFNER и I-WAY. При видимом различии (в FAFNER акцент был сделан на рабочие станции, а в I-WAY — на суперкомпьютеры) общим было то, что в них решались проблемы коммуникации, управления ресурсами, манипуляции удаленными данными.

Стимулом для появления проекта FAFNER (Factoring via Network Enabled Recursion) стал конкурс Factoring Challenge, объявленный компанией RSA, первой предложившей криптосистему с открытым ключом. Эта система основана на том факте, что неизвестно сколько-нибудь приемлемого по времени работы алгоритма разложения произведения двух больших простых чисел на множители. Поскольку есть возможность для распараллеливания алгоритмов разложения и не требуется высокая скорость обмена, для решения этой задачи была создана «паутина» из рабочих станций. По своей логике проект FAFNER очень близок к SETI; участие в нем носит добровольный характер.

Изюминка проекта I-WAY (Information Wide Area Year) заключалась в том, что для объединения 17 высокопроизводительных узлов не строилась специальная высокопроизводительная сеть, а виртуализировались объединенные ресурсы десяти существующих сетей, построенных на основе технологии ATM. В отличие от FAFNER, в этом проекте требовалась высокая скорость обмена данными между узлами. Для управления этой системой был создан брокер ресурсов Computational Resource Broker, состоящий из центрального управляющего узла и агентов в каждом из остальных, а также распределенная файловая система.

Первые опыты Grid были не слишком удачны. Проект FAFNER требовал очень большого человеческого участия, а проект I-WAY с трудом поддавался масштабированию и обладал низкой надежностью. На основании этих двух проектов были выработаны качества, которыми должен обладать Grid второго поколения.

  • Административная иерархия как способ взаимодействия отдельного узла со всем Grid в целом.
  • Коммуникационные службы, обеспечивающие должное качество обслуживания (quality of service, QoS), полосу пропускания, задержку, надежность.
  • Информационные службы, обеспечивающие доступность ресурсов всем процессам системы.
  • Службы имен, образующие единое пространство имен.
  • Распределенные файловые системы и кэширования.
  • Безопасность и авторизация.

Представителями второго поколения Grid можно считать проекты Globus и Legion. Впрочем, проект Globus, ставший развитием проекта I-WAY, развивался и дальше; его нынешняя версия относится к третьему поколению. Это также географически распределенный вычислительный Grid. Центральным элементом проекта является инструментарий Globus Toolkit, который включает:

  • построенный на основе HTTP протокол резервирования вычислительных ресурсов GRAM (Globus Toolkit Resource Allocation Management);
  • расширенную версию протокола для передачи файлов GridFTP;
  • службу аутентификации и безопасности GSI (Grid Security Infrastructure);
  • распределенный доступ к информации на основе протокола LDAP;
  • удаленный доступ к данным через последовательный и параллельный интерфейс GASS (Globus Access to Secondary Storage);
  • резервирование ресурсов GARA (Globus Reservation and Allocation).

Проект Legion, построенный как объектно-ориентированная метасистема, позволяет пользователям со своих рабочих станций получать доступ к интегрированной инфраструктуре вне зависимости от масштаба, физического расположения, языка и операционных систем. Legion «стартовал» в 1997 году. В 1998 году была создана компания Applied Metacomputing, начавшая коммерческую эксплуатацию идей Globus; в 2001 году она была преобразована в компанию Avaki, занимающую одно из лидирующих мест в области Grid.

Сегодня появляются принципиально новые инструменты:

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

В качестве коммуникационной основы для академических структур Grid третьего поколения используются высокопроизводительные сети, относящиеся к Internet 2. В их числе — Albiene (10 Гбит/с), английская SuperJanet, общеевропейская GEANTnet, канадская CA*net3 и азиатская APAN и еще целый ряд сетей. Обычно эти сети предоставляют разные по производительности каналы, национальные, коммерческие и индивидуальные соотносятся между собой в пропорции 10:1:0,1. Один из наиболее грандиозных сетевых проектов стартовал в США в 2002 году. Под управлением Национального научного фонда США в период до 2006 года будет строиться трансконтинентальная сеть Global Terabit Research Network (ее еще называют GTRN или Tera-Grid). GTRN физически будет иметь каналы в Европе и Америке, логически же она объединится с существующими азиатскими и европейскими сетями. Сеть будет предоставлять четыре уровня услуг: национальную магистраль, магистраль для предприятий, оптическое подсоединение к персональным компьютерам и медное подсоединение к персональным компьютерам; они будут иметь пропускную способность 1000, 100, 10 и 1 Гбит/с соответственно.

Первыми к магистрали подключаются суперкомпьютерные центры университета штата Иллинойс и Калифорнийского университета в Сан-Диего, Национальной Аргоннской лаборатории (одно из ведущих исследовательских учреждений в области Grid) и Калифорнийского технологического института в Пасадене. По оценкам, совокупная вычислительная мощность первой очереди составит 13,6 TFLOPS, а к концу десятилетия возможен выход в петафлопный диапазон.

Не менее стремительно развиваются средства программного обеспечения для создания Grid-приложений. Особое место принадлежит ОС Linux, поскольку Linux-кластеры составят основу вычислительной мощности TeraGrid. Прорывом стала CORBA, технологии Jini и Java RMI. В апреле 2001 года компания Sun предложила проект Project JXTA, ориентированный на создание пятиуровневой сетевой операционной среды, где верхним может быть уровень Grid-приложений. Разумеется, в условиях массового развития Grid первостепенное значение приобретают вопросы стандартизации. Наряду с широко используемыми стандартами TCP/IP и HTTP оказались к месту и стандарты, обеспечивающие взаимодействие на уровне служб (SOAP, XML, WSDL и другие), поскольку в Grid это одна из самых удачных платформ для слабосвязанных приложений. Форум Grid Forum создает специализированные стандарты, в том числе Open Grid Service Architecture (OGSA) и GridRPC.

Что за горизонтом?

Словом Grid слишком многое названо. Это и собственно аппаратно-программная информационная инфраструктура, это и отдельные, еще не многочисленные приложения, это и попытки строить по новым принципам корпоративные системы. Ситуация, сложившаяся вокруг Grid, до боли напоминает события 25-летней давности, когда зарождался Internet, когда не было ни электронной почты, ни Web. Однако нынешние технологии находятся на качественно новой ступени. Grid, как Internet в свое время, нуждается в своем собственном «убийственном приложении». Но приложение это явно не будет таким простым, как электронная почта, — условия для его появления совсем иные. Эти условия отличаются «более высокой наукоемкостью решений». Так, в качестве подобного приложения называют Semantic Grid, который мог бы оперировать в рамках известной триады «Данные —> Информация —> Знание». Правда, современный уровень знаний в области теории информации явно недостаточен. Также в качестве одного из основных признаков изменившихся условий можно назвать такое качество современных систем, как сложность. Практически на всех уровнях, от процессоров для корпоративных систем достигнут (или вот-вот будет достигнут) тот предел сложности, до которого можно было развиваться, опираясь в основном на инженерные знания. Для понимания особенностей условий, в которых появилась архитектура Grid, и ее перспектив, стоит обратить внимание на дисциплины, выходящие за рамки традиционного инженерного круга знаний, — кибернетику, общую теорию систем, синергетику и др.

Литература
  1. Christine Chudnow Grid Computing // Computer Technology News, 2002 March
  2. Леонид Черняк, Четвертая эпоха ИТ. // Открытые системы, 2002, № 10