Компания
316,76
рейтинг
10 декабря 2012 в 14:21

Разное → Жизнь в эпоху «тёмного» кремния. Часть 3



Другие части: Часть 1. Часть 2.

Данный пост является продолжением рассказа «Жизнь в эпоху «тёмного» кремния». В предыдущей части рассказ шел о использовании универсальной логики в темных областях кремния. В этот раз рассмотрим использование специализированной логики.

«The Specialized Horseman» или использование специализированных решений.


“We will use all of that dark silicon
area to build specialized
cores, each of them tuned for
the task at hand (10-100x more
energy efficient), and only turn
on the ones we need…”


По мере того, как всё большая часть транзисторов микропроцессора становится «тёмной», занимаемая ими площадь становится экспоненциально более дешевым ресурсом с точки зрения тепловыделения и потребляемой мощности. Один из возможных способов использования этой площади для повышения энергоэффективности за счет параллелизации описывался ранее. Однако, такой подход имеет ряд ограничений. Даже в идеальных условиях возможно лишь 2-2.5 кратное снижение энергопотребления, при увеличении занимаемой площади в 2-3 раза. Кроме того, далеко не все узлы в принципе поддаются распараллеливанию и не во всякой программе можно найти параллелизм данных…
Один из подходов, позволяющих эффективнее расходовать площадь в обмен на энергоэффективность, это использование тёмного кремния для реализации специализированных блоков (сопроцессоров), каждый из которых на конкретной задаче либо намного быстрее, либо намного энергоэффективнее (порядка 100-1000 раз), чем процессоры общего назначения [1]. Ну а выполнение необходимых действий можно распределять между сопроцессорами и ядрами общего назначения наиболее предпочтительным образом. В то же время, неиспользуемые в данный момент блоки сопроцессоров могут быть полностью выключены для экономии энергии.
Перспективы для всестороннего использования специализированных узлов в будущем видны невооруженным глазом: уже сегодня широко распространены специализированные ускорители для таких задач, как, например, обработка, графики, компьютерное зрение, кодирование видео и других. Эти ускорители позволяют на порядки повысить производительность и энергоэффективность, особенно для высокопараллельных вычислений.
Исследователи [2] экстраполировали эту тенденцию и высказывают ожидания, что в ближайшем будущем мы увидим системы, которые на большую часть состоят из специализированных блоков, а не из ядер общего назначения. В литературе такие системы получили называние Coprocessor Dominated Architectures, или CoDAs.
Если взглянуть на схему микропроцессора Intel Medfield, приведенную ниже, то можно заметить, что это «ближайшее будущее» гораздо ближе, чем кажется :). Это тот самый процессор, который используется в Intel Mint – первом смартфоне на основе x86 архитектуры. И, как видно, помимо, собственно, процессорного ядра в кристалл входит множество разнообразных специализированных блоков.


Платформа Intel Medfield

Однако, рост использования специализированных узлов для борьбы с проблемой темного кремния приводит к тому, что разработчики (да и не только они) столкнулись с множеством проблем, вместе получивших название «кризис вавилонской башни» (tower-of-babel problem). Это отсылка к современной интерпретации библейского сюжета о «вавилонском столпотворении», когда из за смешения языков люди перестали понимать друг друга и не могли продолжать строительство. Из-за использования ускорителей наше представление о вычислениях общего назначения становится всё более фрагментарным и всё более размываются традиционно четкие границы между разработчиками программ, программным обеспечением и железом, которое, в конечном счете, и выполняет вычисления. Приведем несколько примеров.
Уже сейчас мы видим, как набирают популярность специализированные языки, такие как CUDA, которые фактически монополизированы одной компанией, предназначены для конкретного железа и не могут быть перенесены даже на аналогичные архитектуры (AMD). (у CUDA есть альтернативы, но речь здесь не о том)
Существуют проблемы чрезмерной специализации ускорителей, которые делают их неприменимыми даже для тесно связанных с их основным назначением задач. Например, известны случаи, когда вычисления с двойной точностью (double), проводимые в научных целях, дают неверные результаты на GPU, Floating-Point Unit'ы которых специализируются на графических задачах.
Также известны проблемы с внедрением разработок из-за чрезмерных усилий на программирование гетерогенного «железа». Например, медленный рост популярности Sony Playstation 3 в связи с трудностями портирования игр и использования возможностей архитектуры процессоров Cell в программировании.
Ну и наконец, специализированные аппаратные узлы подвержены риску устаревания, т.к. стандарты иногда пересматриваются (например, обновление стандарта JPEG), а изменить их аппаратную реализацию иначе как заменой устройства уже не получится.

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

Преодоление ограничений, накладываемых на специализацию законом Амдала. Закон Амдала иллюстрирует ограничение роста производительности вычислительной системы с увеличением количества вычислителей. Его трактовка применительно к специализации и энергопотреблению означает, что если, например, на ускорители можно перенести лишь половину производимых вычислений, то и энергопотребление может быть снижено не более чем в два раза (за счет ускорителей). Это служит дополнительным препятствием для специализации и заставляет искать подходы, которые бы позволили экономить энергию на большинстве вычислений, не только регулярных, параллельных и предсказуемых, но и нерегулярных.
Сейчас ведутся исследования в области автоматизированной генерации ускорителей из фрагментов программного кода. Цель – обнаружить часто используемые, медленные или энергозатратные участки программы – «горячие точки». А затем, синтезировать описание специализированного ядра, выполняющего те же действия, но гораздо быстрее или затрачивая меньше энергии. Такие специализированные ядра называются conservation cores или c-cores.



Примером такого подхода к построению CoDA систем, направленного как на регулярные, так и на нерегулярные вычисления является процессор UCSD GreenDroid [3]. Подход основан на обнаружении «горячих точек» в мобильной среде Android и использовании сотен conservation cores, на которые компилятором переносится исполнение «горячих» участков кода. Такой подход позволяет достичь 8-10 кратного выигрыша в энергоэффективности без дополнительных усилий со стороны программиста. (Хотя, конечно, данная тема заслуживает отдельного поста :) )


Жизненный цикл conservation cores в GreenDroid

В отличие от NTV процессоров, с таким подходом нет необходимости искать дополнительный параллелизм, чтобы покрыть потери производительности на последовательном исполнении. В результате, c-cores, скорее всего, смогут использоваться в более широком спектре задач, включая последовательные задачи. Тем не менее, для высоко параллельных нагрузок NTV процессоры могут иметь преимущество.

На этом я заканчиваю рассказ о том, что такое «тёмный» кремний и какие основные подходы к его использованию существуют. Несмотря на то, что кремний становится всё темнее с каждым поколением закона Мура, для исследователей в этой области будущее выглядит ярким и волнующим. Со временем тёмный кремний изменит весь вычислительный стек. А эти изменения принесут много возможностей для дальнейших исследований и усовершенствований.
*А еще есть такая «неклассическая» тема, связанная «тёмным» кремнием, энерго- и температурными вопросами, как оптимизация на системном уровне (system-level optimization). Если эта тема вызовет интерес, то будет связанное с этим продолжение.
UPD: а вот и продолжение.

Источники


1. Venkatesh, Sampson, Goulding, Garcia, Bryksin, Lugo-Martinez, S. Swanson, and M. B. Taylor. «Conservation cores: Reducing the energy of mature computations.» In ASPLOS, 2010.
2. N. Hardavellas, M. Ferdman, B. Falsa_, and A. Ailamaki. “Toward dark silicon in servers." IEEE Micro, 2011.
3. N. Goulding-Hotta et al “The GreenDroid mobile application processor: An architecture for silicon's dark future." Micro, IEEE, March 2011.
Автор: @yurav
Intel
рейтинг 316,76

Комментарии (15)

  • +4
    Что особенно радует, так это то, что первый минус появился менее, чем через 30 секунд после публикации — не читал, но осуждаю? :) Можно попросить о более конструктивной критике, если Вам что-то не нравится? Например, в виде комментариев с замечаниями/пожеланиями/вопросами…
    • +4
      Я с интересом читаю ваши топики и минусы не ставлю, но рекомендую не обращать внимание на подобные колебания: всем посетителям хабра, равно как и любого другого ресурса, угодить невозможно. Со своей стороны замечу, что основная картинка, преследующая публикации, заставляет меня плакать кровавыми слезами, в особенности оранжевый текст на сером фоне. Встречают, как известно, по одежке.
      • 0
        Спасибо за замечание. К сожалению, мои навыки в области дизайна и композиции оставляют желать лучшего.
        • 0
          бог с ней с композицией) вы топики продолжайте и на минусы меньше смотрите.
          • +3
            Следует ли это трактовать как интерес к продолжению про system-level optimization? :)
            • +2
              Просто и понятно про устройство процессоров и проблемы, которые там есть сейчас и способы решения мало где можно найти. Особенно описанное простым и понятным языком. У вас прекрасно получается :)
  • 0
    С удовольствием читаю каждый ваш топик на эту тему. Буду рад видеть продолжение.

    А на минусующих вообще внимания не обращайте.
  • 0
    Может я и тупой, но я вдумчиво прочитал все 3 части, но так и не понял что значит «Тёмный кремний»
    • 0
      Необходимость оставаться в определенных рамках энергопотребления привела к появлению ограничения называемого Utilization Wall, согласно которому с каждым новым техпроцессом и в отсутствие радикальных технологических изменений, доля площади кристалла задействованной в активной работе (буквально, где могут переключаться транзисторы) убывает экспоненциально. Причем эта площадь измеряется единицами или даже долями процентов. [6] Оставшаяся бОльшая часть кристалла, не задействованная в данный момент в работе, и получила название «тёмный» кремний («Dark» Silicon).


      то есть темный кремний — это про то «куда деть неиспользуемую площадь кристалла».
      • –1
        Скорее это вспомогательные блоки, например FPU, векторные сопроцессоры, DSP, аппаратный JPEG и т.д.
        Насчет кэша и шины не уверен :)
  • 0
    Всё-таки мудрёная статья:)

    Но я понял одно, что громадный и неповоротливый монстр — корпорация Intel, сильно отстала от своих конкурентов:(
    Потому как последнее творение Intel активно использующее «тёмный» кремний — микропроцессор Intel Medfield явленное миру в 2012 году — является обычной, для современного рынка, SoC (System on Chip — Система на чипе) которые такие компании как Qualcomm, Marvell, Broadcom, Freescale, Samsung, NVidia и др. производители ARM-чипов успешно проектируют и выпускают уже много лет (некоторые из них уже чуть ли не десятилетие).

    Да и прямой конкурент Intel — Advanced Micro Devices (AMD) получается оказался прав, что купил в 2006 году компанию ATI (а ведь сколько писали что это было глупейшее решение) и с её помощью реализовал новые APU (Accelerated Processing Unit) — создав архитектуру AMD Fusion — в которой «тёмного» кремния дофигищи:)

    Получается, что Intel отстаёт от своих конкурентов лет на 5-ть! И со временем так же как и AMD будет выпускать APU (Accelerated Processing Unit) вместо современных CPU.
    Правда для этого им видимо придётся ещё и прикупить NVidia, чего скорее всего не позволят антимонопольные органы.
    Хотя может быть для создания современного APU (CPU + GPU) Intel пока что вполне хватит как своих наработок, так и таких мультимедийных технологий как Neon и StemCell полученных недавно вместе с приобретёнием компанию ZiiLabs — см.: «Intel поглощает разработчика ARM-чипов — компанию ZiiLabs».

    Ну и самый крутой чип в котором будет почти что сплошной «тёмный» кремний — это конечно проектируемый NVidia серверный чип — в котором на одном чипе будет использоваться GPGPU-ускоритель типа Tesla K20 и 64-битные ARM-ядра — см.: «NVIDIA пообещала интегрировать 64-бит ядра ARM в ускорители Tesla» — вот это будет нечно:)))
    • +2
      Поясните, сильно отстала в чем именно?

      Если речь о SoC и мобильных процессорах, то я даже соглашусь.
      Отчасти.

      В сторону мобильного рынка Intel начал смотреть запоздало, и то, что последние Atom'ы обогнали по энергоэффективности ARM — заслуга не архитектуры, а технологии производства.
      Но, как говорится, мы работаем над этим.

      Про графику — не совсем понял. Встроенная графика Intel уже сейчас сравнима с бюджетными дискретными видеокартами. В чем вы видите фундаментальное отличие (не в лучшую сторону) от Fusion?

      Про Tesla K20 вы написали, но как вы сравниваете крутизну чипов и заодно измеряете количество темного кремния в них? Крутой чип в чем и по сравнению с чем? И где в вашем рейтинге находятся Xeon Phi с их 60 ядрами?
      • 0
        1. Из этой статьи, насколько я понял, можно сделать выводы, что будущее именно за SoC-чипами, а Intel пока что выпустила один единственный SoC и тот только лишь в 2012 году.
        Все конкуренты Intel имеют уже достаточный опыт в проектировании SoC-чипов, и лишь инженера Intel пока что только начинают набираться опыта в этой области.

        2. У Intel пока что существует только один единственный SoC-чип, хотя следуя логики развития эпохи «тёмного» кремния к 2012 году уже бы должно выпускать всю линейку маломощных чипов Intel Atom в виде SoC-чипов, да и все остальные мобильные процессоры Intel для ноутбуков также должны быть выполнены в виде SoC-чипов — и я уверен, что так оно и будет через несколько лет.
        И именно потому, что до сих пор Intel не научилась выпускать свои мобильные процессоры в виде энегоэффективных SoC-чипов — современные x86-планшеты значительно проигрывают ARM-планшетам по таким важным для рынка параметрам как {Цена, Вес, Время работы от батареи}.

        3. До сих пор Intel официально не заявляла, что она начала выпускать APU (Accelerated Processing Unit), поэтому я и считаю, что Advanced Micro Devices (AMD) всё ещё впереди Intel по использованию именно «тёмного» кремния.
        Хотя да я признаю, что в последних настольных микропроцессорах Intel используются более мощные GPU чем раньше, но всё ещё они не дотягивают до GPU которые используются в чипах семейства AMD Fusion.
        Да и я лично до сих пор не уверен, что Intel действительно научилась встраивать GPU в логику процессора, так чтобы CPU & GPU работали как единое целое (ведь именно в этом случае, насколько я понял, GPU можно посчитать «тёмным» кремнием чипа).
        Может я немного отстал, но насколько я знаю, до выпуска Ivy Bridge, GPU у Intel был в едином корпусе с процессором, но по сути существовал как отдельный чип (выполнявшийся даже по другим технологическим нормам).
        Да и если в Ivy Bridge — GPU и стали штамповать с теми же тех.нормами, что и CPU и засовывать их в один корпус, то от этого они всё ещё не становятся единым целым (насколько я понимаю, логически CPU и GPU всё ещё разделены и связываются через какие-то там шины, чего не должно быть в едином чипе APU).

        — Хотя если я ошибаюсь, то я буду рад от вас услышать как на самом деле сегодня связаны CPU & GPU в процессорах Intel (и почему Intel не обзывает свои современные чипы APU`шками — стесняются, что не они первые научились их выпускать).

        4. По поводу Intel Xeon Phi с 60-ю ядрами — но это же всего лишь сопроцессор:( Сейчас есть сопроцессоры и с тысячами ядер типа того же NVidia Tesla K20.
        Вот если когда-нибудь Intel выпустит ещё и APU в котором будет CPU + сопроцессор с 60-ю ядрами — вот тогда, насколько я понимаю, все эти 60 ядер можно буде записать в разряд «тёмного» кремния и тогда да может быть такой серверный/суперкомпьютерный процессор от Intel будет круче планируемого серверного процессора NVidia (ARM-ядра + GPGPU-ускоритель типа Tesla K20).

        P.S. Если найдёте время ответьте пожалуйста, и развенчайте мои заблуждения (ну если есть таковые) :)
        • +4
          1. Medfield — первый мобильный SoC от Intel, но не первый SoC. Уже несколько лет продаются SoC для рынков CE, IVI, industrial: Sodavile, Groveland, Berryville, Tunnel Creek в 3 вариантах.
          3. Возможно, потому, что APU — зарегистрированая торговая марка? Если не шинами, то как связывать GPU и CPU ядра? И в SNB, и IVB GPU одинаково общается с остальными компонентами на кольцевой шине — с ядрами, частями LLC и системным агентом.
          4. Это сопроцессор, который умеет исполнять тот же x86 код, что и хост, а не специальный data parallel набор инструкций с ограниченными возможностями программирования сложных управляющих структур.
        • +3
          По 1, 3 и 4 пунктам, в принципе, за меня уже ответили :)

          Насчет 2. Не единственный SoC, а единственный мобильный SoC.
          Проблема тут скорее в том, что мобильная платформа устаревает гораздо быстрее, чем другие. Поэтому проектирование мобильной SoC не должно занимать более полугода, чего пока достичь не получается.
          Ну и еще есть разные «мелочи» вроде истории вокруг LTE, которые не способствуют коммерческому успеху мобильных SoC от Intel.
          А если кратко — проблемы с мобильными SoC надо искать совсем не в темном кремнии.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разное