За время, прошедшее после гамбургской конференции International Supercomputing Conference 2012, в области высокопроизводительных вычислений (High Performance Computing, HPC) произошло нечто таинственное. Экзафлопс — эта, казалось бы, главная цель на 2018 год — перестал быть единственным смыслом существования суперкомпьютерного сообщества. Более того, в ход пошло множество аргументов против экзафлопсного компьютера, который стали сравнивать с Великой Китайской стеной, утверждая, что связанные с ним энергетические и финансовые издержки не будут сопоставимы с возможными результатами. На ежегодной конференции SuperComputing 12 (SC12) явно прозвучал еще один важный тезис — следует объединить HPC с Big Data, а полученные результаты следует использовать в корпоративной практике. Без научного «локомотива», без участия академических ученых не решится важная для бизнеса проблема Больших Данных, но и без поддержки бизнеса, только на государственном финансировании суперкомпьютерная индустрия будет развиваться неограниченно долго.

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

Датаскоп — инструмент для Больших Данных

В науке и технике используется множество различных приборов, название которых оканчивается на «скоп»: микроскоп, телескоп, перископ, интраскоп и др., а теперь аналитическая работа с большими объемами данных вызвала к жизни еще один — датаскоп.

Леонид Черняк

О смене приоритетов говорит статистика упомянутых конференций — количество экзафлопсных выступлений было невелико, а основные обсуждения вращались вокруг Больших Данных, специализированных ускорителей, облаков и «зеленых» технологий. Кроме этого, обсуждались вопросы, связанные с организацией межсоединений, параллельным программированием и системами хранения. Кстати, тема Больших Данных доминировала не только на этих конференциях — недавно администрация США опубликовала исследовательскую программу Big Data Research and Development Initiative, ставящую перед шестью федеральными агентствами и министерствами цель научиться извлекать новые знания из сложных и больших наборов данных.

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

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

Для работы с этими данными формируется новое направление Big Data Analytics — совокупность процессов, преследующих цель извлечь скрытые знания, образы, неизвестные корреляции и другую полезную информацию. Уже сейчас можно говорить об основных чертах этих процессов, определяющих будущее программного и аппаратного обеспечения:

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

Сенсацией SC12 стал датаскоп, открывший путь к созданию специализированных и рыночных компонентов для суперкомпьютерной индустрии. Из корпораций наибольших успехов в сочетании HPC с Большими Данными добились IBM с Watson и подразделение Cray, выделенное в самостоятельную компанию YarcData. Продукт последней, uRiKA (universal RDF integration Knowledge Applience), известен гораздо меньше, чем конкурент от IBM, но как и Watson, uRiKA рассчитан на применения в бизнес-аналитике, биоинформатике, медицине, телекоммуникациях, логистике, анализе социальных сетей и в поисковых системах, где идеология работы с данными совершенно иная. Его основа — семантические (графовые) базы данных, отличающиеся от реляционных тем, что объекты и отношения между ними задаются не в виде таблиц, а как графы: объекты — вершинами, отношения — дугами. Такой подход к хранению является естественным для отображения отношений между объектами, и, соответственно, анализ отношений в графовых базах данных реализуется значительно проще, а следовательно, в аналитических приложениях они эффективнее, чем в реляционных.

Watson выиграл, а дальше?

На пересечении индустрии суперкомпьютеров, облаков и Больших Данных образовалась горячая точка, которая называется Smarter Computing. Проблема Больших Данных не столько в том, как их хранить и как с ними работать, сколько в том, как извлечь из них пользу.

Леонид Черняк

Показательно, что компания Cray пригласила на должность руководителя YarcData Арвида Партасарахти, возглавлявшего ранее подразделение Master Data Management в компании Informatica, — он ярый приверженец теории графов: «Мы живем в окружении графов, множество проблем на самом деле являются графовыми, однако для решения таких проблем популярные ныне кластеры не подходят, поскольку параллельный анализ графов имеет ряд особенностей». В общем случае граф невозможно равномерно распределить между узлами параллельной вычислительной системы. Если же каким-то образом это удается, то в процессе анализа графа возникает интенсивный обмен сообщениями между узлами. К тому же из-за нерегулярности невозможно заранее закачивать данные в память узлов и предусмотреть динамические изменения в структуре графа. Вот почему кластеры непродуктивны на графовых задачах и при анализе Больших Данных у них слишком велики потери производительности. Для таких приложений разумнее использовать машины с общей памятью и единым глобальным адресным пространством, в которых отсутствует потребность решать задачу распределения графа между вычислительными узлами. Имеются также варианты с использованием программной модели PGAS (распределенное глобальное адресное пространство) и ряд других, но наиболее распространенной платформой для графовых приложений по-прежнему остаются классические системы с общей памятью, SMP, с их хорошо известными недостатками: ограниченной масштабируемостью и высокой стоимостью.

YarcData предлагает альтернативу — специализированную машину uRiKA для выявления зависимостей в семантических базах данных. В ней для хранения данных используется модель RDF (Resource Description Framework), разработанная консорциумом W3C для Web 3.0 и позволяющая строить ориентированный граф из объектов и отношений между ними, а для обработки данных — специальный язык запросов SPARQL.

Замысел uRiKA не нов — эта машина стала результатом работы, начатой в компании Tera полтора десятилетия назад, еще до того, как она поглотила все то, что осталось от Cray, и взяла себе имя легенды мира суперкомпьютеров. В пору самостоятельного существования в 1997 году этой канадской компанией был разработан процессор Tera с гетерогенной мультитредовой архитектурой MTA (Multithreaded Architecture). В архитектуре, позже переименованной в Cray MTA, сочетаются традиционные CPU, специализированные арифметико-логические устройства с большим набором регистров. Она позволяет выполнять одновременно тысячи потоков-тредов, такую архитектуру еще называют револьверной или барабанной (barrel processor) за то, что она циклически переключается в поиске свободных тредов. Самое удивительное, что идея барабанного процессора была реализована впервые еще в середине 60-х годов в самом быстром на тот момент суперкомпьютере CDC 6600, в проектировании которого принимал участие Сеймур Крей. Вот такой получается сложный исторический граф. Основные достоинства MTA могут быть сведены к трем пунктам: простая программная модель, целиком и полностью использующая все ресурсы машины; аппаратная реализация мультитредового режима; низкие издержки на синхронизацию потоков.

В ноябре 2012 года в Питсбургском суперкомпьютерном центре при университете Карнеги – Меллона был запущен компьютер Sherlock на базе архитектур uRiKA, Cray XT5 и платформы х86. Он включает в себя 32 узла YarcData Graph Analytics Platform, в каждом из которых установлено по два процессора Threadstorm 4.0 (TS4), межсоединение SeaStar 2 (SS2) и память 32 Гбайт. Таким образом, размер общей памяти составляет 1 Тбайт, что позволяет работать с графом из 1 млн дуг. Предполагается использовать Sherlock непосредственно для задач сложной графовой аналитики.

Ставшая двадцатой конференция SC12 нарушила сложившуюся монотонию в области HPC, а чем удивит европейская конференция ISC`13?