Пресс-центр
Последние события и самая актуальная информация о деятельности Фонда инфраструктурных и образовательных программ.
29 октября 2019

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

Как ускорить работу компьютера? Что определяет эволюцию вычислительных систем? В проекте «Мир вещей. Из чего сделано будущее» совместно с Фондом инфраструктурных и образовательных программ (ФИОП) рассказываем о последних открытиях и перспективных достижениях науки о материалах.

Эффективность компьютера — это прежде всего скорость вычислений, которая напрямую определяет скорость обработки информации и количество доступных для решения задач. Общая цель компьютерной индустрии — создание компьютера с производительностью в 1 экзафлопс (1018 операций в секунду), при которой человечеству откроются колоссальные возможности для моделирования реального мира и работы с большими данными. На пути к решению этой амбициозной задачи специалисты в области электроники ищут способы максимально ускорить и оптимизировать вычисления и одновременно ограничить потребление электроэнергии и выделение тепла при работе компьютера. Выявленные в ходе этого закономерности формируют корпус основных законов электроники — именно они определяют развитие вычислительных технологий.

Закон Мура

Компьютер обрабатывает информацию по алгоритму вычислений, который организует работу его логических вентилей. Логический вентиль — базовый элемент цифровой схемы, выполняющий малые логические операции. Количество вентилей — один из параметров, напрямую влияющих на производительность вычислительных машин. В 1965 году физик, инженер и основатель корпорации Intel Гордон Мур сформулировал практический закон, согласно которому стало возможным увеличение количества таких вентилей. Закон Мура определил направление коллективного «бизнес-плана» для всей электронной промышленности: при переходе от одного поколения чипов к следующему разработчики создают все более «плотные» устройства — увеличивают число вентилей, удваивая их количество каждые два года.

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

Закон Деннарда

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

Комбинация законов Мура и Деннарда определила естественную эволюцию компьютерных технологий: увеличение количества вентилей и скорости их переключения позволяло наращивать производительность. Но в 2007 году, при снижении электрического напряжения до 1 вольта и увеличении частоты до 3 гигагерц, был достигнут практический предел. Дальнейшее уменьшение напряжения было невозможно: оно было уже слишком близко к нулю. Уменьшение вентилей стало затруднительным, когда выяснилось, что слишком маленькие вентили пропускают ток не только во время переключения, а постоянно, будто дуршлаг. Чтобы из-за таких паразитарных утечек тока не увеличивалось тепловыделение, в современных разработках единовременно используется только часть чипа: строится такая архитектура, при которой можно отключать одни его части, чтобы поработать с другими. Это явление называется «темный» кремний.

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

Закон Амдала

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

Параллельное программирование позволяет делать независящие друг от друга вычисления на разных устройствах одновременно. Однако у такого параллелизма есть ограничения: в алгоритме наступает момент, когда вычисления нужно синхронизировать. То есть возникает ситуация, когда вычисления в одном устройстве зависят от окончания вычислений в другом. В связи с этим математик Джин Амдал обнаружил ограничение: даже если более 95% времени вычислительная нагрузка делится между процессорами, ускорение вычислений будет не больше чем в 20 раз, независимо от количества процессорных элементов.

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

Источник: Постнаука
Опубликовано: 25 октября 2019
Автор: Игорь Захаров, PhD in Physics, ведущий научный сотрудник Центра Сколтеха по научным и инженерным вычислительным технологиям для задач с большими массивами данных