Основные законы электроники: от масштабирования к параллельному программированию
Ксения Рыкова для ПостНауки
Как увеличить эффективность компьютера, что ограничивает вычислительные технологии и чем полезно параллельное программирование
Эффективность компьютера — это прежде всего скорость вычислений, которая напрямую определяет скорость обработки информации и количество доступных для решения задач. Общая цель компьютерной индустрии — создание компьютера с производительностью в 1 экзафлопс (1018 операций в секунду), при которой человечеству откроются колоссальные возможности для моделирования реального мира и работы с большими данными. На пути к решению этой амбициозной задачи специалисты в области электроники ищут способы максимально ускорить и оптимизировать вычисления и одновременно ограничить потребление электроэнергии и выделение тепла при работе компьютера. Выявленные в ходе этого закономерности формируют корпус основных законов электроники — именно они определяют развитие вычислительных технологий.
Закон Мура
Компьютер обрабатывает информацию по алгоритму вычислений, который организует работу его логических вентилей. Логический вентиль — базовый элемент цифровой схемы, выполняющий малые логические операции. Количество вентилей — один из параметров, напрямую влияющих на производительность вычислительных машин. В 1965 году физик, инженер и основатель корпорации Intel Гордон Мур сформулировал практический закон, согласно которому стало возможным увеличение количества таких вентилей. Закон Мура определил направление коллективного «бизнес-плана» для всей электронной промышленности: при переходе от одного поколения чипов к следующему разработчики создают все более «плотные» устройства — увеличивают число вентилей, удваивая их количество каждые два года.
Работу вычислительного устройства определяет генератор импульсов, который задает тактовую частоту и синхронно переключает вентили в цифровой схеме. Количество переключений вентилей в секунду — это частота на которой работает компьютер. Вентили потребляют электроэнергию только при переключении, позволяя току течь в заданном направлении. Вся электроэнергия, которая подается на вычислительное устройство, переходит в тепло — по сути, компьютер является большим обогревателем, который нагревает внешнюю среду и производит вычисления в дополнение к этому. Увеличение количества вентилей влечет за собой пропорциональное увеличение выделяемого тепла. Компьютер экзафлопсного уровня может потреблять несколько десятков мегаватт электроэнергии.
Закон Деннарда
Новый этап развития вычислительных технологий наступил в 1974 году, когда инженер и изобретатель Роберт Деннард представил миру принцип, по которому можно было уменьшать электрическое напряжение на вентилях, при этом увеличивая количество вентилей в соответствии с законом Мура и увеличивая тактовою частоту. При этом удается удваивать производительность, не увеличивая выделение тепла. Уменьшение напряжения возможно при уменьшении размеров вентилей: чем меньше вентиль, тем большее их количество можно разместить на единице площади и тем меньше энергии требуется для их переключения. Таким образом происходит снижение напряжения и увеличение частоты работы на каждом поколении устройств.
Комбинация законов Мура и Деннарда определила естественную эволюцию компьютерных технологий: увеличение количества вентилей и скорости их переключения позволяло наращивать производительность. Но в 2007 году, при снижении электрического напряжения до 1 вольта и увеличении частоты до 3 гигагерц, был достигнут практический предел. Дальнейшее уменьшение напряжения было невозможно: оно было уже слишком близко к нулю. Уменьшение вентилей стало затруднительным, когда выяснилось, что слишком маленькие вентили пропускают ток не только во время переключения, а постоянно, будто дуршлаг. Чтобы из-за таких паразитарных утечек тока не увеличивалось тепловыделение, в современных разработках единовременно используется только часть чипа: строится такая архитектура, при которой можно отключать одни его части, чтобы поработать с другими. Это явление называется «темный» кремний.
Сегодня нам удалось уменьшить вентиль до семи нанометров, благодаря чему в одном чипе мы можем разместить уже не несколько тысяч, а целый миллиард таких вентилей. Для 50 лет существования твердотельных вычислительных устройств это неимоверный прогресс. Следующая цель — уменьшить вентили до пяти нанометров. Кажется, что это предел: пока никто не знает, возможно ли сделать вентили еще меньше.
Закон Амдала
В 2007 году масштабирование Деннарда подошло к концу. Поэтому дальнейшее увеличение производительности связано с параллельным программированием. Это алгоритм счета, при котором можно одновременно считать на большом количестве вычислительных устройств. В таком режиме увеличение скорости счета описывает сформулированный в 1967 году закон Амдала.
Параллельное программирование позволяет делать независящие друг от друга вычисления на разных устройствах одновременно. Однако у такого параллелизма есть ограничения: в алгоритме наступает момент, когда вычисления нужно синхронизировать. То есть возникает ситуация, когда вычисления в одном устройстве зависят от окончания вычислений в другом. В связи с этим математик Джин Амдал обнаружил ограничение: даже если более 95% времени вычислительная нагрузка делится между процессорами, ускорение вычислений будет не больше чем в 20 раз, независимо от количества процессорных элементов.
Это ограничение удалось преодолеть в 1988 году специалисту в области теории вычислительных систем Джону Густафсону. Он доказал, что можно продолжать наращивать производительность, если увеличивать объем вычислений пропорционально количеству параллельных вычислителей. Параллельное вычисление увеличивает производительность в сотни раз, если перед вычислителями стоит достаточно большая по объему задача. Эта возможность для масштабирования особенно полезна нам в эпоху больших данных.
Источник: Постнаука
Добавьте свой комментарий