Frontier (суперкомпьютер)


Frontier, или OLCF-5 — первый в мире экcафлопсный суперкомпьютер, размещён в Ок-Риджской национальной лаборатории, США, запущен в 2022 году. Это преемник суперкомпьютера Summit (OLCF-4). В июне 2022 года стал самым быстрым суперкомпьютером в мире в рейтинге Top500.[1][2][3][4][5] Frontier имеет заявленную производительность в 1,102 эксафлопса, а пиковую — 1,686 эксафлопса при среднем энергопотреблении порядка 21,1 МВт.[1]

Он использует комбинацию процессоров AMD Epyc 64C с тактовой частотой 2 ГГц, оптимизированных для задач искусственного интеллекта и высокопроизводительных вычислений и графических процессоров AMD Instinct MI250X, имеет 8,7 млн вычислительных ядер[6]. Суперкомпьютер занимает 100 48-см (19 дюймов) стеллажей.[7][8][9]

Стоимость создания суперкомпьютера составила 600 млн долларов США. Frontier достиг первого места в рейтинге Green500[англ.], как самый энергоэффективный суперкомпьютер с показателем 62,68 гигафлопса/Ватт.[10] Frontier потребляет 21 МВт (по сравнению с 10 МВт его предшественником Summit).

Для программирования приложений на суперкомпьютерах эксафлопсного уровня (с сотнями тысяч потоков управления, использующих миллионы вычислительных ядер, операций с плавающей запятой в секунду) создан язык программирования Х10[11]. Язык объектно-ориентированный, со статической типизацией, с поддержкой на уровне языка параллелизма на основе задач, привязки вычислительных задач (activities) к вычислительным ядрам (places), барьерной синхронизации задач (clocks), поддержкой параллельных циклов, с поддержкой распределенных по вычислительным узлам многомерных массивов и структурных типов, асинхронного разделенного глобального адресного пространства[12] (программист обращается к элементам распределенного в оперативной памяти различных вычислительных узлов массива так, как будто массив размещен в оперативной памяти единого компьютера, компилятор сам организует сериализацию, десериализацию и передачу данных между вычислительными узлами, обеспечивает атомарность операций обращения к данным). Код на X10 может компилироваться в код на Java (режим Managed X10) или C++ (режим Native X10)[13], что позволяет как создавать приложения для суперкомпьютеров, так и использовать язык программирования X10 при желании вне области высокопроизводительных вычислений для разработки многопоточных приложений для персональных компьютеров.