В январе специалисты Бер­клийского университета (США) опубликовали отчёт о ситуации в мире параллельных вычислений. Сегодня уже не редкость 4- и 8-процессорные компьютеры, и предсказано быстрое появление массовых систем с 16 и 32 процессорами. Авторы отчета делают очевидный вывод: главное направление стратегического развития параллельных технологий — это упрощение процессов создания программ, которые способны эффективно работать в параллельных архитектурах и на чипах с тысячами ядер.


Самый быстрый в мире компьютер MDGrape
Самый быстрый в мире компьютер MDGrape

Для этого необходимо выработать новые модели программирования, которые не зависят от числа процессоров, и при этом универсальны — допускают распараллеливание процессов и данных. Актуальными станут вопросы автоматической настройки параллельной системы на аппаратную архитектуру и измерения её реальной производительности, так как классические способы тестирования слабо учитывают “параллельную” специфику. Популярность традиционных ОС будет падать, и на корпоративном рынке будут всё более распространяться виртуальные машины, средства расширения ОС для работы в распределённых средах и всевозможные эмуляторы, основанные, в частности, на программируемых матрицах.

Кубиты и демон Максвелла

Увеличение числа ядер и процессоров  — теоретически простой путь к повышению производительности, однако он имеет ряд серьёзных недостатков. В первую очередь это сложность разбиения конкретной задачи на независимые модули и ограничения межсоединений — в идеале желательно, чтобы все узлы системы были связаны друг с другом, однако для кластеров с десятками и сотнями тысяч узлов реализовать это невозможно. Поэтому разработчики ведут интенсивный поиск альтернативных решений. Одно из них было продемонстрировано 13 февраля.

Канадская компания D-Wave Systems (www.dwavesys.com) представила общественности первый в мире коммерческий квантовый компьютер Orion, вычислитель которого создан из сверхпроводимого ниобия. Особые надежды его создатели возлагают на рынок NP-задач (недетерминированно полиномиальных задач), которые могут быть решены за полиномиальное время лишь на недетерминированных машинах наподобие квантовых. К NP-задачам, сложным для решения на классических компьютерах, относят, например, криптографические приложения и даже поиск оптимальной стратегии игры в “Тетрис”.

О не менее удивительном событии в мире науки сообщил на днях журнал Nature. Ученым из Эдинбургского университета (Великобритания) удалось создать так называемый демон Максвелла — устройство, способное сортировать молекулы по их скорости движения. Таким образом, становится возможным сконцентрировать в одной области пространства быстро перемещающиеся молекулы (и соответственно создать в ней высокую температуру — без особых затрат энергии!), а в другой области — медленные молекулы (и охладить её).

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

Тем временем учёные Вустерского политехнического института совместно с коллегами университета Колорадо (США) реализовали действующий нанотранзистор из единичных конденсатов Бозе — Эйнштейна (сверххолодных атомов). Это ещё один путь к разработке наночипов. А специалисты Массачусетского технологического института (США) ухитрились проложить в кремниевой микросхеме световые каналы связи на базе диэлектрика (оксида), работающие за счёт эффекта поляризации света. В результате становится возможным серьёзное повышение быстродействия внутренних и внешних межсоединений процессора.

Успехи в этих областях объясняются существенной финансовой поддержкой, причём не только научных, но и коммерческих структур. Так, в 2007 г. корпорация AMD уточнила долгосрочную стратегию развития и объявила, что в 2013-м появится новое поколение чипов, в котором будут задействованы разработки открытого в конце 2006 г. в Редмонде научного центра AATL. А власти Нью-Йорка выделили этой компании первые 650 млн. из нескольких миллиардов долларов на строительство нового завода для выпуска процессоров по технологии 32 нм. В ближайших планах AMD — четырёхъядерный чип Barcelona, удельное энергопотребление которого будет меньше, чем у нынешних двухъядерных.

Корпорация Intel объявила о выпуске 80-ядерного процессора с производительностью 1,01 Тфлопс, работающего на частоте 3,16 ГГц. Похожие технологии реализует и фирма ClearSpeed (www.clearspeed.com) — она готовит 96-ядерные сопроцессоры Avebury для математических задач. В 2008 г. IBM обещает выпустить 45-нм чипы с быстрой DRAM-памятью, которая обеспечит втрое больший кэш и удвоенную производительность. Схема с увеличенным кэшем впервые будет применена в процессорах Power 6, выходящих в этом году, — на их основе будут строиться серверы линейки System p.

Мозги биологические и технические

Продолжаются прикладные суперкомпьютерные проекты. Корпорация IBM внедряет в национальной администрации океанографии США NOAA два суперкомпьютера, которые по производительности займут 36-е и 37-е места в списке Top500 сильнейших машин. Они основаны на кластере из 160 RISC-серверов IBM System p575, каждый из которых содержит 16 процессоров Power 5+/1,9 ГГц. Объём дискового пространства одного такого кластера составит 160 ТБ (задействованы накопители IBM DS4800), а производительность достигнет 14 Тфлопс. Обе системы будут функционировать в связке и займутся обработкой данных от шести метеорологических спутников, запущенных в 2006 г. А через год NOAA получит ещё один суперкомпьютер производительностью 100 Тфлопс.

Германский университет Макса Планка также ожидает в 2008 г. комплекс с подобной производительностью. Он формируется на базе линейки IBM System p и процессоров Power 6 и будет задействован при разработке новых материалов, в нанотехнологических исследованиях, астрофизике, энергетике и т. д.

Совет Великобритании по исследованиям в сфере прикладной физики приобрел у компании Cray первый в мире гибридный суперкомпьютер стоимостью 85 млн. долл. Он будет установлен в Эдинбургском университете и, вероятно, ускорит адаптацию демона Максвелла к прикладным проектам. Комплекс представляет собой MPP-систему Cray XT4 на базе процессоров AMD Opteron, усиленную векторной машиной BlackWidow. Ожидается, что аппарат станет самым быстрым в мире устройством, предназначенным для гражданских исследований. В рамках данного соглашения совет намерен предоставить английскому научному сообществу виртуальный доступ к высокопроизводительным ресурсам пиковой производительностью 60 Тфлопс.

Некоторые группы создателей параллельных систем традиционно идут своим путём. Так, машина MDGrape 3 стоимостью 9 млн. долл., созданная в японском физико-химическом институте Rikken для моделирования работы белковых структур, показала в специализированных вычислениях 1 Пфлопс. Однако в международный список Top500 её результат не занесен, потому что стандартный тест Linpack к ней не применим. Но это не смущает азиатские фармакологические компании, которые выстраиваются в очередь к ресурсам машины. Уже к концу текущего десятилетия Rikken обещает довести производительность системы до 10 Пфлопс. Интересно, что MDGrape 3 составлен всего из 4808 узлов на базе Intel Xeon, а официально лидирующая сегодня система IBM BlueGene/L с пиковым показателем 367 Тфлопс использует 131 тысячу процессоров PowerPC.

Подвижки в лучшую сторону происходят в сфере высокопроизводительных вычислений в России. В феврале в Томском государственном университете запущен в эксплуатацию самый мощный в Восточной Европе суперкомпьютер “Скиф Сyberia” с пиковой производительностью 12 Тфлопс (рабочий показатель — 7,82 Тфлопс), ОЗУ 1,1 ТБ и ёмкостью жестких дисков 22 ТБ. По словам губернатора Томской области Виктора Кресса, таким образом к биологическим мозгам в городе Томске прибавились и технические мозги.

Главные проблемы — с программным обеспечением

Аппаратную кластерную систему разработать сегодня относительно несложно. Значительно труднее создать для неё прикладное ПО, способное эффективно работать в параллельной архитектуре. Правда, системные средства поддержки распределённых приложений уже достаточно распространены и регулярно обновляются. Так, в январе Сандийская национальная лаборатория США выпустила в исходных текстах пакет OVIS (ovis.ca.sandia. gov), предназначенный для мониторинга работы кластеров в реальном времени. От схожих решений он отличается тем, что анализирует поведение каждого устройства в кластере, фиксируя отклонение от известных статистических значений и оперативно прогнозируя вероятность сбоев.

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

Возможно, надо дождаться появления на рынке большого количества готовых библиотек для параллельных вычислений, позволяющих “складывать” программу из готовых элементов и быстро реализовывать наиболее насущные задачи. В качестве примера подобного подхода приведем библиотеку PML (www.alphaworks.ibm.com/datamgmt), предназначенную разработчикам систем машинного обучения для параллельных компьютеров. Она позволяет обрабатывать большие объёмы исходных данных в распределённом режиме, функционирует на платформах Windows, Linux и Unix, реализует ряд алгоритмов классификации, кластеризации и нечеткой логики и предлагает расширяемый интерфейс — исследователи могут дополнять библиотеку собственными алгоритмами.

Некоторые софт-производители пытаются решить проблему с прикладным софтом кардинально. Так, в феврале компания Sun выпустила систему разработки на новом общедоступном языке программирования Fortress (fortress.sunsource.net), который позиционируется как расширяемая замена Фортрана для параллельных платформ. В Fortress введено понятие транзакции и распределённых данных, имеются механизмы обеспечения целостности приложения и его оптимизации. Трудно сказать, приживётся ли новый язык в консервативном мире программистов, но для его массового продвижения потребуются значительные усилия.

Полезно предварительно подумать

Далеко не всегда для решения задачи требуется разрабатывать сложные алгоритмы и проектировать комплексы из сотен тысяч узлов. Например, ещё год назад никто не мог предположить, что возможно появление сильной программы по игре в го, которая в отличие от шахмат не решается традиционными схемами грубого перебора вариантов. Однако созданная в Парижском университете программа MoGo (www.lri.fr/~gelly/MoGo.htm) вот уже в течение 2006 и 2007 гг. постоянно обыгрывает все ведущие игровые го-системы и даже побеждает некоторых весьма сильных игроков среди людей, хотя пока и не на самых больших досках (9х9 и 13х13 полей). При этом в ней применён нехитрый способ, основанный на методе Монте-Карло (проще говоря, на случайном выборе). MoGo пытается строить узкое дерево вариантов, оценивая каждую позицию путём её разыгрывания с помощью случайных ходов, и это ей успешно удаётся. Пример с MoGo достаточно показателен: всегда стоит искать простые и оригинальные подходы к решению задач.