Почему мощнейшая компьютерная техника отстаёт от паровоза, и как повысить её КПД, - интервью с профессором МГУ
Что общего у суперкомпьютера и паровоза? Их КПД не дотягивает и до 10 процентов. Причём, у машины, изобретённой в начале XIX века, эффективность даже несколько выше, чем у современного чуда техники. Можно ли заставить суперкомпьютеры работать с максимальной отдачей? Об этом мы поговорили с заведующим кафедрой суперкомпьютеров и квантовой информатики МГУ Владимиром Воеводиным, который ведёт проект «Обеспечение эффективности суперкомпьютерных центров будущего на основе технологий обработки больших объемов данных и экстремальных вычислений», поддержанный ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технического комплекса России на 2014-2020 годы».
Владимир Валентинович, суперкомпьютеры - это всё же high-tech device. Почему в наш век высоких скоростей и технологий они оказываются для нас непостижимыми?
- Потому, что очень сложно устроена архитектура и отдельных процессоров, и суперкомпьютера в целом. Плюс все суперкомпьютеры имеют очень высокую степень параллельности. Десятки тысяч, сотни тысяч параллельно работающих процессоров - это уже норма. При этом возникает огромная проблема: как организовать алгоритм работы этой системы таким образом, чтобы всю её мощь использовать эффективно, не допуская ситуации, когда 100 тыс. процессоров ждут, пока один доделает работу. Работа должна быть аккуратно сбалансирована. Простоя быть не должно. Добиться этого - и есть наша задача.
Интересно, что предполагали разработчики суперкомпьютеров, когда закладывали такой невероятный потенциал в свои машины? Понимали ли они, что потом никто с этим не разберётся?
- Предполагалось, что люди найдут способ, как с этим работать. Но на самом деле это обычная песня о том, кто управляет развитием компьютерной отрасли: те, кто производит машины, или те, кто ставит им задачи? С одной стороны, хочется сказать: ну, конечно же, эти акулы империализма предлагают свою архитектуру и совершенно не думают про то, как потом мы, бедные пользователи, всем этим будем управлять. Но это только полуправда, потому что развитие идёт с двух сторон. Производители видят потребности. Они понимают, что нужно считать всё больше и больше.
Модели усложняются, точность повышается, производительность растёт. А для того, чтобы обеспечить повышение производительности суперкомпьютеров, никакого другого способа, кроме как увеличение степени параллельности, не придумано.
Прошло то время, когда забесплатно, просто повышая тактовую частоту процессора, переходили от 500 МГц к 1 ГГц, а потом к 3 ГГц, в разы увеличивая производительность. Сейчас тактовая частота практически не растёт, а растёт количество ядер, количество процессоров, вычислительных устройств, машин, которые могут работать вместе. И за счёт этого вот что получилось. Было, условно говоря, одно ядро - сделали четыре, производительность выросла вчетверо. А потом уже начали разбираться, как ядра будут общаться между собой и т.д. Вот последствия такого подхода сейчас и приходится расхлёбывать.
Далее об эффективности суперкомпьютеров читайте здесь