В недавней конференции "Облачные вычисления. Образование. Исследования. Разработки", проведенной в рамках проекта "Университетский кластер" (см. также "HPC из розетки", Computerworld Россия, № 13-14, 2010), принял участие директор по исследованиям компании Yahoo Томас Кван. Его доклад был посвящен применению кластеров для обработки сверхбольших объемов данных (Data-Intensive Super Сomputing, DISC). После выступления Кван ответил на несколько вопросов журналиста "Открытых систем".
- В чем вы видите цель сотрудничества с программами, аналогичными "Университетскому кластеру"?
В том, чтобы представить нечто такое, что еще многим неизвестно. Согласитесь, в сознании подавляющего большинства область применения кластеров ограничена высокопроизводительными вычислениями (High Performance Computing, HPC) и моделированием разного рода динамических процессов. Но в условиях, когда человечество накапливает гигантские объемы данных, применение кластеров можно распространить и на них, опираясь на альтернативный HPC подход DISC. Два этих направления различает отношение к данным, точнее представление о том, что чему подчинено, данные вычислениям или вычисления - данным. В случае когда данных, условно говоря, меньше, чем вычислений, преимущество на стороне HPC, но если речь идет о гигантских объемах данных, то имеет смысл воспользоваться подходом DISC. В Yahoo мы имеем дело с большими объемами данных, поэтому развиваем соответствующие технологии и стремимся поделиться своими наработками с университетами. DISC -- прекрасный новый мир, и кому, как не университетам, его покорять?
- Соглашусь с вами в том, что в мире DISC разрушаются представления о привычной роли данных. Они становятся "органичными" компьютеру (intrinsic data), а не внешними, как сейчас, или даже "посторонними" (extrinsic data). Соответственно необходимы качественно иные СУБД, языки программирования, системы управления. Yahoo сделала ставку на Hadoop. Почему именно эта платформа?
Не секрет, что Apache Hadoop - это программная платформа для DISC, созданная под влиянием разработанных в Google платформы MapReduce и файловой системы Google File System. Кроме того, и это особенно важно в данном контексте, она отличается открытостью, в этом ее преимущество для учебных заведений. Помимо MapReduce и Hadoop, есть еще несколько аналогичных платформ, в том числе и открытых, но среди них Hadoop - самая развитая.
Главный компонент Hadoop - распределенная файловая система HDFS, поддерживающая хранение файлов на узлах кластера; одни и те же данные распределены обычно по трем узлам (два в одной стойке, третий - в другой), благодаря чему обеспечивается надежность и исключается необходимость в дисковых массивах. Из узлов данных образуется кластерная система хранения, в которой обмен между узлами осуществляется по протоколам, специфичным для HDFS. Она очень надежна уже в силу своей архитектуры, в ней нет избыточного резервирования, единственной точкой отказа является координирующий узел, только он и резервируется в традиционном смысле, когда предусматриваются два физических узла - первичный и вторичный. Помимо файловой системы HDFS, в состав Hadoop входят еще восемь компонентов, образующих платформу. Это набор утилит Hadoop Common, инструментарий Avro, обеспечивающий взаимодействие со скриптовыми языками, набор технологий для управления большими распределенными системами Chukwa, масштабируемая база данных Hbase, пакет для поддержки хранилищ данных Hive, технология для работы с распределенными данными, названная, как и аналогичная разработка Google, тем же именем MapReduce, язык программирования потоков данных и параллельных вычислений Pig и координатор работ с многозначительным названием ZooKeeper ("хранитель зоопарка". - Л. Ч .).
- Что получают университеты вместе со всем этим "зоопарком"?
Хорошо известно, что загрузка HPC-кластеров далеко не стопроцентная. Если быть откровенным, то по-настоящему их могут использовать либо те, кто решает задачи с естественным параллелизмом (сейсморазведка, моделирование прочностных задач в строительной механике и т. п.), либо очень большие и очень богатые компании, которые используют кластеры для моделирования динамических процессов в ядерных реакциях, авиационных двигателях, иных дорогих и сложных устройствах. Такие организации вкладывают в создание моделей гигантские средства, многократно превышающие стоимость кластеров. Не все способны на такие траты, к тому же рассматривать моделирование как некоторое универсальное средство было бы методологически неверно. Есть целый ряд задач из области е-science (генная инженерия, астрономия и др.), где приходится иметь дело с огромными массивами данных, но моделирование как таковое им не требуется. В таких случаях использование кластеров и библиотек типа MPI не является результативным, но многие не хотят в этом признаваться. Мы предлагаем университетам загрузить на свои кластеры Hadoop и поучиться альтернативным подходам. Разумеется, пока то, что мы предлагаем, не превратилось в мэйнстрим, но надо смотреть в будущее.
- В своем выступлении вы упомянули кластер М45. Можно ли рассказать о нем подробнее?
Сначала о том, почему его назвали M45. Так в своей среде астрономы именуют созвездие Плеяды (по-английски это звучит Open Star Cluster M45. - Л. Ч .). M45 содержит 4 тыс. процессоров и входит в число 50 самых мощных суперкомпьютеров мира. Цель создания этого суперкластера состоит в том, чтобы предоставить академическому сообществу возможность не только решать известные задачи, но и осваивать новые методы. Его новизна в том, что он не только позволяет перемалывать чудовищные объемы чисел с фантастической скоростью, но и дает дополнительные возможности для анализа данных и извлечения из них образов. Не случайно появление М45 было отмечено деловой и научной прессой. Первыми пользователями М45 стали крупнейшие американские университеты, но он не закрыт и для других. Вопрос доступа к нему может быть решен, но для начала стоит загрузить Hadoop на уже имеющиеся у вас системы и поучиться.