Gregory F. Pfister, «In search of clusters».

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

Тем не менее для большинства сотрудников отделов ИТ кластеры продолжают оставаться неизвестной величиной, введение которой требует значительных материальных затрат, а выгода от использования далеко не очевидна. Для того чтобы развеять такие представления, и предназначена книга известного специалиста в области кластеров Грегори Пфистера под весьма характерным названием «In search of clusters» — «В поисках кластеров». Эта книга считается своего рода библией по кластерным технологиям, и ссылки на нее имеются абсолютно в любой литературе по кластерным и распределенным вычислениям. Более того, в ней содержатся хрестоматийные определения всего комплекса терминов, в той или иной степени связанных с распределенными вычислениями.

Автор рассматривает кластеры в контексте других технологий, предназначенных для повышения отказоустойчивости и производительности работы компьютеров; среди прочих наибольшее внимание уделяется симметричной многопроцессорной обработке (SMP), технологии NUMA и производным от нее, массово-параллельным системам и т. д.

Но главное место, разумеется, отводится кластерам. Автор попытался дать ответы на следующие вопросы:

  • что такое кластер?
  • какую выгоду можно получить от применения кластеров?
  • какие достоинства имеют кластеры в сравнении с другими технологиями и в чем могут проявиться их недостатки?

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

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

Как показывается в книге, большинство кластерных программ с возможностью распараллеливания обработки запросов и выполнения вычислений в параллельном режиме не является кластерными программами в чистом виде («истинными кластерными программами»). При написании таких программ разработчики следуют принципу «последовательная программа, параллельная подсистема» (SPPS). При выполнении такой программы на узлах кластера за распределение нагрузки и параллельность вычислений отвечает специальная подсистема. Кстати говоря, такие кластерные приложения, как Oracle OPS или Informix XPS, построены на данном принципе. Истинно кластерных программ совсем немного, поскольку их написание представляет собой очень сложную задачу и требует огромных затрат. На основе анализа автор делает однозначный вывод, что программы, написанные в расчете на параллелизм SMP, не будут полноценно работать на кластерах, и наоборот.

Очень много информации дается по конкретным кластерным технологиям, начиная от продвинутых (иногда называемых полносистемными) OpenVMS Cluster, Tandem Himalaya и IBM S/390 Parallel Sysplex и заканчивая дешевыми и простыми кластерами Microsoft и Novell.

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

Тем не менее книга является ценным приобретением для всех, кто хотел бы получить более подробную информацию по кластерным решениям. По масштабу охвата проблем в настоящее время она, по существу, не имеет конкурентов.

Книгу («In search of clusters», Gregory F. Pfister, 2nd Edition, 578 pp., Prentice Hall, 1998) можно приобрести в книжном салоне компании «Фольком» (тел.: (095) 250-1214, e-mail: books@df.ru). Ориентировочная цена — 54 доллара США.