Как используются самые мощные компьютеры

// // Интересное в сети //

10-15 лет назад вычислительная мощность техники однозначно определялась рядом общих параметров: быстродействием, тактовой частотой отдельных компонентов, числом операций, выполняемых параллельно. Сейчас ситуация обстоит иначе. Быстродействие компьютера, предназначенного для научных математических расчётов – это вовсе не то же самое, что быстродействие геймерского десктопа. Формально последний может быть «быстрее»; но это, разумеется, не означает, что он будет быстрее решать дифференциальные уравнения, необходимые для той или иной теории.

Правда, в последние годы производители графических плат работают над тем, чтобы сделать свои чипы применимыми для специфических вычислительных задач. Например, компания NVIDIA разрабатывает технологию CUDA, превращающую видеокарту со многими вычислительными ядрами в этакий виртуальный кластер из десятков «процессоров». Но до реальных суперкомпьютеров всевозможным «доработкам» обычных ПК очень далеко. Хотя бы потому, что научные вычислительные машины проектируются с учётом задач, которые будут на них решаться. У них даже программное обеспечение своё собственное, специфическое, в том числе низкоуровневое (например, драйвера). Такие компьютеры могут быть полностью непригодны для того, чтобы запускать на них трёхмерные игры или всем привычные офисные приложения; все их ресурсы «заточены» лишь под обработку строго определённых математических моделей.

Как правило, подобные вычислительные центры занимают целые залы – почти как гигантские ламповые и транзисторные компьютеры прошлого века. Только теперь они собраны из десятков и сотен отдельных серверов, часто не имеющих собственных видеокарт и прочих средств вывода информации – лишь сетевой интерфейс и вычислительное аппаратное обеспечение. По количеству и уровню таких суперкомпьютеров на первом месте стоят страны Азии, особенно Япония. Европейские и особенно американские учёные больше пользуются другим типом сверхмощных компьютеров – кластерами.

Кластер – это несколько «обычных» ПК, объединённых друг с другом при помощи специальной программы. Это похоже на обычную связь в локальной сети, только в кластере машины не просто могут обмениваться данными – они обрабатывают их согласованно. Например, построение трёхмерной карты видимой Вселенной происходит следующим образом: программа разбивает всю область вычислений на маленькие кусочки, и рассылает их по компьютерам, назначая свою долю ресурсов каждому из обрабатываемых участков. После завершения обработки компьютер пересылает уже смоделированную зону в банк данных, где она «сшивается» с остальной картой.

Для кластерных вычислений могут использоваться как компьютеры одной организации, так и ПК добровольцев. Самые сложные модельные проекты выполняются именно на таких кластерах. Среди них встречаются такие исследования как расшифровка геномов, изучение физических процессов высоких явлений, а то и вовсе обработка информации с радиотелескопов ради поиска сигналов от внеземных цивилизаций (этот проект называется SETI@home).

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