Отправить сообщение

Новости

March 11, 2021

Домен-специфическая память

Домен-специфический вычислять может быть всем ражем, но оно избегает реальной проблемы.

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

Домен-специфическая обработка была популяризована лекцией по 2018 Тьюринг, «новый золотой период для компьютерной архитектуры,» Джоном Hennessy и Дэвид Patterson. Но процессоры ограничены памятью на десятилетия. Изменяя обработка без пересмотра памяти и иерархий памяти игнорирует закон Amdahl, который обеспечивает математическое отношение между скоростью вверх возможной для системы когда улучшены некоторые части этой системы. Она по существу говорит вас для того чтобы получить умаляя возвращения если вы только концентрируете на one piece системы а не смотрящ систему в целом.

Так почему не сконцентрировать на bottleneck? «Домен-специфическая память как раз новая термина, но архитекторы делали эти виды оптимизирований в течение длительного времени,» говорит Prasad Saggurti, директор маркетинга товара на Synopsys. «И если они не имеют, то, они попадают без вести фокус потому что большинство людей делали их.»

Другие соглашаются. «Вспомните видеопамяти — ДРАХМА с встроенными сдвиговыми регистрами?» спрашивает Майкл откровенное, собрата и архитектор системы на IP Arteris. «Возможно GDDR [1-5], особенные памяти бирки тайника, или ассоциативные памяти назад в днях TTL? Много эти действительно не выдерживали потому что их функциональность была слишком специфическа. Они прицелились уникальный прибор. Вам нужен большой достаточно домен, и вы воюете против низкой цены сегодняшней ДРАХМЫ, которая имеет преимущество высокообъемного и широкомасштабного производства.»

Иногда оно идет глубокий чем это. «Вы могли hardwire что-то в ROM,» говорит Saggurti Synopsys. «Что мы видим больше людей настраивая память сегодня. Например, с преобразованием Фурье, или z преобразовывает, люди написали бы код в такой манере это вы смогли хранить коэффициенты в некотором заказе. Когда вы делаете умножение матрицы, вы можете хранить коэффициенты в некотором заказе так как чтение его вне было бы более быстро. Вы не можете накапливать данные в одной памяти, вместо, кладя его в 3 или 4 различные памяти так как вы смогли читать вещи через множественные информационные каналы. Эти виды вещей случались более недавно.»

Изменение трудно. «Проблема это в прошлом, люди имели славное, абстрактная модель для мысли о компьютерных системах,» говорит что Стивен сватает, товарищеский и выдающийся изобретатель на Rambus. «Они никогда действительно должны думать о памяти. Она пришла вперед бесплатно и программируя модель сделала им такой это когда вы сделали ссылки на память, его как раз случилась. Вы никогда должны не быть точны о чего вы делали.»

Прогресс делается вообще представлением памяти. «Сегодняшние регуляторы памяти и предварительные стандарты интерфейса драматически улучшали чего вы можете извлечь от предварительной технологии кремния,» говорят Франк Arteris. «Это включало глубокие очереди и предварительные schedulers. Предварительные технологии памяти, как высокая память ширины полосы частот (HBM), и штабелированный для того чтобы умереть ширины полосы частот поддержки которым мы думали невозможное для того чтобы достигнуть как раз десятилетие тому назад. Но оно не приходит дешево. Технологии Sub-10 nm также включают большие тайники, настолько возможно мы могут вызвать память этого бедного человека домен-специфическую.»

Но эти все примеры небольших дифференциальных изменений. «Подсистемы памяти Architecting в которых вычислите главным образом следовать данными, а не другой путь вокруг, требуют значительного пересмотра много заветов что архитекторы привыкать к,» говорят Matt Horsnell, старший основной инженер исследования для группы научных исследований и разработки руки. «Возможность увеличить программируя абстракцию, от сегодняшнего типичного списка деятельности на данных, к расширенной форме которая помещает совпадение и некоторое понятие относительных расстояний вычисляет блоки и детали данных. Такие абстракции смогли позволить необходимые преобразования к более оптимально прицелиться памяти домена специфические когда алгоритмы эволюционируют быстро.»

Центры данных в месте водителя
Центры данных водители для много тенденций технологии сегодня. «Одно из быстрорастущих применений для вычисляет в центрах данных где программные приложения жаждут больше объема памяти, ширина полосы частот на более низкой латентности,» говорит Ravi Thummarukudy, главный исполнительный директор для Mobiveil. «С появлением самого последнего индустриального стандарта, вычислите срочную связь (CXL), архитекторы системы смогите ярус память нужная между главной памятью в DDRn DIMMS, и основанные на CXL памяти DDRn или новых настойчивые. Латентность и экономические характеристики этих ярусов памятей другие, и это дает архитекторам варианты для того чтобы смешать и соответствовать памяти для того чтобы одеть их требования.»

Это продолжение архитектур памяти наследия. «Много OEM и домов системы конструируют их собственное SoCs для того чтобы подгонять кремний к их специфическим рабочим нагрузкам,» говорит Тим Kogel, основной программиста на Synopsys. «Самая большая возможность для увеличений представления и силы специализация иерархии памяти вместе с поддерживая архитектурой соединения.

Рассматривайте силу. «В настоящих архитектурах, 90% из энергии для рабочих нагрузок AI уничтожает перемещением данных, переносящ весы и активации между внешними памятью, тайниками на-обломока, и в конце концов к вычисляя элементу самому (см. диаграмму 1),» говорит Arun Iyengar, главный исполнительный директор Untether AI. «Только путем фокусировать на потребностях для ускорения подразумеваемого и увеличивать энергетический коэффициент полезного действия мы способные для того чтобы поставить беспрецедентное вычислительное представление.»

Оптимизирование памяти на уровне систем проблема которая касается всем аспектам дизайна — оборудование, программное обеспечение, и инструменты. «Стратегии для того чтобы оптимизировать память разнообразны и зависят на домене применения,» добавляет Kogel. «Наилучшая стратегия избежать доступа к памяти -обломока совершенно. Для домен-специфических архитектур, это может типично быть достигано путем увеличение доступной памяти на-обломока, или в форме тайников или применение управляло памятью. Особенно в зоне глубоких уча акселераторов, доступная память на-обломока решительный параметр конструкции который также плотно сжимает как применение нервной системы составлено на оборудование цели — например, крыть черепицей оператора свертки.»

Смотрят, что идут много дизайнов дальше чем это. «Домен-специфические концепции памяти исследуются в пространственном вычисляют домен,» говорит Horsnell руки. «В качестве примера, DSPs клонит обеспечить бассейн распределенных памятей, часто сразу управляемый в программном обеспечении, которое может быть лучшей пригонкой для требований к ширины полосы частот и картин доступа специализированных применений чем традиционные системы делить-памяти. Для того чтобы навести зазор эффективности с фиксированн-функцией ASICs, эти процессоры часто предлагают некоторую форму специализации памяти путем обеспечивать непосредственную поддержку для специфических картин доступа (как N-буферизация, FIFOs, линия буфера, обжатие, etc.). Критический аспект оркестровки внутри эти системы, и проблема в конструировать их, определяют правую степень детализации для доступов к данным, которые могут уменьшить накладные расходы связи и синхронизации пока увеличивающ совпадение в то же время. Другие проблемы упорствуют, включая программирование, сцепление, синхронизацию, и перевод, которые добавляют сложность программного обеспечения. Однако, возможный маршрут вперед положиться на домен-специфических языках (DSLs), которые путем делать поток информации приложений более точной, смогите позволить компиляторы определить специализированные картины доступа к памяти и составить карту они на оборудование более эффектно.»

Оно также оплачивает взглянуть более тщательное рассмотрение сами на памятях. «Гипер-изготовление на заказ тенденция которую мы видим когда это прибывает в памятями,» говорит Anand Thiruvengadam, менеджер маркетинга товара управленческого персонала в пределах Synopsys. «Это значит специальные памяти для различных применений конца. Даже в пределах определенного применения конца как AI различные потребности для памятей, как для тренировка или inferencing, inferencing в серверах, или inferencing в далеком крае. Каждое из этих применений имеет различные требования, и это значит что вы должно подгонять памяти. Это изготовление на заказ значит что вы больше не может не осмотреть памяти как товары или стандартные продукты. Вы должны построить его для определенного применения. Это куда секретный соус пинает внутри.»

Во многих случаях память и соединение плотно соединены. «Что-нибудь идет когда это прибывает в совмещением технологий памяти и соединения для того чтобы удовлетворять требования к доступа к данным рабочих нагрузок применения — например, множественные уровни связывать совмещая обрабатывая с местной памятью для того чтобы пользоваться местообитанием в применениях потока информации, или на-обломоком SRAMs огромного мульти-накрененным/мульти-перенесенным для амортизируя карт особенности акселераторов CNN, и глубокими иерархиями тайника с изощренными протоколами сцепления для того чтобы смягчать еле теплые работая рабочие нагрузки центра набора данных.»

Небольшие изменения могут произвести большие результаты. «Как раз взгляд на маленьком чуде которое Яблоко выполняло с M1,» говорит Франк. «Они понимали как к архитектору подсистема памяти которая служит множественные неоднородные мастера хорошо, используя умную пряча в тайнике стратегию и огромную, многоуровневую иерархию тайника.»

Как часто случай, программное обеспечение инерциальный анкер. «Что обычно случается там алгоритм на месте, и мы видим путь оптимизировать его, оптимизируем память, так, что алгоритм лучше будет снабжен,» говорим Saggurti. «На оборотной стороне медали, мы имеем эти разные виды памяти. Можете вы изменить ваш алгоритм для того чтобы использовать эти новые виды памятей? В прошлом, используя TCAMs была главным образом стройка домена сети для того чтобы посмотреть вверх IP-адресы. Более недавно, двигатели тренировки начинают использовать TCAMs, и это такой различный подход. Этому нужно программное обеспечение, или микропрограммные обеспечения изменить основанный на типах памятей доступных. Но большую часть времени, остается, что изменения фиксированных и памяти делает программное обеспечение возникающую вставку лучшим.»

Осведомленность объема
Много времени и деньги инвестирует в искусственном интеллекте в эти дни. Изготовленные на заказ обломоки ограничены объемом, и это кладет фару на память и соединение.

«Исторически, память и архитектуры соединения были конструированы основанный на статических электронных таблицах или простые аналитические модели как модель представления roofline,» говорит Kogel. «Для современных применений, этого будет довольно сложным. Например, предсказывать требования к памяти каждого слоя в CNN требует рассмотрения оптимизирования компилятора как сплавливание крыть черепицей и слоя. Эти статические методы будут неразумно сложными и неточными для прогноза и оптимизирования SoC на уровне рабочих нагрузок с разнообразными подсистемами IP и динамическими сценариями применения. С другой стороны, бег применения поверх эмулирования оборудования или системы прототипирования слишком поздно в процессе развития для того чтобы сделать любые радикальные изменения или главное оптимизирование дизайна памяти.»

Это кладет фокус на запланированные рабочие нагрузки. «Ключ к эффективным подсистемам памяти знание вашей рабочей нагрузки,» говорит Франк. «Понимающ как оно поступает, возможно даже формируя его в пути который делает его более совместимой с ограничением вашей иерархии памяти, это где архитектура брошена вызов. Акселераторы домена специфические требуют настроенных запоминающих систем — и искусство построения двигателя который спички „импеданса“ масса произвели, страницы преобразования организовало, bursty ДРАХМА доступа и картина доступа двигателя требует проницательности в поведение системы, моделирующ инструменты и много рабочие нагрузки для игры с. Иногда она принимает изменение пути рабочая нагрузка обрабатывает данные для того чтобы мочь улучшить всеохватывающую систему. Хороший пример был переходом от „сразу“ перевода к основанной на плитк обработке в GPUs.»

Оно все приходит вниз к моделированию и симуляции. «Мы предлагаем пользу виртуальных инструментов прототипирования моделировать рабочую нагрузку применения, вместе с точными на уровне сделк моделями архитектуры соединения и памяти,» говорит Kogel. «Этот количественный „подход к архитектуры сперва“ позволяет предыдущему анализу уступки, приводящ в надежной спецификации вставки. За счет дополнительного усилия моделирования и симуляции, преимущество уменьшенный риск пропускания целей представления и силы, или уменьшенная цена на overdesigning оборудование как раз для того чтобы находиться на безопасной стороне. В эре умаляя возвращений от закона Moore, возможность прийти вне с более оптимизировать и более дифференцировать продуктом.»

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

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

Изготовленная на заказ память
Пока архитектурноакустические изменения могут дать большие, оптимизировать памяти может также обеспечить увеличения. «Большая пропорция силы и зоны сегодняшних акселераторов использована на памяти,» говорит Horsnell. «Настолько все улучшения латентности/плотности/энергии достиганные новыми технологиями памяти смогли иметь драматический удар.»

Изготовленные на заказ памяти становить крупный бизнес. «Вы начинаете увидеть что вещи как в-память вычисляет, близко-память вычисляет, специфические памяти которые могли быть писать-всей-нул памятью — памяти которые оптимизированные для некоторых типы деятельности,» говорит Saggurti. «Мы видим, что много клиенты спрашивают нас о MRAM, даже больше изготовления на заказ SRAMs, TCAMs, и некоторые фишки к TCAMs.»

Затруднения остаются, однако. «Я имел много обсуждения относительно изготовленных на заказ дизайнов памяти, где обрабатывающ на памяти умираю был бы „идеальной“ архитектурой,» говорит Франк. «Она обеспечила бы высокую ширину полосы частот, низкую латентность, etc. все было право, за исключением факта, что процесс памяти ограничивал какая логика смогла быть интегрирована — 3 или 4 слоя металла, маломощный, но медленных транзисторы. Это значило что неэффективность для вычисляет двигатель. Жертвовать тактовую частоту и сложность цепи внезапно сделал интеграцию не вычисляет двигатель больше не такой хороший выбор.»

Но некоторые из этих изменений станут необходимыми. «Люди хотят приносить вспышку на обломоке и сделать им врезанную вспышку,» говорит Saggurti. «После этого вопрос становится, „оно даже возможен? „На 28nm вы могли мочь сделать врезанную вспышку, но люди начинают думать о вещах как MRAM на 22nm.»

Все еще, другие пути посмотреть проблему. «Отростчатая изменчивость через вафлю и через плашку, и даже с течением времени, дизайн памяти предела,» добавляет Saggurti. «Когда вы конструируете память, простое SRAM, вы клоните конструировать в случай когда сдержанная клетка идет один путь — медленный — и периферия идет другой путь — быстро. Если вы конструируете для этого, и если большинство вашего кремния типично, то вы выходите много представление и сила на таблицу. Если вы понимаете, то где вы в отростчатом ряде и позволить дизайнер обломока подействовать на этой информации, тогда вы можете отрегулировать время соответственно. Ваш дизайн смог быть более оптимален, и вы не должны конструировать в наихудший случай.»

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

Контактная информация