logo
3_Тексты лекций ПВС 2011

Кто победит?

Из таблиц 3, 4 и 5 следует возможность достижения пиковой производительности, однако цель экзафлопсных проектов – выйти на уровень реальной производительности, а здесь оценки показывают, что к 2015 году этого сделать не удастся даже на таком благоприятном по развиваемой реальной производительности тесте, как Linpack. Это демонстрируют оценочные графики – возможен десятикратный разрыв между достижимым в рамках эволюционного пути лучшим уровнем реальной производительности и поставленной целью достижения реального экзафлопса.

Системы, создаваемые в рамках разных направлений, сравниваются по удельной эффективности. Интересно, что в 2012 году она будет в интервале от 0,1 GFLOPS/Вт до 1 GFLOPS/Вт, а требуемая для экзафлопсной системы эффективность в 2015 году составит 70-80 GFLOPS/Вт.

Даже системы третьего направления к 2015 году не смогут достигать такой эффективности – их эффективность прогнозируется немногим более 10 GFLOPS/Вт.

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

Революционная система лучше, но цели она также не достигает.

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

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

Для удовлетворения требований все более и более высокой производительности в направлении экстремально масштабных вычислений одновременно решаются несколько проблем:

Автономные машины могут сегодня выполнять уже около 1015 операций в секунду, что стало возможным благодаря использованию высоко параллельных структур. К их числу относятся суперкомпьютер Roadrunner из Лос-Аламосской национальной лаборатории Министерства энергетики США, в котором традиционные процессоры дополняются акселераторами на базе процессора Cell, в результате чего образуется гибридная платформа, а также установки IBM Blue Gene/P, использующие огромное число простых традиционных процессоров и основанные на тесной системной интеграции. К этому семейству скоро добавится система Blue Waters Иллинойского университета, основанная на применении высокопроизводительных процессоров, новых компонентов и средств интеграции.

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

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

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

Если современный высокопроизводительный настольный компьютер содержит 16 процессорных ядер, единое адресное пространство оперативной памяти и простую внутреннюю сеть, связывающую все ядра по принципу «каждое с каждым», то наиболее быстрые суперкомпьютеры содержат от десятков до сотен тысяч ядер, множество раздельных адресных пространств и несколько сетей внутренних соединений с разными свойствами и характеристиками производительности.

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

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

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

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

В Лос-Аламосской национальной лаборатории такое моделирование в последнее десятилетие применяется почти ежедневно для исследования производительности многочисленных систем на разных стадиях их жизненного цикла – от начального проектирования до производственного использования.

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

У проблемы перевода высокопроизводительных вычислительных структур на экзауровень имеются экономические и политические аспекты. Для достижения вычислительной мощности, которая требуется для экстремально масштабного моделирования с точностью, достаточной для поддержки принятия политических решений, нужен новый вид компьютеров. Какие системы требуется построить, чтобы можно было решить наиболее важные научные проблемы? Например, модель глобальной климатической системы атмосферы километрового масштаба предусматривает «разбиение» атмосферы Земли на 20 млрд отдельных клеток, что требует машину с небывалой производительностью для ее обработки.

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