Идеи grid сегодня весьма популярны на Западе, чего, однако, нельзя сказать о России. Почему эта концепция построения информационных инфраструктур стала настолько важной для компьютерной индустрии?

В первую очередь постараемся отделить вычислительные grid-среды от grid для бизнеса. К сожалению, мало кто проводит такое различие, и в результате многие считают, что grid — всего лишь «сетка небольших компьютеров», которую можно «набросить» на любую отрасль и любую задачу.

Отрицание отрицания

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

Расположение всех вычислительных ресурсов, кода и данных в одном центре позволяло сократить стоимость обслуживания клиентских мест и приложений. Кроме того, вычислительные мощности центрального узла оптимально распределялись по времени, обеспечивая выравнивание нагрузки на сервер.

Эта модель оставалась эффективной в течение долгих лет, за которые было создано множество решений, и ее закат наступил в силу экономических, а не технологических причин. Массовое распространение дешевых персональных компьютеров сделало экономически целесообразным перенос части вычислительных задач с сервера на клиентский терминал, в качестве которого выступал персональный компьютер. Это послужило толчком для создания двухзвенной модели, которая доминировала два десятилетия. Архитектура «клиент-сервер» позволила снизить нагрузку на сеть, связанную с передачей данных, и увеличить скорость их обработки (локальные вычисления и хранение данных на клиенте было эффективнее использования дорогих и к тому же медленных сетей того периода).

Кризис двухзвенной модели также обусловили экономические факторы, а его основой стало изменение стоимости передачи данных по сети. Целесообразно снизить нагрузку на терминал (персональный компьютер) и снова перенести ее на сервер. При этом значительная экономия будет достигнута за счет уменьшения стоимости обслуживания и централизации вычислений. Ряд же компаний, и прежде всего Oracle и Sun Microsystems, предложили полностью снять нагрузку с клиентской части и перенести вычисления в Сеть, на сетевой компьютер.

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

За время существования персональных компьютеров выросло новое поколение пользователей, предпочитающих локальное хранение данных и «не доверяющих» удаленным системам, контролировать которые они не могут. Стоимость же сетевых компьютеров оказалась лишь немного меньшей цены полнофункциональных компьютеров. А выигрыш в стоимости владения за счет преимуществ единого центра управления был сведен на нет набором программного обеспечения, обеспечивающего удаленное управление и администрирование ПК. В-третьих, пользователи привыкли к графическому интерфейсу приложений, применение которого требует мощного процессора на клиенте либо сильно загружает сеть и требует достаточно мощной видеокарты. В результате компьютерная индустрия пошла другим путем.

Взрывной рост Internet, появление множества удаленных приложений с Web-интерфейсом и снижение стоимости передачи данных привели к разделению вычислительной мощности на серверной стороне и созданию сначала трехуровневой, а затем и распределенной модели вычислений. Трехзвенная модель предполагает разделение функций между сервером базы данных и сервером приложений. При этом происходит разделение данных и процедур по разным серверам, каждый из которых выполняет наиболее подходящую для него работу. Вариацией такой архитектуры является многозвенная модель, в которой может использоваться более чем один сервер СУБД или сервер приложений.

Третий источник grid для бизнеса тесно связан с развитием технологий grid для вычислительных задач. Одним из основных потребителей вычислительных мощностей при выполнении расчетов является научное сообщество, причем запросы на эти мощности серьезно превышают возможности финансирования таких проектов. Был выбран путь параллельного исполнения сложных задач на множестве связанных небольших дешевых компьютеров.

Товар — деньги — товар

Четвертый источник в значительной степени имеет экономическое происхождение. За время существования ИТ-индустрии в нее были вложены огромные средства, и после кризиса западной экономики в 2000-2003 годах многие руководители предприятий задумались об эффективности таких вложений. Вопрос заключался не в том, чтобы просто урезать расходы, а в том, чтобы максимально эффективно использовать инвестиции. При этом владельцы бизнеса и руководители готовы инвестировать дополнительные средства для создания нового поколения эффективных ИТ-систем, не страдающих недостатками систем предыдущих поколений.

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

Так или иначе, платить только за оказанные ИТ-услуги и свободно манипулировать ИТ-ресурсами захотели многие. После периода поиска за этой идеей закрепилось название grid, ранее имевшее хождение только в научных кругах.

grid для бизнеса — это идеология, включающая в себя набор технологий, программных и аппаратных решений, бизнес-процессов и организационных изменений. Ее основой является распараллеливание вычислительных мощностей на множестве недорогих серверов, связанных в единую сеть. Ключевым свойством такой системы, кроме распараллеливания вычислений, является динамическое перераспределение вычислительных ресурсов «по требованию» между разными задачами. С точки зрения бизнеса эта модель реализует парадигму utility computing, которая предполагает предоставление услуг бизнес-подразделениям и оплату использованных вычислительных мощностей «по факту».

Реализация

Основным критерием для перенесения задач в среду grid является возможность их распараллеливания. По своей природе бизнес-приложения сильно отличаются от вычислительных задач. Реализованные на сегодняшний день трехзвенная и распределенная модели вычислений в наибольшей степени соответствуют идее grid, но распараллеливание в них происходит только на уровне серверов приложений и Web-серверов.

При этом такие системы масштабируются до гораздо более высокого уровня производительности. Например, в таблице результатов самого распространенного теста на производительность SAP SD (Sales and Distribution) рекордное быстродействие в трехзвенной архитектуре достигается в конфигурации, состоящей из одного 64-процессорного сервера HP Integrity для СУБД и 160 четырехпроцессорных HP Integrity rx4640 для серверов приложений. В двухуровневой архитектуре результаты в пять раз скромнее, а достигаются они на 64-процессорном сервере архитектуры Power5.

Как бы то ни было, в том и другом случае уровень СУБД реализуется в SMP-архитектуре, а не на параллельных (кластерных) системах. Таким образом, несмотря на возможность распараллеливания вычислительных ресурсов бизнес-приложений, остается еще одна часть, которую пока очень трудно уложить в структуру grid для бизнеса, — СУБД.

Существует несколько моделей, которые учитывают особенности поведения СУБД в grid-средах, например технологии Oracle, позволяющие создавать кластеры в архитектуре Shared Disk. Основная проблема таких кластеров заключается в том, что они идеально работают только при идеальном распределении запросов между узлами кластера.

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

Технология, известная как Cache Fusion, была предложена еще в Oracle8 и стала основой OracleRAC в Oracle9. Суть ее состоит в том, что необходимые данные передаются на другой узел по быстрому сетевому соединению. В результате общая производительность системы даже возрастает (по некоторым оценкам, до 40%), поскольку полностью исключаются все медленные операции с дисками. При этом данные уже как бы находятся в кэше А и могут быть быстро переданы В. Начиная с Oracle9, управление таким процессом передается специальному сервису Global Cache Service, обслуживающему все узлы и разрешающему конфликты. Фактически с небольшими добавлениями, Cache Fusion стал основой Oracle10g.

В отличие от систем SMP и ccNUMA (в них реализуется общий доступ к памяти всех процессоров и задач) или кластерных систем (каждый узел имеет собственный массив памяти), в Oracle была реализована смешанная архитектура: кэши являются общими для всех узлов, а все остальные задачи оперируют индивидуальными массивами памяти на узлах. Теоретически такая система способна решить основное противоречие между вертикальным и горизонтальным масштабированием: производительность растет за счет увеличения числа процессоров в рамках одного сервера и числа небольших серверов в кластерной конфигурации.

Проблемой этой технологии стало «несовершенство нашего мира»: аппаратные решения практически всегда менее эффективны, чем их программная эмуляция. Фактически Oracle10g программным образом эмулирует работу коммутатора между процессорными блоками в архитектуре ccNUMA. Как известно, такой коммутатор является одной из наиболее дорогих и сложных частей SMP-компьютеров, и не случайно секретом его создания владеют меньше десятка компаний, включая HP, IBM, Sun Microsystems, Fujitsu и SGI.

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

В Oracle Grid неизбежно возникают конфликты согласований кэшей и перегрузка межсоединения, причем эти трудности увеличиваются с ростом числа узлов. Если исходить из архитектуры сегодняшних SMP-систем, имеющих 128 процессоров «на борту», то это соответствует 32-узловой конфигурации кластера. Возможна ли такая масштабируемость? Пока однозначного ответа нет.

Еще одно программно-аппаратное решение в области grid предлагает Fujitsu Siemens Computers. Ее технология FlexFrame позволяет динамически обслуживать SAP Business Suite на серверах-«лезвиях». В рамках этой технологии можно запускать дополнительные серверы, устанавливать и запускать на них приложения SAP, проводить мониторинг и восстановление после сбоев. Однако и FlexFrame еще далеко до «grid для бизнеса», так как она позволяет перераспределять ресурсы только в рамках одного приложения и не обеспечивает достижения уровня utility computing. Впрочем, в Fujitsu Siemens Computers и не настаивают на этом, используя для обозначения своей инициативы слова Autonomic Computing.

Основные игроки

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

Движение в этом направлении начала компания Hewlett-Packard. Последние анонсы IBM показывают, что в фокусе grid-стратегии этой компании сейчас находится идея адаптивности. Подходы Sun идеологически ближе к предложениям Fujitsu Siemens, с поправкой на последовательное применение архитектуры J2EE.

Пожалуй, наиболее интересным игроком является SAP. Среди разработчиков этой компании нашлись люди, понимающие, что после разрешения всех сегодняшних технических сложностей в мире grid возникнет проблема взаимодействия решений на всех уровнях. Предположим, все проблемы решены и у вас в grid-среде есть два сервера от разных производителей. Будут ли они совместно балансировать нагрузку? Скорее всего, даже на аппаратном уровне эти системы окажутся несовместимыми.

Еще проблематичнее взаимодействие, если принять в расчет программное обеспечение. Допустим, имеются два сервера; на одном работает Oracle E-Business Suite, а на другом — Siebel CRM. На сегодняшнем уровне развития их совместная работа с передачей вычислительных ресурсов нереализуема.

Именно поэтому вопрос стандартов стоит так остро. Существует комитет по языку Data Center Markup Language, недавно вошедший в OASIS. Имеется Enterprise Grid Alliance, объединяющий ряд игроков ИТ-рынка. Но, как ни удивительно, одна из компаний сумела сделать предложение, которое выделяется даже на уровне разработок этих авторитетных организаций.

В концепции SAP NetWeaver современные ИТ-системы воспринимаются не просто как набор различных систем и приложений, а как многоуровневая среда, аналогичная стеку стандартов TCP/IP. В ее рамках рассматривается построение модели как бизнес-процессов, так и компьютерных процессов, управление знаниями, бизнес-функциями и многое другое, за исключением уровня физической реализации аппаратной части и операционной системы. Именно такая модель может стать основой интегрированных grid-сред для бизнеса. К сожалению, это предложение последовало слишком рано: пока не только партнеры, но и часть сотрудников самой SAP видят в NetWeaver не платформу для grid-решений, а лишь очередной набор интерфейсов для связи с другими системами.

Свойства «grid для бизнеса»

Несмотря на трудности технической реализации и координации усилий игроков, у grid-решений для бизнеса есть важное свойство, которое делает их пришествие неизбежным. Это экономически более эффективная модель, чем предыдущие идеи, которые можно свести к построению инфраструктуры ИТ за счет «повторного» использования вычислительных ресурсов при изменении бизнес-запросов и упрощения системы администрирования.

Уже ясны основные характеристики реальной grid-архитектуры и требования к ней.

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

grid строится на основе уже существующих технологий. Мир grid будет состоять из набора сервисов, зарегистрированных в репозитарии, который должен описывать систему, где каждый сервис доступен, разделяем, управляем, где за пользование каждым ресурсом может быть выставлен счет потребителю.

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

Перспективы и прогнозы

Идеи grid настолько овладела массами как в научной, так и в бизнес-среде, что просто отбросить их уже не удастся. Можно предложить несколько сценариев развития событий.

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

Реалистичный сценарий. В ближайшее время не удастся решить некоторые технологические проблемы. В результате будет реализована «гибридная» модель: использование grid там, где возможно, и модели «клиент-сервер» — при обмене информацией с СУБД. Эта модель принципиально реализуема уже на основе существующих технологий, и ее внедрение тормозится только отсутствием сквозной стандартизации.

Оптимистичный сценарий. Решается проблема распараллеливания любых бизнес-приложений, создаются стандарты, и все это оказывается экономически более эффективным, чем существующие подходы. Тогда нас ждет смерть «большого железа», а в лидеры ИТ-индустрии выходят компании, не инвестирующие в исследования и разработки, но опережающие конкурентов в области построения бизнес-процессов. Потребители получают эффективную информационную инфраструктуру, низкие риски внедрения информационных систем и минимальную стоимость владения. Наконец, информационные технологии приравниваются по значимости к водоснабжению, электрическим сетям и телефонии. Задача решена, романтика исчезла, а молодежь уходит в область биотехнологии.

Михаил Елашкин (mikhail@elashkin.com) — директор компании Elashkin Research (Москва).