Суперкомпьютеры созданы для решения очень больших и сложных задач и делают это быстро. Вместо того, чтобы полагаться на один процессор, суперкомпьютеры, такие как El Capitan в Ливерморской национальной лаборатории Лоуренса и Frontier в Окриджской национальной лаборатории, используют большое количество процессоров, работающих вместе одновременно. Это делает их особенно полезными для таких задач, как моделирование климата, генетические исследования, ядерное моделирование, искусственный интеллект и выявление недостатков в конструкции реактивных двигателей.
Однако мы здесь не говорим о квантовых компьютерах. Суперкомпьютер по-прежнему остается классическим компьютером: он использует обычные биты, равные 0 или 1, и решает проблемы, очень быстро выполняя огромное количество обычных вычислений. Квантовый компьютер работает по-другому, используя квантовые биты или кубиты. Квантовые вычисления все еще находятся в основном на экспериментальной и ранней стадии разработки. Сейчас настоящую работу выполняют классические суперкомпьютеры, помогая ученым исследовать проблемы, на решение которых обычным компьютерам потребовалось бы слишком много времени. Некоторые из самых быстрых на сегодняшний день машин могут выполнять более миллиарда вычислений в секунду.
Но даже в этом случае суперкомпьютеры не всесильны. Их самые большие ограничения обычно сводятся к четырем вещам: масштабирование рабочей нагрузки, проблемы с передачей данных, энергопотребление и надежность. Инженеры добились успехов по всем четырем, но ни одна из этих проблем не исчезла.
Суперкомпьютеры работают лучше всего, когда могут разбивать задачи на части.
Одним из самых больших ограничений является то, что суперкомпьютеры полезны только для решения определенных задач. Они лучше всего справляются с задачами, которые можно разбить на множество более мелких частей и работать над ними одновременно. Это известно как параллельная обработка; например, климатическая модель может разделить атмосферу и океаны на множество секций и рассчитывать каждую из них параллельно. Но некоторые проблемы не решаются таким образом. Некоторые задачи состоят из шагов, которые должны выполняться последовательно. Когда это произойдет, суперкомпьютер не сможет значительно ускорить процесс. Если часть задания ожидает завершения другой задачи, вся система замедляется. Ответ здесь часто не в том, чтобы добавлять больше оборудования. Вместо этого необходимо перепроектировать программное обеспечение, чтобы большая часть работы могла выполняться одновременно.
Еще одно серьезное ограничение связано с процессом перемещения данных. Суперкомпьютер может выполнять невероятно быстрые вычисления, но ему все равно необходимо извлекать информацию из памяти. Во многих случаях машина ограничена не скоростью вычислений, а временем, необходимым для перемещения данных из одного места в другое. Чтобы решить эту проблему, суперкомпьютеры физически хранят данные ближе к процессорам, чтобы обеспечить их более эффективное перемещение. Исследователи также перепроектируют программы, чтобы более эффективно повторно использовать данные вместо их постоянной выборки.
Суперкомпьютеры потребляют много энергии и имеют множество деталей, которые могут выйти из строя.
Использование энергии также является огромным ограничением. Самые быстрые суперкомпьютеры потребляют огромное количество электроэнергии. Им также необходимы современные системы охлаждения для предотвращения перегрева. Это создает две проблемы. Во-первых, это делает эксплуатацию суперкомпьютеров очень дорогой. Во-вторых, это вызывает экологические проблемы, особенно потому, что люди сопротивляются созданию крупных центров обработки данных, необходимых для их размещения. Создание лучших суперкомпьютеров будет зависеть не только от повышения их мощности, но и от повышения их энергоэффективности.
Другая проблема – надежность. Суперкомпьютер состоит из огромного количества деталей: процессоров, блоков памяти, кабелей, систем хранения данных, охлаждающего оборудования и многого другого. Чем больше деталей в машине, тем больше шансов, что что-то пойдет не так. Незакрепленный кабель, неисправный чип памяти или проблемы с охлаждением могут прервать выполнение крупных вычислений. Это важно, потому что некоторые научные работы выполняются часами или днями. Если что-то выходит из строя в середине процесса, возможно, придется перезапустить работу или восстановить ее с сохраненной контрольной точки. Инженеры используют такие инструменты, как масштабируемая контрольная точка/перезапуск (SCR) Ливерморской национальной лаборатории Лоуренса, чтобы свести к минимуму объем работы, потерянной при возникновении проблемы, но не существует способа полностью предотвратить возникновение проблем с оборудованием. В конце концов, создание огромной машины также означает, что существует огромное количество вещей, которые могут сломаться.