Умные чипы сгладят отказ от закона Мура в датацентрах

Итак, если закон Мура замедляется, и мы не можем рассчитывать на все более быстрые процессоры, выпускаемые каждый год, что это значит для технологов и архитекторов центров обработки данных?

Очевидно, что одно из направлений, в котором будет развиваться производство чипов - это многокристальная упаковка, где множество кремниевых матриц собраны вместе в общий корпус, который выглядит снаружи как один чип. Например, поднимите крышку на новом процессоре EPYC от AMD, и вы увидите восемь 7-нм чипов процессора плюс девятый 14-нм чип ввода-вывода. Другой пример - демонстрация компанией TSMC гигантского интерпозера, который своим существованием подтверждает, что закон Мура всё ещё продолжает действовать.

Конечно, технология упаковки процессорных ядер в чиплет - это нечто вроде читерства, и от этого нововведения вы не получите все те прелести снижения цены и повышения производительности, как от закона Мура и масштабирования Деннара. Так что как ни крути, но многоядерная компоновка будет ярким, но недолговечным вектором развития процессоров. Куда интереснее выглядит развитие в двух областях:

  1. Фундаментальные технологические инновации, такие как углеродные нанотрубки, оптические и квантовые вычисления
  2. Архитектурные инновации за пределами центрального процессора и рост доменной обработки

Интересно, что в оригинальной статье 1965 года Гордон Мур наблюдал удвоение транзисторов в CPU каждые 12 месяцев и предсказал, что это будет продолжаться и далее, но скорректировал свой прогноз на каждые два года в 1975 году. В частности, он отметил, что большинство “умных” технологических инноваций, таких как изоляция оксидов, уже реализованы, и поэтому период времени для удвоения плотности устройства растянется. Перенесемся на полвека вперед и классический период закона Мура наконец-то закончится. Как ни странно, я считаю, что это заставит искать другие методы повышения производительности. Иными словами, по мере того, как продвижение полупроводниковой обработки замедляется, архитектура системы и программного обеспечения выйдет на первый план.

Число компьютеров против производительности каждого

Прежде всего, мы должны принять во внимание, что прогресс в увеличении скорости процессоров замедляется, в то время как тренд на рост объёма данных продолжается без ослабления. Результатом является разрыв” компьютер-данные", который с течением времени будет увеличиваться:

Если скорость серверов не растёт, решением является увеличение их количества и применение высокопроизводительных сетей. Хорошим примером кластерных вычислений и массового глобального масштаба являются облачные центры обработки данных Microsoft Azure:

Закон Мура

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

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

Смерть закона Мура соответствует закону Амдала

Примерно в то же самое время, когда Гордон Мур впервые сформулировал свой закон, другой компьютерный гений заметил, что параллельные вычисления ограничены частями задачи, которые должны выполняться последовательно. В 1967 году Джин Амдал представил свой одноименный закон, согласно которому время выполнения будет ускоряться только до определенного момента. Закон Амдала связан с ускорением вычислительной задачи, которая состоит из части, которая может быть ускорена путем параллельного выполнения с использованием многоузловых или кластерных вычислений, и оставшейся части, которая должна выполняться последовательно. Его вывод заключался в том, что преимущества параллельных вычислений ограничены последовательной частью задачи следующим образом:

Время выполнения = T(1-P) + T(P/S)
Где
T - время требуемое для выполнения задачи
P - часть задачи, которая может быть ускорена
S - фактор ускорения задачи


Пример:

P=75% означает, что 3/4 задачи может быть ускорено путем параллельного выполнения на нескольких узлах

S=2 с двумя узлами, что означает, что ускоренная часть задачи выполняется в два раза быстрее

Таким образом, общее время выполнения сокращается до 62,5% от исходного, поэтому вместо того, чтобы получить ускорения в 2 раза, мы добиваемся только 1.6-кратного. Таким образом, многоузловой параллелизм не дает идеального ускорения, потому что большинство рабочих нагрузок имеют только часть, которая может быть ускорена с параллельной обработкой. С 2 ядрами вы получаете только 1.6-кратное ускорение задачи, которая распараллеливается на 75%. Это значит, что вместо постоянного линейного прироста скорости, мы получаем наоборот - замедление, и каждый новый узел обеспечивает меньшее ускорение, чем ранее добавленный.

Runtime

Получается что чем больше вычислительных узлов добавляется, тем быстрее выполняется распараллеливаемая часть задачи, но в то же время последовательная часть становится все большей и большей частью общего времени выполнения. По мере добавления все большего числа узлов последовательная задача доминирует в общем времени выполнения. В приведенном выше примере последовательная часть задачи, которая изначально составляла лишь 25% от общей одноузловой среды выполнения, при наличии 8 узлов возрастает до 73% от общего времени выполнения, ограничивая будущие преимущества масштабирования.

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

Интеллектуальные сетевые и доменные процессоры приходят на помощь

Закон Амдала задаёт практический предел пользы от распараллеливания, но это не то же самое, что фундаментальный предел, который законы физики накладывают на полупроводник, замедляющий закон Мура. Дальнейшее ускорение возможно просто путем переопределения общей задачи таким образом, чтобы сделать ранее сериализованные операции распараллеливаемыми.

Это требует глубокого понимания распределенных приложений и полного переосмысления сложных алгоритмов и потоков данных. Когда рабочая нагрузка рассматривается глубоко и целостно, появляются огромные возможности для инноваций и ускорения вычислительных, запоминающих и сетевых векторов системы. Например, операции, которые ранее выполнялись последовательно на ЦП, могут быть распараллелены на вычислительных машинах, специфичных для домена, таких как графические процессоры, которые очень хорошо подходят для параллельного выполнения задач графики и машинного обучения.

Кроме того, многие сериализованные задачи связаны с периодическим обменом данными между узлами в точках синхронизации с использованием коллективных операций, позволяющих продолжить параллельные вычисления. Эти сериализованные задачи вполне можно ускорить, для чего требуется интеллектуальная сеть, которая обрабатывает данные по мере их перемещения и предвещает появление нового класса доменных процессоров, называемых IPU или процессорами ввода-вывода. Хорошим примером МПС является Mellanox Bluefield-2 SOC (System-On-a-Chip), который компания анонсировала на конференции VMworld 2019.

Совершенно ясно, что по мере того, как закон Мура теряет актуальность, мы видим, как учёные ищут способы ускорить то, что ранее не ускорялось. Новые подходы будут проявляться уже не только на уровне чипов или серверов, но и на уровне центров обработки данных, включая интеллектуальные сети. Именно поэтому инновации следующего десятилетия будут исходить от тех, кто понимает проблемы, которые должны быть решены целостно – включая вычислительные системы, хранилища, сети и программное обеспечение.

Рон Амадео
30/09.2019


Комментарии

Похожие статьи:

Threadripper против EPYC: сравнение трёх 32-ядерных процессоров AMD в серверных приложениях

32 ядра - это тот рубеж, где всё ещё можно обойтись лицензией на 1 сокет VMware, а поэтому процессор должен быть самый быстрый на свете! Мы протестируем 6 серверных приложений, включая 1С Предприятие, MySQL и NGINX, чтобы выбрать лучший!

На чём работает Cloudflare: intel not inside!

Самые тяжелые нагрузки в сети CloudFlare - это Firewall и бессерверные сервисы, из-за чего CPU - это самая затратная статья в бюджете сервера Cloudflare. Подход компании к проектированию серверов сильно отличается от традиционных сетей доставки ко

Вертикальное крепление серверов на стену

Интересное решение для домашних лабораторий, небольших тестовых помещений или необслуживаемых пунктов, где размещаются 1-2-3 единицы оборудования, и каждый квадратный сантиметр - на вес золота