Содержание
Содержание
Предисловие научного редактора ................................................................. 9
Предисловие ............................................................................................. 10
Глава 1. Введение в мультиядерные системы на одном кристалле:
тенденции и проблемы развития
Лионель Торрес, Паскаль Бену, Жиль Сассателли, Майкл Роберт,
Фабиан Клермиди и Диего Пуччини ........................................................................... 12
1.1.
От систем на одном кристалле (SoC) к многопроцессорным
системам на одном кристалле (MPSoC) .................................................... 12
1.2.
Общее устройство MPSoC .......................................................................... 13
1.3.
Энергоэффективность и способность к перенастройке ........................... 15
1.4.
Усложнение и масштабируемость .............................................................. 17
1.5.
Неоднородный и однородный подходы..................................................... 18
1.6.
Оптимизация при наличии многих переменных ...................................... 23
1.7.
Статическая и динамическая оптимизации в централизованном
и распределенном подходах........................................................................ 29
1.8.
Выводы ......................................................................................................... 30
Терминологический словарь ............................................................................. 31
Литература ....................................................................................... 31
ЧАСТЬ I. ПРИКЛАДНАЯ ПРОГРАММА СОСТАВЛЕНИЯ
СООТВЕТСТВИЯ И ИНФРАСТРУКТУРЫ СВЯЗИ РАЗЛИЧНЫХ
ЭЛЕМЕНТОВ .................................................................................... 35
Глава 2. Компонуемость и предсказуемость для развития независимой
прикладной программы, ее проверки и выполнения
Бэнни Акессон, Анка Молнос, Андреас Хансон, Джуд Эмброуз Ангело
и Кис Гусенс .............................................................................................. 35
2.1.
Введение....................................................................................................... 36
2.2.
Компонуемость и предсказуемость ............................................................ 38
2.3.
Плитка процессора ....................................................................... 50
2.4.
Устройство межсоединений........................................................................ 55
2.5.
Плитка памяти .............................................................................. 57
2.6.
Эксперименты ............................................................................ 64
2.7.
Выводы ......................................................................................................... 66
Литература ............................................................................................ 69
Глава 3. Аппаратная поддержка для эффективного использования ресурсов
в многоядерных процессорных системах
A. Геркерсдорф, A. Ланкис, M. Мейтингер, Р. Олендорю,
С. Валентовиц, T. Ваилд и Дж. Зеппенфильд ............................................ 72
3.1.
Введение....................................................................................................... 73
3.2.
Опыт, полученный из прикладных сетевых вычислений ......................... 76
3.3.
Изучение опыта высокопроизводительных компьютерных систем
и научных расчетов ..................................................................................... 86
6
Содержание
3.4.
Использование опыта самоорганизующихся систем в природе .............. 95
3.5.
Краткое содержание и выводы ................................................................. 103
Благодарности ............................................................................ 104
Литература ........................................................................................ 104
Глава 4. PALLAS: распределение приложений на многоядерной системе
Мишель Андерсон, Брайан Катанзаро, Жик Чонг, Екатерина Горина,
Курт Кютзер, Чао3Ю Лай, Марк Мерфи, Бор3Юинг Су и Нарйанан Сандаран ......... 107
4.1.
PALLAS .......................................................................................... 107
4.2.
Управление приложениями ...................................................................... 109
4.3.
Перспективы производительности при распараллеливании
операций .................................................................................................... 122
4.4.
От шаблонов к инфраструктуре ............................................................... 125
4.5.
Выводы ........................................................................................ 130
4.6.
Приложения ................................................................................. 132
Литература .......................................................................................... 133
Глава 5. Аргументы в пользу обмена сообщениями на многоядерных
процессорах
Ракеш Кумар, Тимоти Г. Маттсон, Гилес Покам
и Роб Ван Дер Вижнгаарт ....................................................................................... 135
5.1.
Показатели для сравнения моделей параллельного
программирования.................................................................................... 136
5.2.
Система сравнения ...................................................................... 137
5.3.
Сравнение модели обмена сообщениями с совместным
использованием памяти ........................................................................... 138
5.4.
Архитектурные последствия ..................................................................... 142
5.5.
Обсуждения и выводы ............................................................................... 143
Литература ......................................................................................... 144
ЧАСТЬ II. ПЕРЕКОНФИГУРИРУЕМЫЕ АППАРАТНЫЕ СРЕДСТВА
В МНОГОПРОЦЕССОРНЫХ СИСТЕМАХ ....................................................... 146
Глава 6. Архитектура адаптивных многопроцессорных систем на кристалле:
новая степень свободы при проектировании систем и в поддержке
при выполнении
Диана Гохрингер, Майкл Хюбнер и Юрген Бекер .......................................... 146
6.1.
Введение......................................................................................... 147
6.2.
Базовые сведения: введение в переконфигурируемые аппаратные
средства ...................................................................................................... 150
6.3.
Вспомогательная работа ........................................................................... 156
6.4.
Подход RAMPSoC ..................................................................................... 157
6.5.
Аппаратная архитектура RAMPSoC......................................................... 160
6.6.
Методика проектирования RAMPSoC .................................................... 163
6.7.
CAPKOS: порт доступа к конфигурации – операционная система
для RAMPSoC............................................................................................ 167
6.8.
Выводы и перспективы ............................................................................. 171
Литература ........................................................................................... 172
Содержание 7
ЧАСТЬ III. ПРОЕКТИРОВАНИЕ МНОГОПРОЦЕССОРНЫХ СИСТЕМ
НА ФИЗИЧЕСКОМ УРОВНЕ.............................................................................. 174
Глава 7. Средства и методы для проектирования чипа на физическом
уровне
Рикардо Рейс ............................................................................................................ 174
7.1.
Введение......................................................................................... 175
7.2.
Применение комплексных МОП логических элементов ....................... 176
7.3.
Сокращение длины проводки .................................................................. 177
7.4.
Сокращение электропотребления ............................................................ 178
7.5.
Стратегии разработки топологий ............................................................. 178
7.6.
Трассировка сети транзисторов ................................................................ 180
7.7.
Использование ASTRAN при синтезе аналоговых модулей .................. 184
7.8.
Выводы ........................................................................................... 185
Благодарность ..................................................................................... 185
Литература .......................................................................................... 185
Глава 8. Проектирование энергосберегающих мультиядерных систем
и сетей на кристалле
Милтос Д. Граматикакис, Джорж Корнарос и Марчело Коппола.......................... 187
8.1.
Введение.......................................................................................... 187
8.2.
Модели оценок энергопотребления: от электронных таблиц
до машин дискретных состояний по энергиям ....................................... 192
8.3.
Управление энергопотреблением ............................................................. 206
8.4.
Дальнейшие перспективы ........................................................................ 213
Благодарности ...................................................................................... 215
Литература .......................................................................................... 215
ЧАСТЬ IV. ТЕНДЕНЦИИ И ПРОБЛЕМЫ РАЗВИТИЯ
МНОГОПРОЦЕССОРНЫХ СИСТЕМ................................................................ 220
Глава 9. Встроенные мультиядерные системы: проблемы и возможности
проектирования
Дак Фам, Джим Хольт и Санжай Дешпанд ............................................................ 220
9.1.
Введение............................................................................................. 220
9.2.
Требования «реального мира» .................................................................. 221
9.3.
Рост промышленной заинтересованности и устойчивые
мегатенденции ........................................................................................... 223
9.4.
Характерные особенности мультиядерных систем на кристалле........... 226
9.5.
Проектирование мультиядерных систем: ключевые соображения ........ 228
9.6.
Производительность ................................................................................. 230
9.7.
Полоса пропускания системы .................................................................. 231
9.8.
Сложность программного обеспечения................................................... 231
9.9.
Интеграция системы на кристалле .......................................................... 232
9.10.
Проектирование мультиядерных систем: проблемы
и возможности......................................................................................... 238
9.11.
Выводы ............................................................................................. 247
Литература ............................................................................................ 248
8
Содержание
Глава 10. Высокопроизводительные мультипроцессорные системы
на кристалле: тенденции в архитектуре чипов для рынка
товаров массового производства
Роб Айткен, Кристьян Флотнер и Джон Гудэйкэ ................................................... 249
10.1.
Введение ......................................................................................... 249
10.2.
Масштабирование и ожидания потребителя ......................................... 252
10.3.
Тенденции развития ЦПУ....................................................................... 255
10.4.
Выводы .......................................................................................... 266
Литература ............................................................................................ 267
Глава 11. Агрессивные вычисления: обзор ............................................... 268
Юрген Тич, Йорг Хэнкель, Адреас Херкерсдорф, Дорис Шмитт Ландзейдель,
Вольфганг Шредер Прейкшат и Грегор Снелтинг........................................... 268
11.1.
Введение .............................................................................................. 268
11.2.
Примеры агрессивных программ ........................................................... 289
11.3.
Ожидаемые воздействия и риски ........................................................... 295
Благодарности ............................................................................................ 297
Литература ................................................................................................. 297
Предметный указатель .................................................................................. 299
Предисловие научного редактора
Уважаемый читатель!
На сегодняшний день перед лицом разработчиков высокопроизводительных вычислительных систем встает вопрос о выборе направления в развитии. Стандартные подходы по увеличению производительности почти исчерпали весь свой потенциал. Так, масштабирование размеров отдельных элементов близко к фундаментальным ограничениям, а увеличение частоты приводит к слишком высокому рассеиванию тепла и большому потреблению энергии. Все это заставляет искать новые решения по развитию вычислительных систем.
Данная книга позволяет читателю познакомиться с новой ветвью в развитии вычислительных систем – многопроцессорными системами на одном кристалле.
Авторы книги знакомят читателей не только с работами передовых научно-исследовательских коллективов и академических сообществ, но также с результатами многолетнего труда ведущих компаний – изготовителей высокопроизводительных систем, таких как Motorolla, Intel, Nvidia и многих других.
В данной книге проводится обзор методов построения новых вычислительных систем, также представлены направления их развития, вводятся требования к системам межсоединений и системам арбитража, предлагаются принципы построения программного обеспечения. Что очень важно, на мой взгляд, – в книге представлены варианты построения систем с возможностью динамической подстройки под вычислительные нагрузки и предложены идеи по их программированию.
Несомненным достоинством данной книги является последовательность и удобство изложения материала, что делает ее удобной для чтения и обучения. Эта книга будет интересна для программистов, разработчиков встроенных систем, академических исследователей, энтузиастов электроники и всех тех, кто хочет познакомиться с миром многопроцессорных систем.
Немудров В.Г.
директор ФГУП «НИИМА «Прогресс»,
доктор технических наук, профессор
Предисловие
В следующее десятилетие, исходя из-закона Мура, мы все еще рассчитываем
на повышение плотности расположения транзисторов, объединяя миллиарды
транзисторов на одном кристалле. Однако все более очевидным становится то, что применение большого объема параллелизма на уровне команд с глубокими конвейерами и более агрессивными суперскалярными технологиями широкого запуска операций исполняемой многооперационной команды, а также использованием основной части потенциала транзистора для кэш-памяти на кристалле зашло в тупик. В особенности становится все более затруднительной масштабируемая производительность с высокими тактовыми частотами из-за проблем с рассеянием тепла и слишком высокого потребления энергии.
Последнее обстоятельство не только относится к техническим проблемам для мобильных систем, но даже может стать серьезной проблемой для вычислительных центров в связи с высоким уровнем потребления энергии, ведущим к значительным индексам стоимости в бюджете. Улучшение рабочих характеристик может быть достигнуто за счет использования параллелизма на всех уровнях системы.
Поэтому для высокопроизводительных вычислительных систем, для высоко- производительных серверов, а также для встроенных систем происходит масштабное смещение концептуального подхода в отношении мультиядерных архитектур. Интеграция многочисленных ядер на одном кристалле ведет к существенному повышению производительности без увеличения тактовой частоты. Мультиядерные архитектуры обеспечивают большее отношение производительности к потребляемой мощности, чем одноядерные архитектуры с аналогичной производительностью.
Сочетание мультиядерной и сопроцессорной технологий обещает чрезвычайно высокую производительность выполнения расчетов для приложений с высоким потреблением времени ЦПУ, таких как научные расчеты и приложения специального назначения в области встроенных систем. Основанные на ППВМ программы ускоренной обработки не только дают возможность ускорения приложений за счет внедрения требующего большого объема вычислений ядер в аппаратные средства, но также используются для адаптации к динамическому поведению программ.
Целью этой книги является оценивание стратегий для разработки будущих систем в архитектуре многопроцессорных систем на одном кристалле (MPSoC). В книге будут рассматриваться оба аспекта: разработка аппаратных средств и интеграция инструментов в существующее развитие инструментов. Кроме того, к темам этой книги относятся новые тенденции в развитии MPSoC в сочетании с перенастраиваемой архитектурой. Основной акцент делается на архитектуры, ход проектирования, разработку инструментов, прикладных программ и проектирование систем.Нам приятно выразить благодарность авторам и соавторам за их выдающийся вклад, который они внесли в подготовку этой книги. Кроме того, мы хотим выразить благодарность команде издательства Springer, а именно Аманде Дэвис, Чарльзу Глэйзеру и Еве Руби за их большую поддержку и терпение.
Юрген Бекер,
Майкл Хюбнер
г. Карлсруэ, Германия
ГЛАВА 1
Введение в мультиядерные системы на одном кристалле: тенденции и проблемы развития
Лионель Торрес, Паскаль Бену, Жиль Сассателли, Майкл Роберт, Фабиан Клермиди и Диего Пуччини
1.1. От систем на одном кристалле (SoC) к многопроцессорным системам
на одном кристалле (MPSoC)
Эмпирический закон Мура не только описывает увеличение плотности транзисторов, которое допускает технический прогресс. Он также выдвигает новые требования и порождает новые проблемы. Сложность систем увеличивается с такой же скоростью. Современные системы никогда не смогли бы быть спроектированы с применением тех же подходов, которые использовались 20 лет назад. Постоянно должны осваиваться новые архитектуры. Теперь стало ясно, что закон Мурадля последних двадцати лет породил три основные революции. Первая революция, которая произошла в середине восьмидесятых, была способом встраивать все большее число электронных устройств в один и тот же кремниевый кристалл; это была эра систем на одном кристалле. Одна из основных проблем состояла в способе эффективного соединения всех этих элементов между собой (межсоединений). Для этих целей длительное время использовались шины межсоединений.
И все же в середине девяностых промышленная и академическая общественность столкнулась с новой проблемой, когда число ядер для обработки данных стало слишком большим для их взаимного использования одной средой связи. Появились новые схемы межсоединений, которые основываются на сетевых матрицах связи, так называемые сети на кристалле; за последние десять лет интенсивные усилия по исследованиям привели к существенным улучшениям в этой области. Последний прорыв в начале 2000-х годов был обусловлен необходимостью межсоединений нескольких процессоров на одном и том же кристалле. Ранее разработанные системы использовали один встроенный процессор, управляющий кристаллом, а многочисленные управляющие процессоры теперь должны были распределять между собой централизованное управление. Появились первые многопроцессорные системы на одном кристалле (MPSoC) [1]. Они комбинировали несколько встроенных процесcоров, запоминающих устройств и специализированных схем (ускорителей, входов/выходов), которые соединялись между собой с помощью выделенных инфраструктур для обеспечения полностью интегрированной системы. В противоположность SoC MPSoC содержали два и более главных процессора, управляющих при кладным процессом, достигая повышенной производительности. С тех пор было разработано значительное число исследовательских и промышленных проектов [2].
Они стали появляться на рынке и, как ожидается, станут широкодоступными в еще большем разнообразии в следующие несколько лет [3].
Теперь понятно, что эта третья революция радикально изменит способ при менения архитектуры системы на кристалле. На рис. 1.1 подводится итог этих трех революций, которые произошли менее чем за 20 лет.
1.2. Общее устройство MPSo
В этом разделе приводится описание типичной MPSoC, рассматриваются только ключевые элементы с целью формулировки обоснованных предположений отноcительно ее архитектуры. В общем случае MPSoC состоит из нескольких процессорных элементов (PE), связанных с помощью структуры межсоединений, которая приводится на рис. 1.2.
1.2.1. Процессорные элемент
Процессорные элементы MPSoC зависят от контекста прикладной программы и соответствующих требований. Мы различаем два семейства архитектур. С одной стороны, это гетерогенные MPSoCs, составленные из различных PE (процессоров, запоминающих устройств, ускорителей и периферийного оборудования).
Эти платформы, безусловно, являются пионерами: сетевой процессор C 5 [4], Nexperia [5] и OMAP [6], представленные в [2]. Второе семейство представляет однородные многопроцессорные системы на одном кристалле (MPSoC), впервые использованные архитектурой Lucent Daytona [2, 7], в которой одна и та же плитка задействована несколько раз. Эта глава посвящена обоим семействам, и на рис. 1.2 представлена как однородная, так и неоднородная (гетерогенная) их структура. К примеру, в многочисленных работах считается, что процессоры, а также гибкие аппаратные средства, такие как перенастраиваемые матрицы, составляют гетерогенные PE.
1.2.2. Межсоединение
Описанные ранее процессорные элементы (РЕ) чаще всего соединяются между собой с помощью сети на кристалле (NoC) [8–11]. Сеть NoC включает в себя сетевые интерфейсы (NI), узлы маршрутизации и линии связи. NI осуществляет сопряжение между средой межсоединений и доменом PE. Он разделяет вычисления от функций связи. Узлы маршрутизации, которые также называют роутерами, которые несут ответственность за прокладку маршрута через эти линии свя
зи, управляют передачей данных между исходящим и адресным PE. Были изучены несколько сетевых топологий [12, 13]. Рис. 1.2 представляет двумерную сетку межсоединений. Выбранный размер предложенной пропускной способности связи должен быть достаточным для набора адресного приложения.
NoC облегчают разработку глобально асинхронного локально синхронного (GALS) свойства путем использования в NI асинхронно синхронных интерфейсов [14, 15]. На рис. 1.2 приведен пример асинхронного маршрутизатора для подчеркивания этого свойства.
1.2.3. Управление потреблением энергии
Одной из основных проблем для встроенных систем сегодня является обеспечение их энергоэффективности. Особенность GALS позволяет выполнять разбиение MPSoC на несколько островков напряжения/частоты (VFI) [16]. В этом при мере каждый VFI содержит PE, синхронизированный на заданную частоту и напряжение. Этот подход позволяет управлять потреблением энергии на мелкоструктурном уровне [17]. Как и в [18, 19], мы считаем, что MPSoC использует распределенное масштабирование динамического напряжения и частоты (DVFS): каждый PE включает устройство DVFS. Оптимизация использования энергии состоит в настройке напряжения и частоты каждого PE с целью балансировки расхода энергии и производительности. В более современных MPSoC используется набор датчиков, встроенных внутри каждого PE, которые обеспечивают информацией о потребляемой энергии, температуре, производительности или любом другом показателе, необходимом для управления DVFS. В любом случае из-за добавления выделенных схем во многих MPSoC используется управление электропитанием на более грубом структурном уровне, которое включает многочисленные PE в одном VFI, обеспечивая совсем другой уровень управления потреблением энергии.
1.3. Энергоэффективность и способность к перенастройке
Как уже упоминалось во введении, MPSoC подчиняются закону Мура [20]. Этот эмпирический закон демонстрирует свою правоту в течение нескольких последних десятилетий. На рис. 1.3 приведено несколько примеров процессоров с числом задействованных транзисторов. Что касается MPSoC, то с какими именно проблемами предстоит столкнуться по закону Мура? Большая плотность транзисторов означает также повышение производительности (но также и потребления энергии) из-за увеличения числа ядер. Это также означает повышение потребления энергии. В течение последних лет оптимизация потребления энергии стала одной из самых горячих тем проектирования не только устройств с питанием от батареи, но также большого разнообразия устройств в разных областях применения, от домашней электроники до высокопроизводительных компьютеров. ITRS [21] прогнозирует за следующие пять лет двукратное увеличение потребления энергии стационарных бытовых приборов (см. рис. 1.4). Более того, прогнозируется, что потери от утечек и динамическое потребление энергии для таких устройств будут эквивалентны для логической части и для запоминающих устройств. Эти тенденции в сочетании с требованием увеличения производительности превращаются для архитектуры MPSoC в настоящую проблему [5, 4]. Каким образом можно управлять балансировкой потребления энергии/производительностью в конструкциях с многомиллионными транзисторами?
Общепризнано, что современное управление потреблением энергии необходимо для достижения эффективности не только для мобильных устройств, но также и для всех видов электронного оборудования.
Если MPSoC проектируется как энергоэффективная, то ее рабочую среду нельзя рассматривать как статическую. Чтобы понять этот принцип, рассмотрим простой пример прикладных устройств связи четвертого поколения. Для поддержки высокой пропускной способности при плохом качестве каналов передачи даннных требуются алгоритмы оценивания объединенных каналов, для которых нужен большой объем вычислений. Тем не менее, когда мобильный терминал подходит близко к базовой станции для экономии энергии, может быть использована простая схема. Как можно управлять этими изменениями в рабочей среде?
Второй пример условий окружающей среды учитывает технологическую не контролируемость/невоспроизводимость. Закон Мура прогнозирует, что всевозрастающее число транзисторов с улучшенными рабочими характеристиками также несет с собой проблемы неконтролируемости. Неконтролируемость технологического процесса – это явление, всегда присутствующее в процессе изготовления КМОП транзисторов, которое исторически всегда учитывалось с помощью проектного запаса с учетом статистики расхождения между кристаллами кристаллической пластины для интегральной схемы. И по мере сокращения размера
транзисторов и разрастания этого явления копирование с изменчивостью стало настоящей проблемой: описание параметров в пределах одного и того же кристалла теперь стало неоспоримо влиять на работу системы. Под это влияние попали и MPSoC. Например, не все процессорные элементы одной и той же системы в состоянии работать на одной и той же тактовой частоте. В результате этого два экземпляра одной и той же MPSoC часто обладают разными уровнями производительности. Поэтому как могут разработчики гарантировать управление рабочими параметрами при такой их изменчивости в процессе изготовления?
Для улучшения энергоэффективности в динамических средах при наличии неконтролируемости может быть использована способность к самостоятельной адаптации. Другими словами, выходом из этого тупика может служить система, способная к самостоятельной настройке в соответствии с изменениями среды в целом или элементов самой системы с целью выполнения соответствующих требований.
1.4. Усложнение и масштабируемость
Как утверждалось во введении, преимущества, предсказанные законом Мура, способствуют усложнению систем за счет роста числа используемых процессорных элементов. Для того чтобы проиллюстрировать это усложнение, на рис. 1.5 приведены тенденции, которые были получены ITRS [21]: число процессорных ядер в SoC портативной бытовой аппаратуры увеличится примерно в 3,5 раза за следующие пять лет. Более того, размеры памяти и логических устройств будут следовать той же тенденции. В этом контексте можно ли будет управлять более чем шестью сотнями процессоров, появление которых прогнозируется через следующие 10 лет?
Существует проблема, которая лежит в основе преграды в виде сложности системы – масштабируемость. Масштабируемость является свойством системы, которое указывает на ее способность менять масштаб для воплощений в больших размерах. В случае MPSoC это относится к возможности системы увеличивать суммарную вычислительную способность при добавлении ресурсов. Систему, чьи рабочие характеристики улучшаются после добавления аппаратных средств пропорционально производительности добавленных средств, называют масштабируемой системой. Говорят, что алгоритм, конструкция, сетевой протокол, программа или иная система масштабируются, если они не теряют своей эффективности и целесообразны для применения к более крупным объектам.
То, что можно считать хорошим решением сегодня, возможно, не будет хорошим решением уже завтра: конструкции, основанные на платформе и повторном использовании ядра, подвели проектировщиков промышленных систем к некоторым вполне понятным соображениям в отношении производительности и рабочих характеристик. Эти методы проектирования вызывают все больше сомнений и в дальнейшем могут больше не масштабироваться. Одним из основных препятствий является то, что эти решения плохо масштабируются в терминах программного обеспечения и аппаратных средств. Мы твердо верим, что альтернатива возможна на основе масштабируемых аппаратных средств и программного обеспечения. Поэтому распределение функций управления MPSoC является очень важной проблемой.
1.5. Неоднородный и однородный подходы
В контексте использования масштабируемости, связанной с необходимостью самостоятельной адаптации, системы MPSoC становятся все более популярным решением, которое сочетает гибкость программного обеспечения наряду с возможностью существенного повышения быстродействия. Как уже отмечалось во введении, мы будем различать между собой: – неоднородные MPSoC, также называемые многопроцессорным чипом или многоядерными системами: эти системы состоят из процессорных элементов различных типов, таких как один или несколько универсального типа процессоров, процессор для цифровой обработки сигналов (DSP), аппаратные ускорители, периферийное оборудование и модуль межсоединений наподобие NoC;
– однородные MPSoC, которые в этом подходе являются базовыми процессорными элементами со всеми встроенными элементами, требуемыми для SoC: один или несколько процессоров (универсального типа или специализированные), запоминающее устройство и периферийное оборудование.
Эта плитка затем несколько раз задействуется, и все эти элементы соединяются между собой посредством специализированной инфраструктуры связи. По существу, первый подход предлагает наилучший компромисс между производительностью и потреблением энергии, а второй, очевидно, является более гибким и масштабируемым, но в меньшей степени энергоэффективен. Благодаря своей высокой энергоэффективности разнородные MPSoC используются для портативных систем и более универсальных встроенных систем, тогда как однородный подход чаще всего используется в видеоигровых приставках, настольных компьютерах, серверах и при обработке данных на сверхмощных ЭВМ.
1.5.1. Неоднородные MPSo
Неоднородные MPSoC представляют собой комплект соединенных между собой ядер с различными функциональными возможностями. На рис. 1.6 приводится обзор характерных неоднородных MPSoC, состоящих из набора универсальных процессоров (ЦПУ), нескольких ускорителей (видео, аудио и т.д.), элементов памяти, периферийных устройств и инфраструктуры межсоединений.
За рамками аппаратной архитектуры система MPSoC обычно управляет работой нескольких прикладных программ, разделенных на задачи, и операционной системой, управляющей в свою очередь аппаратными и программными средствами с помощью программного обеспечения промежуточного слоя (т.е. драйверами). Рис. 1.7 иллюстрирует схематический вид MPSoC и взаимодействие между программными и аппаратными средствами.
Для того чтобы проиллюстрировать общие принципы, изложенные в предыдущем разделе, мы можем сослаться на Nexperia Philips, или на ST Nomadik, или на хорошо известную платформу TI OMAP, или MPSoC MORPHEUS [22] из Европейского проекта MORPHEUS. Функциональная и структурная неоднородность этих платформ позволяет получать высокую производительность и энергоэффективность, давая возможность их интеграции в портативные устройства, такие как
мобильные телефоны.
Термин «платформа» также придает некоторую гибкость этому подходу. Действительно, с помощью платформ можно настроить систему под специальные прикладные программы благодаря базовой инфраструктуре «процессор – запоминающее устройство – шина» и библиотеке дополнительных ускорителей и периферийного оборудования. Этот подход дает возможность сократить единовременные затраты на проектирование и время, необходимое продукции для выхода на рынок, но также несет с собой ряд недостатков. Его гибкость ограничивается фазой проектирования или в некоторой степени периодом после изготовления, поскольку специальные функциональные способности ускорителей невозможно перенастраивать. Масштабируемость также является проблемой для таких платформ, поскольку требуемая полоса пропускания канала связи зависит от количества и типов ускорителей, и, таким образом, может требоваться некоторая адаптация для каждой конкретной конструкции.
1.5.2. Однородная MPSoC
Как уже отмечалось в предыдущем разделе, разнородные системы MPSoC обеспечивают сегодня наилучший компромисс между производительностью и энергоэффективностью и являются оптимальным решением для встроенных систем, но и они также страдают от ограниченной степени гибкости и масштабируемости.
Альтернатива лежит в построении однородной системы на базе одного и того же программируемого блока, несколько раз подвергаемого обработке. Эту модель архитектуры в литературе часто называют моделью параллельной архитектуры. Параллельные архитектуры особенно обстоятельно изучались в течение последних 40 лет теорией вычислительных систем и проектированием ЭВМ.
В настоящее время интерес к подходам подобного рода растет в связи с использованием встраиваемых систем. Основной принцип архитектуры, которая демонстрирует возможности параллельной обработки данных, основывается на возрастании числа физических ресурсов для распределения между ними необходимого времени выполнения. Теоретически архитектура, выполненная на N процессорных элементах, может обеспечить повышение быстродействия почти в N раз; однако это увеличение быстродействия сложно (или невозможно) получить на практике. Другое преимущество использования многопроцессорных элементов перед однопроцессорными системами состоит в том, что можно соответствующим образом понижать частоту и, как следствие, величину напряжения питания: поскольку потребляемая энергия связана с напряжением квадратичной зависимостью, то это снижение динамического потребления электроэнергии оказывается значительным. Динамическое потребление мощности:
Pдин = α ⋅ Cнагр ⋅ VDD
2 ⋅ Fтакт, где Pдин является динамическим потреблением мощности, α – коэффициент использования цепи, т.e. коэффициент коммутирующей цепи, Cнагр – эквивалентная емкостью цепи, VDD – напряжение питания, а Fтакт – тактовая частота. Предполагая возможность уменьшения тактовой частоты на долю r (0 < r < 1), можно также рассчитывать на такую же долю уменьшения напряжения питания благодаря использованию метода динамического масштабирования напряжения и частоты (DVFS). И окончательно динамическое по требление энергии: Pдин = α ⋅ Cнагр ⋅ (r ⋅ VDD)2 ⋅ (r ⋅ Fтакт); при r = 0,8 динамическое потреблений электроэнергии практически уменьшается вдвое.
Однородные MPSoC, основанные на программируемых параллельных процессах, могут обеспечить производительность благодаря «увеличению быстродействия» и сокращению потребления электроэнергии при снижении рабочей частоты и подачи электроэнергии и могут рассматриваться как реальная альтернатива разнородным MPSoC. Кроме того, присущая им структура обладает большей гибкостью, большей степенью масштабируемости по сравнению с разнородными системами. Эффективное использование параллельности на практике, однако, не является простой задачей; гибкость и масштабируемость также могут быть ограничены из-за нескольких факторов, таких как организация памяти, инфраструктура межсоединений и т.п.
Параллельные архитектуры интенсивно изучались в течение последних 40 лет; в результате имеется большое количество книг и библиографий, связанных с этим вопросом, и поэтому мы сделаем акцент только на общих принципах.
Первая знаменитая классификация была предложена Флинном [23]. Он классифицирует архитектуры в соответствии со связью между обрабатывающими и управляющими блоками. Он определяет четыре модели выполнения: SISD (один поток команд и один поток данных), SIMD (один поток команд, множество по токов данных), MISD (с одним потоком данных и множеством потоков команд) и MIMD (множество потоков данных и множество потоков данных). Модель SISD
является классической моделью фон Неймана [24], в которой один процессорный ресурс, выполняющий одну команду в единицу времени, обрабатывает один поток данных. В архитектуре SIMD один управляющий блок использует все потоки данных и распределяет в них данные для каждого обрабатывающего ресурса.
Архитектура MISD одновременно выполняет несколько команд на одном потокеданных. И, наконец, несколько блоков управления управляют несколькими блоками обработки данных в архитектурах MIMD.
На рис. 1.8 представлена расширенная классификация Флинна с учетом организации памяти, которая может быть использоваться совместно (рис. 1.8a) или быть распределена (рис. 1.8б). В архитектуре совместно используемой памяти процессы (выполняемые различными процессорами) могут легко обмениваться информацией через совместно используемые переменные; однако для этой архитектуры требуются осторожное обращение с синхронизацией и защита памяти.
В архитектуре распределенной памяти требуется инфраструктура связи для соединения обрабатывающих элементов и их запоминающих устройств, которое даст возможность обмениваться информацией.
На основе организации памяти и управления рис. 1.9 отображает классификацию архитектур с параллельной обработкой данных. В этой классификации раз деляются централизованное (SIMD) и децентрализованное управление (MIMD), а также совместно используемая и распределенная память.
Важно обратить внимание, что организация управления и памяти обеспечивает различные компромиссы между масштабируемостью и управляемостью системы. Например, архитектура на основе полностью распределенного управления и организации памяти будет обеспечивать большую степень масштабируемости, но меньшую степень гибкости в управлении, чем архитектура, основанная на централизованном управлении и совместном использовании памятью.
1.6. Оптимизация при наличии многих переменных
Благодаря повышению сложности архитектуры MPSoC ее оптимизация стала настоящей проблемой, поскольку она может преследовать многочисленные противооположные цели: производительность прикладной программы, потребление электроэнергии, температуру, балансирование нагрузки и т.п. В литературе описано несколько разработанных методов для решения этой проблемы. Классические подходы являются статическими и не нацелены на оптимизацию системы во время ее разработки. Последние методы применяются в оперативном режиме и пытаются адаптировать систему динамически. Наиболее современные методы стремятся использовать преимущества распределенного решения процессорных элементов для повышения масштабируемости системы.
1.6.1. Статическая оптимизация
Что касается MPSoC, то статическая оптимизация является способом улучшения системы во время проектирования. Несколько авторов предложили метод статической оптимизации для повышения энергоэффективности. Например, в [25] авторы используют генетические алгоритмы для решения задачи по оптимизации системы в процессе ее проектирования. Они исследовали метрики, включающие трафик линии связи, коэффициент использования памяти и пропускную способность.
В [26] авторы анализируют три статических метода оптимизации: «жадный» алгоритм, алгоритм запрещенного поиска и метод имитации отжига. Построение графика выполнения задач при минимальном потреблении электроэнергии и соблюдении некоторых временных ограничений изучается как часть процесса использования пространства проектных параметров. Во первых, описание системы разлагается на графы синхронного потока данных (SDF) [27] в одночастотной области, включающей временные ограничения. Затем предлагается расширение традиционного SDF до графов многочастотной области.
В [28] статический подход, основанный на линейных моделях, предлагается для оптимизации потребления электроэнергии при соблюдении ограничений в режиме реального времени. Рассмотрена задача выбора наилучшей рабочей частоты для каждого блока распределенного проектирования. Автор моделирует набор фреймовых конвейерных приложений, используя графы SDF. Затем приложения наносятся на распределенную платформу, интегрирующую мелкоструктурные DVFS.
1.6.2. Динамическая оптимизация
При статической оптимизации всегда требуется принимать решения на этапе проектирования. Однако с учетом роста неопределенности технологий реализации и используемых сценариев таких систем динамическая оптимизация становится необходимой для осуществления гибких подходов и надежных конструкций [29]. Централизованные и распределенные подходы излагаются в следующих разделах.
1.6.2.1. Централизованные подходы
В противоположность статической оптимизации, динамические подходы предоставляют возможность приспособления. На рис. 1.10 приведен схематический вид распространенных динамических подходов, используемых для MPSoC, – оптимизация централизованной подсистемы, которая отвечает за управление системой в целом. Она анализирует глобальную информацию и оптимизирует каждый процессорный элемент в системе.
В работе [30] рассматривается выбор частоты и напряжения для систем GALS на основе VFI. Централизованный метод, основанный на нелинейной оптимизации Лагранжа, используется для выбора частот и напряжений. Они представляют статический и динамический алгоритмы. Кроме того, авторы утверждают, что в системах со скрытыми ограничениями определение оптимальных значений напряжения потребует решений глобальной стратегии.
Аналогичным образом в [31, 32] авторы предлагают централизованное управление потреблением электроэнергии с помощью моделей, основанных на законе Кирхгоффа для тока. Они показали, что если локальное рассеяние тепла каждого процессорного элемента можно минимизировать с помощью методов DVS, основанных на прогнозируемых значениях рабочей нагрузки, то эти локальные минимумы обычно не совпадают с положением глобального минимума.
Кроме того, глобальный минимум может быть получен с учетом зависимостей относительного отсчета времени всех задач, выполняемых в системе. Их подход основывается на блоке оперативного глобального управления потребляемой энергией, который контролирует процессорные элементы с помощью источника питания и тактового генератора. Блок-схема этого подхода приводится на рис. 1.11. Авторы используют аналогию между задачей минимизации потребления энергии при наличии временных ограничений в общем графе и задачей минимизации потребления энергии при наличии ограничений в виде закона Кирхгоффа для тока в эквивалентной резистивной цепи.
В работе [33] авторы используют выпуклую оптимизацию для присваивания частоты с учетом температуры на MPSoC. Во первых, они представляют температурную модель всей системы. Затем эта задача формулируется для установившегося и динамического состояний: назначение частоты каждому процессору, поддержание температуры и потребления энергии ниже установленных пользователем пороговых значений. В установившемся состоянии частота и напряжение назначаются один раз и остаются постоянными, не используя преимущества DVFS. В динамическом состоянии частота и напряжение изменяются со временем для лучшей оптимизации производительности системы.
Авторы формулируют оба сценария как задачи выпуклой оптимизации. За тем они предлагают процедуры оптимизации для установившегося и динамического состояний. Для случая динамического состояния используется двух этапный алгоритм. При этом авторы только приводят математическую формулировку процедуры. Используя программу Matlab для выпуклой оптимизации, они показали в этой работе решение иллюстративного сценария. Те же авторы предлагают в [34] с помощью метода выпуклой оптимизации предварительно рассчитывать некоторые значимые решения на этапе проектирования и осуществлять контроль для оперативного выбора наилучшего решения для каждого случая в процессе работы. На рис. 1.12 приводится схема для составления таблицы в период проектирования.
В [35] авторы анализируют некоторые исследования для энергоэффективного планирования в системах реального времени на платформах, интегрирующих DVFS. После длительного анализа используемых методов для однопроцессорных систем в этой статье многопроцессорные платформы делятся на однородные и неоднородные. Для платформ первого типа кратко описываются некоторые методы, применяемые для планирования фреймовых задач в режиме реального времени, периодического планирования в режиме реального времени, планирования энергоэффективности с учетом утечек и планирования использования резервного времени.
Для случая неоднородных систем представлено несколько методов для периодических задач реального времени и минимизации затрат при ограничениях на энергопотребление.
В [36] обсуждается эвристический подход для оптимального расположения задач в неоднородных MPSoC на базе NoC. Существует несколько подходов, в которых задачи перемещаются для уравновешивания рабочей нагрузки вычислений и равномерного рассеяния энергии, как это описано, например, в [37]. В некотором смысле, согласно [38], исключение горячих точек и регулирование теплового градиента стало важной задачей оптимизации в отношении надежности MPSoC.
В [38] авторами анализируются динамические программы планирования задач и распределения ресурсов на основе операционных систем (OС), которые используются для управления тепловым режимом MPSoC. В [39], кроме того, минимизируются тепловые градиенты. Они делают акцент на MPSoC, в которых рабочая нагрузка неизвестна априори и в общем случае нелегко предсказуема. Приэтом предлагается основанная на ОС политика перемещения задач и планирования работы, которая оптимизирует тепловой профиль чипа за счет балансировки системной нагрузки. Авторы заявляют о значительном сокращении временных и пространственных колебаний температуры.
В [40, 41] авторы предлагают в период проектирования определять оптимальные по Парето характеристики в сочетании с оперативным управлением. Во первых, они предлагают выполнить многомерную оптимизацию на этапе проектирования. Многомерное пространство включает затраты (например, на потребление энергии), ограничения (например, на производительность) и задействованные ресурсы платформы (например, используемую память, процессоры, тактовые генераторы, полосу пропускания канала связи). Несложные устройства управления процессом работы, используемые ОС, принимают наиболее важные решения во время второй фазы.
В [42] рассматривается, как можно оперативно выбрать энергоэффективное распределение ресурсов на неоднородных многопроцессорных платформах. С учетом того, что могут быть различные варианты реализации одной и той же прикладной программы и что выбранный вариант должен удовлетворять предельным срокам ее выполнения при имеющихся ресурсах платформы, авторы предлагают использовать NP трудную модель для решения проблемы выбора – так называемую многомерную многовариантную задачу о ранце. Для нахождения решения, близкого к оптимальному, они предложили использование ОС на эвристической основе.
1.6.2.2. Распределенные подходы
С прогнозируемыми сотнями процессорных элементов (PE) масштабируемость так же является значительной проблемой для оптимизации процесса. По этой причине предлагается альтернативный подход для оптимизации процесса с помощью распределения ресурсов. Статическая оптимизация не обеспечивает адаптивность в процессе работы. В противоположность ей существующие динамические подходы обеспечивают способность реагирования во время работы на смену условий, но они являются централизованными решениями. Они не в состоянии обеспечить масштабирование, поскольку они не основываются на распределенных решениях.
Альтернативными для централизованных подходов являются решения, которые учитывают распределенные алгоритмы. Один интересный подход состоит в использовании архитектуры, представленной на рис. 1.13: каждый процессорный элемент MPSoC использует встроенную подсистему оптимизации, которая основывается на распределенном алгоритме. Эта подсистема управляет локальными исполнительными механизмами (на этом рис. это DVFS), учитывая рабочие условия. Другими словами, цель состоит в использовании распределенного алгоритма динамической оптимизации.
Во избежание образования точек с повышенной температурой и регулирования температуры плиток динамическое масштабирование пары напряжение–частота (DVFS) может быть использовано на уровне процессорных элементов. На системном уровне это подразумевает динамическое управление различными парами напряжений–частот каждого процессорного элемента с целью получения глобальной оптимизации. В работе [43] представлен оригинальный подход на базе теории игр, в котором происходит оперативная настройка частоты каждого процессорного элемента. Он преследует цель уменьшить температуру плитки при одновременном сохранении синхронизации между задачами графа приложения.
Предполагается использование полностью распределенной схемы для возможности построения масштабируемого механизма. Результаты показывают, что предложенный оперативный алгоритм находит решения в нескольких вычислительных циклах, достигая снижения температуры на 23%. В [44] приведенные результаты показывают, что предложенный алгоритм оперативной оптимизации требует в среднем 20 вычислительных циклов, для того чтобы найти решение для 100 процессорной платформы, и достигает при этом эквивалентных рабочих показате
лей при сравнении с автономным методом.
В работе [45] этот адаптивный метод используется для сокращения потребления электроэнергии. Он оптимизирует частоты локальных процессоров при выполнении использующихся оперативных ограничений. Полученный выигрыш в потреблении электроэнергии при проведении теста связи составил от 10 до 25%, тогда как время отклика на временные изменения, вызванные перестройкой кон фигурации прикладной программы, составило менее 25 мс.
1.7. Статическая и динамическая оптимизации в централизованном и распределенном
подходах
Табл. 1.1 подытоживает методы оптимизации, описанные в предыдущем разделе.
Было рассмотрено несколько подходов, представляющих направления оптимизации MPSoC. Таблица позволяет производить количественное сравнение разных методов. Эти методы сравниваются в отношении автономной и динамической фаз, их сложности и их осуществления (централизованный или распределенный подходы). Подходы, представленные в [34, 33] и [30], имеют сложную фазу автономной оптимизации. В [40, 41, 42] основная часть оптимизации проводится на этапе проектирования. Эти подходы едва ли можно использовать оперативно из-за их очень высокой сложности.
Решение, предложенное в [30, 32], использует подсистемы динамической оптимизации с низким уровнем сложности. Аналогичным образом подходы [38, 39] и [40, 41, 42] обеспечивают управление во время работы программ. Тем не менее, все эти подходы не справляются с учетом распределения. Когда используются варианты реализации на основе ОС ([38, 39] и [41, 42, 43]), становится возможным использовать распределенную систему. Однако мы не будем рассматривать такие подходы, поскольку они не основываются на распределенных моделях. Подход, основанный на теории игр [44, 45], по своей природе основывается на распределенной модели, которая улучшает масштабируемость системы. Более того, этот низкого уровня сложности метод может быть легко использован в оперативном режиме, который подразумевает хорошую адаптивность, требуемую динамическими системами.
И, наконец, табл. 1.1 также сравнивает количественные показатели, использованные в каждом случае. Несложно заметить, что далеко не каждый подход включает накладываемые ограничения, но все они предлагают многоцелевую оптимизацию. Некоторые из этих моделей могут быть использованы повторно в новых формулировках задач оптимизации.
1.8. Выводы
В настоящее время полупроводники претерпевают глубокие изменения, вызванные несколькими факторами, такими как приближение к границам возможностей кремниевых КМОП технологий, а также неадекватность компьютерных моделей, использованных до настоящего времени. Эти изменения требуют разработки новых подходов в проектировании и программировании будущих интегральных схем. Поэтому параллелизм представляется единственным решением в борьбе с всевозрастающим требованием повышения производительности. Решения, предлагаемые в литературе, часто предполагают наличие у системы возможностей принимать оперативные решения для преодоления этих проблем, таких как масштабирование напряжения питания и частоты для повышения энергоэффективности, или тестирования цепи для выявления неисправных компонент и исключения их из функциональных ресурсов.
Конечно же, системы MPSoC являются естественной целью для внедрения этих технологий в практику: при условии соблюдения ими некоторых проектных норм они в состоянии обеспечить масштабирование с точки зрения рабочих характеристик. Более того, поскольку они по существу представляют собой распределенные архитектуры, то они также будут приспосабливаться к локально контролируемым и регулируемым параметрам системы.
В этой главе были рассмотрены многопроцессорные системы и сделан обзор модели, которая, как мы надеемся, представляет собой завтрашние MPSoC системы. Из важных характеристик, которые были рассмотрены нами, наиболее важными являются гибкость, масштабируемость и способность к адаптации, если рассматривать децентрализованное управление, однородные или неоднородные матрицы процессорных элементов, распределенную память, масштабируемую сеть связи NoC типа.
И, наконец, мы считаем, что способность к адаптации в ближайшем будущем найдет самое широкое применение в этой области. И не только из-за упоминавшихся здесь ограничений, таких как метод линейного сжатия, потребление энергии и надежность, но также потому, что использование компьютеров, несомнен но, становится всеобъемлющим. Всеобъемлющее использование компьютеров или компьютеризованная окружающая среда является областью исследований, которая сама по себе в основном использует архитектуру, самостоятельно адаптирующуюся ко многим меняющимся со временем сценариям выполнения заданий. Будь то мобильные датчики, размещенные для оперативного контроля различных природных явлений, или компьютерные устройства, встроенные в одежду (носимые компьютерные устройства), подобные системы должны преодолевать многие ограничения, такие как ограниченный бюджет энергопотребления, оперативная совместимость, проблемы связи и, наконец, масштабируемость.
Терминологический словарь
SoC Система на чипе
MPSoC Многопроцессорная система на чипе
NoC Сеть на чипе
HPC Высокопроизводительные вычислительные системы
ASIC Специализированная интегральная цепь
PE Процессорный элемент
SW Программное обеспечение
HW Аппаратные средства
OMAP Открытая платформа мультимедийных приложений
DVFS Динамическое масштабирование напряжения и частоты
GALS Глобально асинхронная локально синхронная система
NI Сетевые интерфейсы
VFI Острова напряжения/частоты
ITRS Международный план развития полупроводниковых технологий
CPU Центральное процессорное устройство
SISD Один поток команд один поток данных
SIMD Один поток команд многочисленные потоки данных
MISD Многочисленные команды при одном наборе данных
MIMD Многочисленные команды при многочисленных наборах данных
OS Операционная система
Литература
1. Ahmed Jerraya and Wayne Wolf. Multiprocessor Systems on Chips. Elsevier Inc, 2004.
2. Wayne Wolf, Ahmed Jerraya, and Grant Martin. Multiprocessor system on chip (MPSoC)
technology. Computer Aided Design of Integrated Circuits and Systems, IEEE
Transactions on, 27(10): 1701–1713, Oct. 2008.
3. Wayne Wolf. The future of multiprocessor systems on chips. In DAC ’04: Proceedings of
the 41st annual Design Automation Conference, pages 681–685, New York, NY, USA,
2004. ACM.
4. Freescale Semiconductor, Inc. C 5 Network Processor Architecture Guide, 2001. Ref.
manual C5NPD0 AG http://www.freescale.com.
5. S. Dutta, R. Jensen, and A. Rieckmann. Viper: A multiprocessor SOC for advanced set
top box and digital TV systems. Design & Test of Computers, IEEE, 18(5): 21–31, Sep.–
Oct. 2001.
6. Texas Instruments Inc. OMAP5912 Multimedia Processor Device Overview and
Architecture Reference Guide, 2006. Tech. article SPRU748C. http://www.ti.com.
7. B. Ackland, A. Anesko, D. Brinthaupt, S.J. Daubert, A. Kalavade, J. Knobloch, E. Micca,
M. Moturi, C.J. Nicol, J.H. O’Neill, J. Othmer, E. Sackinger, K.J. Singh, J. Sweet, C.J.
Terman, and J. Williams. A single chip, 1.6 billion, 16 b MAC/s multiprocessor DSP.
Solid State Circuits, IEEE Journal of, 35(3): 412–424, Mar. 2000.
8. P. Guerrier and A. Greiner. A generic architecture for on chip packet switched inter
connections. In DATE ’00: Proceedings of the 2000 Design, Automation and Test in
Europe Conference and Exhibition, pages 250–256, 2000.
9. William J. Dally and Brian Towles. Route packets, not wires: on chip inteconnection
networks. In DAC ’01: Proceedings of the 38th Design Automation Conference, pages
684–689, New York, NY, USA, 2001. ACM.
10. L. Benini and G. De Micheli. Networks on chips: a new SoC paradigm. IEEE Computer,
35 (1): 70–78, Jan 2002. [cited at p. 3].
11. Tobias Bjerregaard and Shankar Mahadevan. A survey of research and practices of
Network on chip. ACM Comput. Surv., 38(1): 1, 2006.
12. Partha Pratim Pande, C. Grecu, M. Jones, A. Ivanov, and R. Saleh. Performance evaluation
and design trade offs for network on chip interconnect architectures. Computers, IEEE
Transactions on, 54(8): 1025–1040, Aug. 2005.
13. D.Bertozziandб L.Benini. Xpipes: a network on chip architecture for giga scale systems
on chip. Circuits and Systems Magazine, IEEE, 4(2): 18–31, 2004.
14. E. Beignґe, F. Clermidy, P. Vivet, A. Clouard, and M. Renaudin. Asynchronous NOC
Architecture Providing Low Latency Service and Its Multi Level Design Framework. In
ASYNC ’05: Proceedings of the 11th IEEE International Symposium on Asynchronous
Circuits and Systems, pages 54–63, Washington, DC, USA, 2005. IEEE Computer Society.
15. J. Pontes, M. Moreira, R. Soares, and N. Calazans. Hermes glp: A gals network on chip
router with power control techniques. In Symposium on VLSI, 2008. ISVLSI ’08. IEEE
Computer Society Annual, pages 347–352, April 2008.
16. Umit Y. Ogras, Radu Marculescu, Puru Choudhary, and Diana Marculescu. Voltage –
frequency island partitioning for GALS based Networks on Chip. In DAC ’07:
Proceedings of the 44th Annual Design Automation Conference, pages 110–115, New
York, NY, USA, 2007. ACM.
17. James Donald and Margaret Martonosi. Techniques for multicore thermal management:
Classification and new exploration. In ISCA ’06: Proceeding of the 33rd International
Symposium on Computer Architecture, pages 78–88, 2006.
18. Edith Beigne, Fabien Clermidy, Sylvain Miermont, and Pascal Vivet. Dynamic voltage
and frequency scaling architecture for units integration within a gals noc. In NOCS, pages
129–138, 2008.
19. Edith Beigne, Fabien Clermidy, Sylvain Miermont, Alexandre Valentian, Pascal Vivet,
S. Barasinski, F. Blisson, N. Kohli, and S. Kumar. A fully integrated power supply unit for fine
grain dvfs and leakage control validated on low voltage srams. In ESSCIRC’08: Proceeding
of the 34th European Solid State Circuits Conference, Edinburg, UK, Sept. 2008.
20. G. E. Moore. Cramming More Components onto Integrated Circuits. Electronics, 38(8):
114–117, April 1965.
21. The International Technology Roadmap for Semiconductors. International Technology
Road map for Semiconductors 2008 Update Overview. http://www.itrs.net.
22. Davide Rossi, Fabio Campi, Antonello Deledda, Simone Spolzino and Stefano Pucillo,
A Heterogeneous Digital Signal Processor Implementation for Dynamically
Reconfigurable Computing, IEEE Custom Integrated Circuits Conference (CICC).
September 13–16 2009,
23. M. Flynn. Some Computer Organizations and Their Effectiveness, IEEE Trans. Computer,
vol. 21, pp. 948, 1972.
24. A. W. Burks, H. Goldstine, and J. von Neumann. Preliminary Discussion of the Logical
Design of an Electronic Computing Instrument, Inst. Advanced Study Rept., vol. 1, June,
1946.
25. Issam Maalej, Guy Gogniat, Jean Luc Philippe, and Mohamed Abid. System Level Design
Space Exploration for Multiprocessor System on Chip. In ISVLSI ’08: Proceedings of
the 2008 IEEE Computer Society Annual Symposium on VLSI, pages 93–98, Washington,
DC, USA, 2008. IEEE Computer Society.
26. Bastian Knerr, Martin Holzer, and Markus Rupp. Task Scheduling for Power Optimisation
of Multi Frequency synchronous Data Flow Graphs. In SBCCI ’05: Proceedings of the
18th annual symposium on Integrated circuits and system design, pages 50–55, New York,
NY, USA, 2005. ACM.
27. Edward Ashford Lee and David G. Messerschmitt. Static scheduling of synchronous data
flow programs for digital signal processing. IEEE Trans. Comput., 36(1): 24–35, 1987.
28. Philippe Grosse, Yves Durand, Paul Feautrier: Methods for power optimization in SOC
based data flow systems. ACM Trans. Design Autom. Electr. Syst. 14(3): (2009).
29. A. K. Coskun, T. Simunic Rosing, K. Mihic, G. De Micheli, and Y. Leblebici. Analysis
and Optimization of MPSoC Reliability. Journal of Low Power Electronics, 2(1): 56–69,
2006.
30. Koushik Niyogi and Diana Marculescu. Speed and voltage selection for GALS systems
based on voltage/frequency islands. In ASP DAC ’05: Proceedings of the 2005 Conference
on Asia South Pacific Design Automation, pages 292–297, New York, NY, USA, 2005.
ACM.
31. Zeynep Toprak Deniz, Yusuf Leblebici, and Eric Vittoz. Configurable On Line Global
Energy Optimization in Multi Core Embedded Systems Using Principles of Analog
Computation. In IFIP 2006: International Conference on Very Large Scale Integration,
pages 379–384, Oct. 2006.
32. Zeynep Toprak Deniz, Yusuf Leblebici, and Eric Vittoz. On Line Global Energy
Optimization in Multi Core Systems Using Principles of Analog Computation. In
ESSCIRC 2006: Proceedings of the 32nd European Solid State Circuits Conference, pages
219–222, Sept. 2006.
33. Srinivasan Murali, Almir Mutapcic, David Atienza, Rajesh Gupta, Stephen Boyd, and
Giovanni De Micheli. Temperature aware processor frequency assignment for MPSoCs
using convex optimization. In CODESюISSS ’07: Proceedings of the 5th IEEE/ACM
International Conference on Hardware/Software Codesign and System Synthesis, pages
111–116, New York, NY, USA, 2007. ACM.
34. Srinivasan Murali, Almir Mutapcic, David Atienza, Rajesh Gupta, Stephen Boyd, Luca
Benini, and Giovanni De Micheli. Temperature control of high performance multi core
platforms using convex optimization. In DATE’08: Design, Automation and Test in
Europe, pages 110–115, Munich, Germany, 2008. IEEE Computer Society.
35. Jian Jia Chenand Chin Fu Kuo. Energy Efficient Schedulingfor Real Time Systems
on Dynamic Voltage Scaling (DVS) Platforms. In RTCSA ’07: Proceedings of the
13th IEEE International Conference on Embedded and Real Time Computing Sys
tems and Applications, pages 28–38, Washington, DC, USA, 2007. IEEE Computer
Society.
36. Ewerson Carvalho, Ney Calazans, and Fernando Moraes. Heuristics for dynamic task
mapping in noc based heterogeneous MPSoCs. In RSP ’07: Proceedings of the 18th IEEE/
IFIP International Workshop on Rapid System Prototyping, pages 34–40, Washington,
DC, USA, 2007. IEEE Computer Society.
Уважаемый читатель!
На сегодняшний день перед лицом разработчиков высокопроизводительных вычислительных систем встает вопрос о выборе направления в развитии. Стандартные подходы по увеличению производительности почти исчерпали весь свой потенциал. Так, масштабирование размеров отдельных элементов близко к фундаментальным ограничениям, а увеличение частоты приводит к слишком высокому рассеиванию тепла и большому потреблению энергии. Все это заставляет искать новые решения по развитию вычислительных систем.
Данная книга позволяет читателю познакомиться с новой ветвью в развитии вычислительных систем – многопроцессорными системами на одном кристалле.
Авторы книги знакомят читателей не только с работами передовых научно-исследовательских коллективов и академических сообществ, но также с результатами многолетнего труда ведущих компаний – изготовителей высокопроизводительных систем, таких как Motorolla, Intel, Nvidia и многих других.
В данной книге проводится обзор методов построения новых вычислительных систем, также представлены направления их развития, вводятся требования к системам межсоединений и системам арбитража, предлагаются принципы построения программного обеспечения. Что очень важно, на мой взгляд, – в книге представлены варианты построения систем с возможностью динамической подстройки под вычислительные нагрузки и предложены идеи по их программированию.
Несомненным достоинством данной книги является последовательность и удобство изложения материала, что делает ее удобной для чтения и обучения. Эта книга будет интересна для программистов, разработчиков встроенных систем, академических исследователей, энтузиастов электроники и всех тех, кто хочет познакомиться с миром многопроцессорных систем.
Немудров В.Г.
директор ФГУП «НИИМА «Прогресс»,
доктор технических наук, профессор
Предисловие
В следующее десятилетие, исходя из-закона Мура, мы все еще рассчитываем
на повышение плотности расположения транзисторов, объединяя миллиарды
транзисторов на одном кристалле. Однако все более очевидным становится то, что применение большого объема параллелизма на уровне команд с глубокими конвейерами и более агрессивными суперскалярными технологиями широкого запуска операций исполняемой многооперационной команды, а также использованием основной части потенциала транзистора для кэш-памяти на кристалле зашло в тупик. В особенности становится все более затруднительной масштабируемая производительность с высокими тактовыми частотами из-за проблем с рассеянием тепла и слишком высокого потребления энергии.
Последнее обстоятельство не только относится к техническим проблемам для мобильных систем, но даже может стать серьезной проблемой для вычислительных центров в связи с высоким уровнем потребления энергии, ведущим к значительным индексам стоимости в бюджете. Улучшение рабочих характеристик может быть достигнуто за счет использования параллелизма на всех уровнях системы.
Поэтому для высокопроизводительных вычислительных систем, для высоко- производительных серверов, а также для встроенных систем происходит масштабное смещение концептуального подхода в отношении мультиядерных архитектур. Интеграция многочисленных ядер на одном кристалле ведет к существенному повышению производительности без увеличения тактовой частоты. Мультиядерные архитектуры обеспечивают большее отношение производительности к потребляемой мощности, чем одноядерные архитектуры с аналогичной производительностью.
Сочетание мультиядерной и сопроцессорной технологий обещает чрезвычайно высокую производительность выполнения расчетов для приложений с высоким потреблением времени ЦПУ, таких как научные расчеты и приложения специального назначения в области встроенных систем. Основанные на ППВМ программы ускоренной обработки не только дают возможность ускорения приложений за счет внедрения требующего большого объема вычислений ядер в аппаратные средства, но также используются для адаптации к динамическому поведению программ.
Целью этой книги является оценивание стратегий для разработки будущих систем в архитектуре многопроцессорных систем на одном кристалле (MPSoC). В книге будут рассматриваться оба аспекта: разработка аппаратных средств и интеграция инструментов в существующее развитие инструментов. Кроме того, к темам этой книги относятся новые тенденции в развитии MPSoC в сочетании с перенастраиваемой архитектурой. Основной акцент делается на архитектуры, ход проектирования, разработку инструментов, прикладных программ и проектирование систем.Нам приятно выразить благодарность авторам и соавторам за их выдающийся вклад, который они внесли в подготовку этой книги. Кроме того, мы хотим выразить благодарность команде издательства Springer, а именно Аманде Дэвис, Чарльзу Глэйзеру и Еве Руби за их большую поддержку и терпение.
Юрген Бекер,
Майкл Хюбнер
г. Карлсруэ, Германия
ГЛАВА 1
Введение в мультиядерные системы на одном кристалле: тенденции и проблемы развития
Лионель Торрес, Паскаль Бену, Жиль Сассателли, Майкл Роберт, Фабиан Клермиди и Диего Пуччини
1.1. От систем на одном кристалле (SoC) к многопроцессорным системам
на одном кристалле (MPSoC)
Эмпирический закон Мура не только описывает увеличение плотности транзисторов, которое допускает технический прогресс. Он также выдвигает новые требования и порождает новые проблемы. Сложность систем увеличивается с такой же скоростью. Современные системы никогда не смогли бы быть спроектированы с применением тех же подходов, которые использовались 20 лет назад. Постоянно должны осваиваться новые архитектуры. Теперь стало ясно, что закон Мурадля последних двадцати лет породил три основные революции. Первая революция, которая произошла в середине восьмидесятых, была способом встраивать все большее число электронных устройств в один и тот же кремниевый кристалл; это была эра систем на одном кристалле. Одна из основных проблем состояла в способе эффективного соединения всех этих элементов между собой (межсоединений). Для этих целей длительное время использовались шины межсоединений.
И все же в середине девяностых промышленная и академическая общественность столкнулась с новой проблемой, когда число ядер для обработки данных стало слишком большим для их взаимного использования одной средой связи. Появились новые схемы межсоединений, которые основываются на сетевых матрицах связи, так называемые сети на кристалле; за последние десять лет интенсивные усилия по исследованиям привели к существенным улучшениям в этой области. Последний прорыв в начале 2000-х годов был обусловлен необходимостью межсоединений нескольких процессоров на одном и том же кристалле. Ранее разработанные системы использовали один встроенный процессор, управляющий кристаллом, а многочисленные управляющие процессоры теперь должны были распределять между собой централизованное управление. Появились первые многопроцессорные системы на одном кристалле (MPSoC) [1]. Они комбинировали несколько встроенных процесcоров, запоминающих устройств и специализированных схем (ускорителей, входов/выходов), которые соединялись между собой с помощью выделенных инфраструктур для обеспечения полностью интегрированной системы. В противоположность SoC MPSoC содержали два и более главных процессора, управляющих при кладным процессом, достигая повышенной производительности. С тех пор было разработано значительное число исследовательских и промышленных проектов [2].
Они стали появляться на рынке и, как ожидается, станут широкодоступными в еще большем разнообразии в следующие несколько лет [3].
Теперь понятно, что эта третья революция радикально изменит способ при менения архитектуры системы на кристалле. На рис. 1.1 подводится итог этих трех революций, которые произошли менее чем за 20 лет.
1.2. Общее устройство MPSo
В этом разделе приводится описание типичной MPSoC, рассматриваются только ключевые элементы с целью формулировки обоснованных предположений отноcительно ее архитектуры. В общем случае MPSoC состоит из нескольких процессорных элементов (PE), связанных с помощью структуры межсоединений, которая приводится на рис. 1.2.
1.2.1. Процессорные элемент
Процессорные элементы MPSoC зависят от контекста прикладной программы и соответствующих требований. Мы различаем два семейства архитектур. С одной стороны, это гетерогенные MPSoCs, составленные из различных PE (процессоров, запоминающих устройств, ускорителей и периферийного оборудования).
Эти платформы, безусловно, являются пионерами: сетевой процессор C 5 [4], Nexperia [5] и OMAP [6], представленные в [2]. Второе семейство представляет однородные многопроцессорные системы на одном кристалле (MPSoC), впервые использованные архитектурой Lucent Daytona [2, 7], в которой одна и та же плитка задействована несколько раз. Эта глава посвящена обоим семействам, и на рис. 1.2 представлена как однородная, так и неоднородная (гетерогенная) их структура. К примеру, в многочисленных работах считается, что процессоры, а также гибкие аппаратные средства, такие как перенастраиваемые матрицы, составляют гетерогенные PE.
1.2.2. Межсоединение
Описанные ранее процессорные элементы (РЕ) чаще всего соединяются между собой с помощью сети на кристалле (NoC) [8–11]. Сеть NoC включает в себя сетевые интерфейсы (NI), узлы маршрутизации и линии связи. NI осуществляет сопряжение между средой межсоединений и доменом PE. Он разделяет вычисления от функций связи. Узлы маршрутизации, которые также называют роутерами, которые несут ответственность за прокладку маршрута через эти линии свя
зи, управляют передачей данных между исходящим и адресным PE. Были изучены несколько сетевых топологий [12, 13]. Рис. 1.2 представляет двумерную сетку межсоединений. Выбранный размер предложенной пропускной способности связи должен быть достаточным для набора адресного приложения.
NoC облегчают разработку глобально асинхронного локально синхронного (GALS) свойства путем использования в NI асинхронно синхронных интерфейсов [14, 15]. На рис. 1.2 приведен пример асинхронного маршрутизатора для подчеркивания этого свойства.
1.2.3. Управление потреблением энергии
Одной из основных проблем для встроенных систем сегодня является обеспечение их энергоэффективности. Особенность GALS позволяет выполнять разбиение MPSoC на несколько островков напряжения/частоты (VFI) [16]. В этом при мере каждый VFI содержит PE, синхронизированный на заданную частоту и напряжение. Этот подход позволяет управлять потреблением энергии на мелкоструктурном уровне [17]. Как и в [18, 19], мы считаем, что MPSoC использует распределенное масштабирование динамического напряжения и частоты (DVFS): каждый PE включает устройство DVFS. Оптимизация использования энергии состоит в настройке напряжения и частоты каждого PE с целью балансировки расхода энергии и производительности. В более современных MPSoC используется набор датчиков, встроенных внутри каждого PE, которые обеспечивают информацией о потребляемой энергии, температуре, производительности или любом другом показателе, необходимом для управления DVFS. В любом случае из-за добавления выделенных схем во многих MPSoC используется управление электропитанием на более грубом структурном уровне, которое включает многочисленные PE в одном VFI, обеспечивая совсем другой уровень управления потреблением энергии.
1.3. Энергоэффективность и способность к перенастройке
Как уже упоминалось во введении, MPSoC подчиняются закону Мура [20]. Этот эмпирический закон демонстрирует свою правоту в течение нескольких последних десятилетий. На рис. 1.3 приведено несколько примеров процессоров с числом задействованных транзисторов. Что касается MPSoC, то с какими именно проблемами предстоит столкнуться по закону Мура? Большая плотность транзисторов означает также повышение производительности (но также и потребления энергии) из-за увеличения числа ядер. Это также означает повышение потребления энергии. В течение последних лет оптимизация потребления энергии стала одной из самых горячих тем проектирования не только устройств с питанием от батареи, но также большого разнообразия устройств в разных областях применения, от домашней электроники до высокопроизводительных компьютеров. ITRS [21] прогнозирует за следующие пять лет двукратное увеличение потребления энергии стационарных бытовых приборов (см. рис. 1.4). Более того, прогнозируется, что потери от утечек и динамическое потребление энергии для таких устройств будут эквивалентны для логической части и для запоминающих устройств. Эти тенденции в сочетании с требованием увеличения производительности превращаются для архитектуры MPSoC в настоящую проблему [5, 4]. Каким образом можно управлять балансировкой потребления энергии/производительностью в конструкциях с многомиллионными транзисторами?
Общепризнано, что современное управление потреблением энергии необходимо для достижения эффективности не только для мобильных устройств, но также и для всех видов электронного оборудования.
Если MPSoC проектируется как энергоэффективная, то ее рабочую среду нельзя рассматривать как статическую. Чтобы понять этот принцип, рассмотрим простой пример прикладных устройств связи четвертого поколения. Для поддержки высокой пропускной способности при плохом качестве каналов передачи даннных требуются алгоритмы оценивания объединенных каналов, для которых нужен большой объем вычислений. Тем не менее, когда мобильный терминал подходит близко к базовой станции для экономии энергии, может быть использована простая схема. Как можно управлять этими изменениями в рабочей среде?
Второй пример условий окружающей среды учитывает технологическую не контролируемость/невоспроизводимость. Закон Мура прогнозирует, что всевозрастающее число транзисторов с улучшенными рабочими характеристиками также несет с собой проблемы неконтролируемости. Неконтролируемость технологического процесса – это явление, всегда присутствующее в процессе изготовления КМОП транзисторов, которое исторически всегда учитывалось с помощью проектного запаса с учетом статистики расхождения между кристаллами кристаллической пластины для интегральной схемы. И по мере сокращения размера
транзисторов и разрастания этого явления копирование с изменчивостью стало настоящей проблемой: описание параметров в пределах одного и того же кристалла теперь стало неоспоримо влиять на работу системы. Под это влияние попали и MPSoC. Например, не все процессорные элементы одной и той же системы в состоянии работать на одной и той же тактовой частоте. В результате этого два экземпляра одной и той же MPSoC часто обладают разными уровнями производительности. Поэтому как могут разработчики гарантировать управление рабочими параметрами при такой их изменчивости в процессе изготовления?
Для улучшения энергоэффективности в динамических средах при наличии неконтролируемости может быть использована способность к самостоятельной адаптации. Другими словами, выходом из этого тупика может служить система, способная к самостоятельной настройке в соответствии с изменениями среды в целом или элементов самой системы с целью выполнения соответствующих требований.
1.4. Усложнение и масштабируемость
Как утверждалось во введении, преимущества, предсказанные законом Мура, способствуют усложнению систем за счет роста числа используемых процессорных элементов. Для того чтобы проиллюстрировать это усложнение, на рис. 1.5 приведены тенденции, которые были получены ITRS [21]: число процессорных ядер в SoC портативной бытовой аппаратуры увеличится примерно в 3,5 раза за следующие пять лет. Более того, размеры памяти и логических устройств будут следовать той же тенденции. В этом контексте можно ли будет управлять более чем шестью сотнями процессоров, появление которых прогнозируется через следующие 10 лет?
Существует проблема, которая лежит в основе преграды в виде сложности системы – масштабируемость. Масштабируемость является свойством системы, которое указывает на ее способность менять масштаб для воплощений в больших размерах. В случае MPSoC это относится к возможности системы увеличивать суммарную вычислительную способность при добавлении ресурсов. Систему, чьи рабочие характеристики улучшаются после добавления аппаратных средств пропорционально производительности добавленных средств, называют масштабируемой системой. Говорят, что алгоритм, конструкция, сетевой протокол, программа или иная система масштабируются, если они не теряют своей эффективности и целесообразны для применения к более крупным объектам.
То, что можно считать хорошим решением сегодня, возможно, не будет хорошим решением уже завтра: конструкции, основанные на платформе и повторном использовании ядра, подвели проектировщиков промышленных систем к некоторым вполне понятным соображениям в отношении производительности и рабочих характеристик. Эти методы проектирования вызывают все больше сомнений и в дальнейшем могут больше не масштабироваться. Одним из основных препятствий является то, что эти решения плохо масштабируются в терминах программного обеспечения и аппаратных средств. Мы твердо верим, что альтернатива возможна на основе масштабируемых аппаратных средств и программного обеспечения. Поэтому распределение функций управления MPSoC является очень важной проблемой.
1.5. Неоднородный и однородный подходы
В контексте использования масштабируемости, связанной с необходимостью самостоятельной адаптации, системы MPSoC становятся все более популярным решением, которое сочетает гибкость программного обеспечения наряду с возможностью существенного повышения быстродействия. Как уже отмечалось во введении, мы будем различать между собой: – неоднородные MPSoC, также называемые многопроцессорным чипом или многоядерными системами: эти системы состоят из процессорных элементов различных типов, таких как один или несколько универсального типа процессоров, процессор для цифровой обработки сигналов (DSP), аппаратные ускорители, периферийное оборудование и модуль межсоединений наподобие NoC;
– однородные MPSoC, которые в этом подходе являются базовыми процессорными элементами со всеми встроенными элементами, требуемыми для SoC: один или несколько процессоров (универсального типа или специализированные), запоминающее устройство и периферийное оборудование.
Эта плитка затем несколько раз задействуется, и все эти элементы соединяются между собой посредством специализированной инфраструктуры связи. По существу, первый подход предлагает наилучший компромисс между производительностью и потреблением энергии, а второй, очевидно, является более гибким и масштабируемым, но в меньшей степени энергоэффективен. Благодаря своей высокой энергоэффективности разнородные MPSoC используются для портативных систем и более универсальных встроенных систем, тогда как однородный подход чаще всего используется в видеоигровых приставках, настольных компьютерах, серверах и при обработке данных на сверхмощных ЭВМ.
1.5.1. Неоднородные MPSo
Неоднородные MPSoC представляют собой комплект соединенных между собой ядер с различными функциональными возможностями. На рис. 1.6 приводится обзор характерных неоднородных MPSoC, состоящих из набора универсальных процессоров (ЦПУ), нескольких ускорителей (видео, аудио и т.д.), элементов памяти, периферийных устройств и инфраструктуры межсоединений.
За рамками аппаратной архитектуры система MPSoC обычно управляет работой нескольких прикладных программ, разделенных на задачи, и операционной системой, управляющей в свою очередь аппаратными и программными средствами с помощью программного обеспечения промежуточного слоя (т.е. драйверами). Рис. 1.7 иллюстрирует схематический вид MPSoC и взаимодействие между программными и аппаратными средствами.
Для того чтобы проиллюстрировать общие принципы, изложенные в предыдущем разделе, мы можем сослаться на Nexperia Philips, или на ST Nomadik, или на хорошо известную платформу TI OMAP, или MPSoC MORPHEUS [22] из Европейского проекта MORPHEUS. Функциональная и структурная неоднородность этих платформ позволяет получать высокую производительность и энергоэффективность, давая возможность их интеграции в портативные устройства, такие как
мобильные телефоны.
Термин «платформа» также придает некоторую гибкость этому подходу. Действительно, с помощью платформ можно настроить систему под специальные прикладные программы благодаря базовой инфраструктуре «процессор – запоминающее устройство – шина» и библиотеке дополнительных ускорителей и периферийного оборудования. Этот подход дает возможность сократить единовременные затраты на проектирование и время, необходимое продукции для выхода на рынок, но также несет с собой ряд недостатков. Его гибкость ограничивается фазой проектирования или в некоторой степени периодом после изготовления, поскольку специальные функциональные способности ускорителей невозможно перенастраивать. Масштабируемость также является проблемой для таких платформ, поскольку требуемая полоса пропускания канала связи зависит от количества и типов ускорителей, и, таким образом, может требоваться некоторая адаптация для каждой конкретной конструкции.
1.5.2. Однородная MPSoC
Как уже отмечалось в предыдущем разделе, разнородные системы MPSoC обеспечивают сегодня наилучший компромисс между производительностью и энергоэффективностью и являются оптимальным решением для встроенных систем, но и они также страдают от ограниченной степени гибкости и масштабируемости.
Альтернатива лежит в построении однородной системы на базе одного и того же программируемого блока, несколько раз подвергаемого обработке. Эту модель архитектуры в литературе часто называют моделью параллельной архитектуры. Параллельные архитектуры особенно обстоятельно изучались в течение последних 40 лет теорией вычислительных систем и проектированием ЭВМ.
В настоящее время интерес к подходам подобного рода растет в связи с использованием встраиваемых систем. Основной принцип архитектуры, которая демонстрирует возможности параллельной обработки данных, основывается на возрастании числа физических ресурсов для распределения между ними необходимого времени выполнения. Теоретически архитектура, выполненная на N процессорных элементах, может обеспечить повышение быстродействия почти в N раз; однако это увеличение быстродействия сложно (или невозможно) получить на практике. Другое преимущество использования многопроцессорных элементов перед однопроцессорными системами состоит в том, что можно соответствующим образом понижать частоту и, как следствие, величину напряжения питания: поскольку потребляемая энергия связана с напряжением квадратичной зависимостью, то это снижение динамического потребления электроэнергии оказывается значительным. Динамическое потребление мощности:
Pдин = α ⋅ Cнагр ⋅ VDD
2 ⋅ Fтакт, где Pдин является динамическим потреблением мощности, α – коэффициент использования цепи, т.e. коэффициент коммутирующей цепи, Cнагр – эквивалентная емкостью цепи, VDD – напряжение питания, а Fтакт – тактовая частота. Предполагая возможность уменьшения тактовой частоты на долю r (0 < r < 1), можно также рассчитывать на такую же долю уменьшения напряжения питания благодаря использованию метода динамического масштабирования напряжения и частоты (DVFS). И окончательно динамическое по требление энергии: Pдин = α ⋅ Cнагр ⋅ (r ⋅ VDD)2 ⋅ (r ⋅ Fтакт); при r = 0,8 динамическое потреблений электроэнергии практически уменьшается вдвое.
Однородные MPSoC, основанные на программируемых параллельных процессах, могут обеспечить производительность благодаря «увеличению быстродействия» и сокращению потребления электроэнергии при снижении рабочей частоты и подачи электроэнергии и могут рассматриваться как реальная альтернатива разнородным MPSoC. Кроме того, присущая им структура обладает большей гибкостью, большей степенью масштабируемости по сравнению с разнородными системами. Эффективное использование параллельности на практике, однако, не является простой задачей; гибкость и масштабируемость также могут быть ограничены из-за нескольких факторов, таких как организация памяти, инфраструктура межсоединений и т.п.
Параллельные архитектуры интенсивно изучались в течение последних 40 лет; в результате имеется большое количество книг и библиографий, связанных с этим вопросом, и поэтому мы сделаем акцент только на общих принципах.
Первая знаменитая классификация была предложена Флинном [23]. Он классифицирует архитектуры в соответствии со связью между обрабатывающими и управляющими блоками. Он определяет четыре модели выполнения: SISD (один поток команд и один поток данных), SIMD (один поток команд, множество по токов данных), MISD (с одним потоком данных и множеством потоков команд) и MIMD (множество потоков данных и множество потоков данных). Модель SISD
является классической моделью фон Неймана [24], в которой один процессорный ресурс, выполняющий одну команду в единицу времени, обрабатывает один поток данных. В архитектуре SIMD один управляющий блок использует все потоки данных и распределяет в них данные для каждого обрабатывающего ресурса.
Архитектура MISD одновременно выполняет несколько команд на одном потокеданных. И, наконец, несколько блоков управления управляют несколькими блоками обработки данных в архитектурах MIMD.
На рис. 1.8 представлена расширенная классификация Флинна с учетом организации памяти, которая может быть использоваться совместно (рис. 1.8a) или быть распределена (рис. 1.8б). В архитектуре совместно используемой памяти процессы (выполняемые различными процессорами) могут легко обмениваться информацией через совместно используемые переменные; однако для этой архитектуры требуются осторожное обращение с синхронизацией и защита памяти.
В архитектуре распределенной памяти требуется инфраструктура связи для соединения обрабатывающих элементов и их запоминающих устройств, которое даст возможность обмениваться информацией.
На основе организации памяти и управления рис. 1.9 отображает классификацию архитектур с параллельной обработкой данных. В этой классификации раз деляются централизованное (SIMD) и децентрализованное управление (MIMD), а также совместно используемая и распределенная память.
Важно обратить внимание, что организация управления и памяти обеспечивает различные компромиссы между масштабируемостью и управляемостью системы. Например, архитектура на основе полностью распределенного управления и организации памяти будет обеспечивать большую степень масштабируемости, но меньшую степень гибкости в управлении, чем архитектура, основанная на централизованном управлении и совместном использовании памятью.
1.6. Оптимизация при наличии многих переменных
Благодаря повышению сложности архитектуры MPSoC ее оптимизация стала настоящей проблемой, поскольку она может преследовать многочисленные противооположные цели: производительность прикладной программы, потребление электроэнергии, температуру, балансирование нагрузки и т.п. В литературе описано несколько разработанных методов для решения этой проблемы. Классические подходы являются статическими и не нацелены на оптимизацию системы во время ее разработки. Последние методы применяются в оперативном режиме и пытаются адаптировать систему динамически. Наиболее современные методы стремятся использовать преимущества распределенного решения процессорных элементов для повышения масштабируемости системы.
1.6.1. Статическая оптимизация
Что касается MPSoC, то статическая оптимизация является способом улучшения системы во время проектирования. Несколько авторов предложили метод статической оптимизации для повышения энергоэффективности. Например, в [25] авторы используют генетические алгоритмы для решения задачи по оптимизации системы в процессе ее проектирования. Они исследовали метрики, включающие трафик линии связи, коэффициент использования памяти и пропускную способность.
В [26] авторы анализируют три статических метода оптимизации: «жадный» алгоритм, алгоритм запрещенного поиска и метод имитации отжига. Построение графика выполнения задач при минимальном потреблении электроэнергии и соблюдении некоторых временных ограничений изучается как часть процесса использования пространства проектных параметров. Во первых, описание системы разлагается на графы синхронного потока данных (SDF) [27] в одночастотной области, включающей временные ограничения. Затем предлагается расширение традиционного SDF до графов многочастотной области.
В [28] статический подход, основанный на линейных моделях, предлагается для оптимизации потребления электроэнергии при соблюдении ограничений в режиме реального времени. Рассмотрена задача выбора наилучшей рабочей частоты для каждого блока распределенного проектирования. Автор моделирует набор фреймовых конвейерных приложений, используя графы SDF. Затем приложения наносятся на распределенную платформу, интегрирующую мелкоструктурные DVFS.
1.6.2. Динамическая оптимизация
При статической оптимизации всегда требуется принимать решения на этапе проектирования. Однако с учетом роста неопределенности технологий реализации и используемых сценариев таких систем динамическая оптимизация становится необходимой для осуществления гибких подходов и надежных конструкций [29]. Централизованные и распределенные подходы излагаются в следующих разделах.
1.6.2.1. Централизованные подходы
В противоположность статической оптимизации, динамические подходы предоставляют возможность приспособления. На рис. 1.10 приведен схематический вид распространенных динамических подходов, используемых для MPSoC, – оптимизация централизованной подсистемы, которая отвечает за управление системой в целом. Она анализирует глобальную информацию и оптимизирует каждый процессорный элемент в системе.
В работе [30] рассматривается выбор частоты и напряжения для систем GALS на основе VFI. Централизованный метод, основанный на нелинейной оптимизации Лагранжа, используется для выбора частот и напряжений. Они представляют статический и динамический алгоритмы. Кроме того, авторы утверждают, что в системах со скрытыми ограничениями определение оптимальных значений напряжения потребует решений глобальной стратегии.
Аналогичным образом в [31, 32] авторы предлагают централизованное управление потреблением электроэнергии с помощью моделей, основанных на законе Кирхгоффа для тока. Они показали, что если локальное рассеяние тепла каждого процессорного элемента можно минимизировать с помощью методов DVS, основанных на прогнозируемых значениях рабочей нагрузки, то эти локальные минимумы обычно не совпадают с положением глобального минимума.
Кроме того, глобальный минимум может быть получен с учетом зависимостей относительного отсчета времени всех задач, выполняемых в системе. Их подход основывается на блоке оперативного глобального управления потребляемой энергией, который контролирует процессорные элементы с помощью источника питания и тактового генератора. Блок-схема этого подхода приводится на рис. 1.11. Авторы используют аналогию между задачей минимизации потребления энергии при наличии временных ограничений в общем графе и задачей минимизации потребления энергии при наличии ограничений в виде закона Кирхгоффа для тока в эквивалентной резистивной цепи.
В работе [33] авторы используют выпуклую оптимизацию для присваивания частоты с учетом температуры на MPSoC. Во первых, они представляют температурную модель всей системы. Затем эта задача формулируется для установившегося и динамического состояний: назначение частоты каждому процессору, поддержание температуры и потребления энергии ниже установленных пользователем пороговых значений. В установившемся состоянии частота и напряжение назначаются один раз и остаются постоянными, не используя преимущества DVFS. В динамическом состоянии частота и напряжение изменяются со временем для лучшей оптимизации производительности системы.
Авторы формулируют оба сценария как задачи выпуклой оптимизации. За тем они предлагают процедуры оптимизации для установившегося и динамического состояний. Для случая динамического состояния используется двух этапный алгоритм. При этом авторы только приводят математическую формулировку процедуры. Используя программу Matlab для выпуклой оптимизации, они показали в этой работе решение иллюстративного сценария. Те же авторы предлагают в [34] с помощью метода выпуклой оптимизации предварительно рассчитывать некоторые значимые решения на этапе проектирования и осуществлять контроль для оперативного выбора наилучшего решения для каждого случая в процессе работы. На рис. 1.12 приводится схема для составления таблицы в период проектирования.
В [35] авторы анализируют некоторые исследования для энергоэффективного планирования в системах реального времени на платформах, интегрирующих DVFS. После длительного анализа используемых методов для однопроцессорных систем в этой статье многопроцессорные платформы делятся на однородные и неоднородные. Для платформ первого типа кратко описываются некоторые методы, применяемые для планирования фреймовых задач в режиме реального времени, периодического планирования в режиме реального времени, планирования энергоэффективности с учетом утечек и планирования использования резервного времени.
Для случая неоднородных систем представлено несколько методов для периодических задач реального времени и минимизации затрат при ограничениях на энергопотребление.
В [36] обсуждается эвристический подход для оптимального расположения задач в неоднородных MPSoC на базе NoC. Существует несколько подходов, в которых задачи перемещаются для уравновешивания рабочей нагрузки вычислений и равномерного рассеяния энергии, как это описано, например, в [37]. В некотором смысле, согласно [38], исключение горячих точек и регулирование теплового градиента стало важной задачей оптимизации в отношении надежности MPSoC.
В [38] авторами анализируются динамические программы планирования задач и распределения ресурсов на основе операционных систем (OС), которые используются для управления тепловым режимом MPSoC. В [39], кроме того, минимизируются тепловые градиенты. Они делают акцент на MPSoC, в которых рабочая нагрузка неизвестна априори и в общем случае нелегко предсказуема. Приэтом предлагается основанная на ОС политика перемещения задач и планирования работы, которая оптимизирует тепловой профиль чипа за счет балансировки системной нагрузки. Авторы заявляют о значительном сокращении временных и пространственных колебаний температуры.
В [40, 41] авторы предлагают в период проектирования определять оптимальные по Парето характеристики в сочетании с оперативным управлением. Во первых, они предлагают выполнить многомерную оптимизацию на этапе проектирования. Многомерное пространство включает затраты (например, на потребление энергии), ограничения (например, на производительность) и задействованные ресурсы платформы (например, используемую память, процессоры, тактовые генераторы, полосу пропускания канала связи). Несложные устройства управления процессом работы, используемые ОС, принимают наиболее важные решения во время второй фазы.
В [42] рассматривается, как можно оперативно выбрать энергоэффективное распределение ресурсов на неоднородных многопроцессорных платформах. С учетом того, что могут быть различные варианты реализации одной и той же прикладной программы и что выбранный вариант должен удовлетворять предельным срокам ее выполнения при имеющихся ресурсах платформы, авторы предлагают использовать NP трудную модель для решения проблемы выбора – так называемую многомерную многовариантную задачу о ранце. Для нахождения решения, близкого к оптимальному, они предложили использование ОС на эвристической основе.
1.6.2.2. Распределенные подходы
С прогнозируемыми сотнями процессорных элементов (PE) масштабируемость так же является значительной проблемой для оптимизации процесса. По этой причине предлагается альтернативный подход для оптимизации процесса с помощью распределения ресурсов. Статическая оптимизация не обеспечивает адаптивность в процессе работы. В противоположность ей существующие динамические подходы обеспечивают способность реагирования во время работы на смену условий, но они являются централизованными решениями. Они не в состоянии обеспечить масштабирование, поскольку они не основываются на распределенных решениях.
Альтернативными для централизованных подходов являются решения, которые учитывают распределенные алгоритмы. Один интересный подход состоит в использовании архитектуры, представленной на рис. 1.13: каждый процессорный элемент MPSoC использует встроенную подсистему оптимизации, которая основывается на распределенном алгоритме. Эта подсистема управляет локальными исполнительными механизмами (на этом рис. это DVFS), учитывая рабочие условия. Другими словами, цель состоит в использовании распределенного алгоритма динамической оптимизации.
Во избежание образования точек с повышенной температурой и регулирования температуры плиток динамическое масштабирование пары напряжение–частота (DVFS) может быть использовано на уровне процессорных элементов. На системном уровне это подразумевает динамическое управление различными парами напряжений–частот каждого процессорного элемента с целью получения глобальной оптимизации. В работе [43] представлен оригинальный подход на базе теории игр, в котором происходит оперативная настройка частоты каждого процессорного элемента. Он преследует цель уменьшить температуру плитки при одновременном сохранении синхронизации между задачами графа приложения.
Предполагается использование полностью распределенной схемы для возможности построения масштабируемого механизма. Результаты показывают, что предложенный оперативный алгоритм находит решения в нескольких вычислительных циклах, достигая снижения температуры на 23%. В [44] приведенные результаты показывают, что предложенный алгоритм оперативной оптимизации требует в среднем 20 вычислительных циклов, для того чтобы найти решение для 100 процессорной платформы, и достигает при этом эквивалентных рабочих показате
лей при сравнении с автономным методом.
В работе [45] этот адаптивный метод используется для сокращения потребления электроэнергии. Он оптимизирует частоты локальных процессоров при выполнении использующихся оперативных ограничений. Полученный выигрыш в потреблении электроэнергии при проведении теста связи составил от 10 до 25%, тогда как время отклика на временные изменения, вызванные перестройкой кон фигурации прикладной программы, составило менее 25 мс.
1.7. Статическая и динамическая оптимизации в централизованном и распределенном
подходах
Табл. 1.1 подытоживает методы оптимизации, описанные в предыдущем разделе.
Было рассмотрено несколько подходов, представляющих направления оптимизации MPSoC. Таблица позволяет производить количественное сравнение разных методов. Эти методы сравниваются в отношении автономной и динамической фаз, их сложности и их осуществления (централизованный или распределенный подходы). Подходы, представленные в [34, 33] и [30], имеют сложную фазу автономной оптимизации. В [40, 41, 42] основная часть оптимизации проводится на этапе проектирования. Эти подходы едва ли можно использовать оперативно из-за их очень высокой сложности.
Решение, предложенное в [30, 32], использует подсистемы динамической оптимизации с низким уровнем сложности. Аналогичным образом подходы [38, 39] и [40, 41, 42] обеспечивают управление во время работы программ. Тем не менее, все эти подходы не справляются с учетом распределения. Когда используются варианты реализации на основе ОС ([38, 39] и [41, 42, 43]), становится возможным использовать распределенную систему. Однако мы не будем рассматривать такие подходы, поскольку они не основываются на распределенных моделях. Подход, основанный на теории игр [44, 45], по своей природе основывается на распределенной модели, которая улучшает масштабируемость системы. Более того, этот низкого уровня сложности метод может быть легко использован в оперативном режиме, который подразумевает хорошую адаптивность, требуемую динамическими системами.
И, наконец, табл. 1.1 также сравнивает количественные показатели, использованные в каждом случае. Несложно заметить, что далеко не каждый подход включает накладываемые ограничения, но все они предлагают многоцелевую оптимизацию. Некоторые из этих моделей могут быть использованы повторно в новых формулировках задач оптимизации.
1.8. Выводы
В настоящее время полупроводники претерпевают глубокие изменения, вызванные несколькими факторами, такими как приближение к границам возможностей кремниевых КМОП технологий, а также неадекватность компьютерных моделей, использованных до настоящего времени. Эти изменения требуют разработки новых подходов в проектировании и программировании будущих интегральных схем. Поэтому параллелизм представляется единственным решением в борьбе с всевозрастающим требованием повышения производительности. Решения, предлагаемые в литературе, часто предполагают наличие у системы возможностей принимать оперативные решения для преодоления этих проблем, таких как масштабирование напряжения питания и частоты для повышения энергоэффективности, или тестирования цепи для выявления неисправных компонент и исключения их из функциональных ресурсов.
Конечно же, системы MPSoC являются естественной целью для внедрения этих технологий в практику: при условии соблюдения ими некоторых проектных норм они в состоянии обеспечить масштабирование с точки зрения рабочих характеристик. Более того, поскольку они по существу представляют собой распределенные архитектуры, то они также будут приспосабливаться к локально контролируемым и регулируемым параметрам системы.
В этой главе были рассмотрены многопроцессорные системы и сделан обзор модели, которая, как мы надеемся, представляет собой завтрашние MPSoC системы. Из важных характеристик, которые были рассмотрены нами, наиболее важными являются гибкость, масштабируемость и способность к адаптации, если рассматривать децентрализованное управление, однородные или неоднородные матрицы процессорных элементов, распределенную память, масштабируемую сеть связи NoC типа.
И, наконец, мы считаем, что способность к адаптации в ближайшем будущем найдет самое широкое применение в этой области. И не только из-за упоминавшихся здесь ограничений, таких как метод линейного сжатия, потребление энергии и надежность, но также потому, что использование компьютеров, несомнен но, становится всеобъемлющим. Всеобъемлющее использование компьютеров или компьютеризованная окружающая среда является областью исследований, которая сама по себе в основном использует архитектуру, самостоятельно адаптирующуюся ко многим меняющимся со временем сценариям выполнения заданий. Будь то мобильные датчики, размещенные для оперативного контроля различных природных явлений, или компьютерные устройства, встроенные в одежду (носимые компьютерные устройства), подобные системы должны преодолевать многие ограничения, такие как ограниченный бюджет энергопотребления, оперативная совместимость, проблемы связи и, наконец, масштабируемость.
Терминологический словарь
SoC Система на чипе
MPSoC Многопроцессорная система на чипе
NoC Сеть на чипе
HPC Высокопроизводительные вычислительные системы
ASIC Специализированная интегральная цепь
PE Процессорный элемент
SW Программное обеспечение
HW Аппаратные средства
OMAP Открытая платформа мультимедийных приложений
DVFS Динамическое масштабирование напряжения и частоты
GALS Глобально асинхронная локально синхронная система
NI Сетевые интерфейсы
VFI Острова напряжения/частоты
ITRS Международный план развития полупроводниковых технологий
CPU Центральное процессорное устройство
SISD Один поток команд один поток данных
SIMD Один поток команд многочисленные потоки данных
MISD Многочисленные команды при одном наборе данных
MIMD Многочисленные команды при многочисленных наборах данных
OS Операционная система
Литература
1. Ahmed Jerraya and Wayne Wolf. Multiprocessor Systems on Chips. Elsevier Inc, 2004.
2. Wayne Wolf, Ahmed Jerraya, and Grant Martin. Multiprocessor system on chip (MPSoC)
technology. Computer Aided Design of Integrated Circuits and Systems, IEEE
Transactions on, 27(10): 1701–1713, Oct. 2008.
3. Wayne Wolf. The future of multiprocessor systems on chips. In DAC ’04: Proceedings of
the 41st annual Design Automation Conference, pages 681–685, New York, NY, USA,
2004. ACM.
4. Freescale Semiconductor, Inc. C 5 Network Processor Architecture Guide, 2001. Ref.
manual C5NPD0 AG http://www.freescale.com.
5. S. Dutta, R. Jensen, and A. Rieckmann. Viper: A multiprocessor SOC for advanced set
top box and digital TV systems. Design & Test of Computers, IEEE, 18(5): 21–31, Sep.–
Oct. 2001.
6. Texas Instruments Inc. OMAP5912 Multimedia Processor Device Overview and
Architecture Reference Guide, 2006. Tech. article SPRU748C. http://www.ti.com.
7. B. Ackland, A. Anesko, D. Brinthaupt, S.J. Daubert, A. Kalavade, J. Knobloch, E. Micca,
M. Moturi, C.J. Nicol, J.H. O’Neill, J. Othmer, E. Sackinger, K.J. Singh, J. Sweet, C.J.
Terman, and J. Williams. A single chip, 1.6 billion, 16 b MAC/s multiprocessor DSP.
Solid State Circuits, IEEE Journal of, 35(3): 412–424, Mar. 2000.
8. P. Guerrier and A. Greiner. A generic architecture for on chip packet switched inter
connections. In DATE ’00: Proceedings of the 2000 Design, Automation and Test in
Europe Conference and Exhibition, pages 250–256, 2000.
9. William J. Dally and Brian Towles. Route packets, not wires: on chip inteconnection
networks. In DAC ’01: Proceedings of the 38th Design Automation Conference, pages
684–689, New York, NY, USA, 2001. ACM.
10. L. Benini and G. De Micheli. Networks on chips: a new SoC paradigm. IEEE Computer,
35 (1): 70–78, Jan 2002. [cited at p. 3].
11. Tobias Bjerregaard and Shankar Mahadevan. A survey of research and practices of
Network on chip. ACM Comput. Surv., 38(1): 1, 2006.
12. Partha Pratim Pande, C. Grecu, M. Jones, A. Ivanov, and R. Saleh. Performance evaluation
and design trade offs for network on chip interconnect architectures. Computers, IEEE
Transactions on, 54(8): 1025–1040, Aug. 2005.
13. D.Bertozziandб L.Benini. Xpipes: a network on chip architecture for giga scale systems
on chip. Circuits and Systems Magazine, IEEE, 4(2): 18–31, 2004.
14. E. Beignґe, F. Clermidy, P. Vivet, A. Clouard, and M. Renaudin. Asynchronous NOC
Architecture Providing Low Latency Service and Its Multi Level Design Framework. In
ASYNC ’05: Proceedings of the 11th IEEE International Symposium on Asynchronous
Circuits and Systems, pages 54–63, Washington, DC, USA, 2005. IEEE Computer Society.
15. J. Pontes, M. Moreira, R. Soares, and N. Calazans. Hermes glp: A gals network on chip
router with power control techniques. In Symposium on VLSI, 2008. ISVLSI ’08. IEEE
Computer Society Annual, pages 347–352, April 2008.
16. Umit Y. Ogras, Radu Marculescu, Puru Choudhary, and Diana Marculescu. Voltage –
frequency island partitioning for GALS based Networks on Chip. In DAC ’07:
Proceedings of the 44th Annual Design Automation Conference, pages 110–115, New
York, NY, USA, 2007. ACM.
17. James Donald and Margaret Martonosi. Techniques for multicore thermal management:
Classification and new exploration. In ISCA ’06: Proceeding of the 33rd International
Symposium on Computer Architecture, pages 78–88, 2006.
18. Edith Beigne, Fabien Clermidy, Sylvain Miermont, and Pascal Vivet. Dynamic voltage
and frequency scaling architecture for units integration within a gals noc. In NOCS, pages
129–138, 2008.
19. Edith Beigne, Fabien Clermidy, Sylvain Miermont, Alexandre Valentian, Pascal Vivet,
S. Barasinski, F. Blisson, N. Kohli, and S. Kumar. A fully integrated power supply unit for fine
grain dvfs and leakage control validated on low voltage srams. In ESSCIRC’08: Proceeding
of the 34th European Solid State Circuits Conference, Edinburg, UK, Sept. 2008.
20. G. E. Moore. Cramming More Components onto Integrated Circuits. Electronics, 38(8):
114–117, April 1965.
21. The International Technology Roadmap for Semiconductors. International Technology
Road map for Semiconductors 2008 Update Overview. http://www.itrs.net.
22. Davide Rossi, Fabio Campi, Antonello Deledda, Simone Spolzino and Stefano Pucillo,
A Heterogeneous Digital Signal Processor Implementation for Dynamically
Reconfigurable Computing, IEEE Custom Integrated Circuits Conference (CICC).
September 13–16 2009,
23. M. Flynn. Some Computer Organizations and Their Effectiveness, IEEE Trans. Computer,
vol. 21, pp. 948, 1972.
24. A. W. Burks, H. Goldstine, and J. von Neumann. Preliminary Discussion of the Logical
Design of an Electronic Computing Instrument, Inst. Advanced Study Rept., vol. 1, June,
1946.
25. Issam Maalej, Guy Gogniat, Jean Luc Philippe, and Mohamed Abid. System Level Design
Space Exploration for Multiprocessor System on Chip. In ISVLSI ’08: Proceedings of
the 2008 IEEE Computer Society Annual Symposium on VLSI, pages 93–98, Washington,
DC, USA, 2008. IEEE Computer Society.
26. Bastian Knerr, Martin Holzer, and Markus Rupp. Task Scheduling for Power Optimisation
of Multi Frequency synchronous Data Flow Graphs. In SBCCI ’05: Proceedings of the
18th annual symposium on Integrated circuits and system design, pages 50–55, New York,
NY, USA, 2005. ACM.
27. Edward Ashford Lee and David G. Messerschmitt. Static scheduling of synchronous data
flow programs for digital signal processing. IEEE Trans. Comput., 36(1): 24–35, 1987.
28. Philippe Grosse, Yves Durand, Paul Feautrier: Methods for power optimization in SOC
based data flow systems. ACM Trans. Design Autom. Electr. Syst. 14(3): (2009).
29. A. K. Coskun, T. Simunic Rosing, K. Mihic, G. De Micheli, and Y. Leblebici. Analysis
and Optimization of MPSoC Reliability. Journal of Low Power Electronics, 2(1): 56–69,
2006.
30. Koushik Niyogi and Diana Marculescu. Speed and voltage selection for GALS systems
based on voltage/frequency islands. In ASP DAC ’05: Proceedings of the 2005 Conference
on Asia South Pacific Design Automation, pages 292–297, New York, NY, USA, 2005.
ACM.
31. Zeynep Toprak Deniz, Yusuf Leblebici, and Eric Vittoz. Configurable On Line Global
Energy Optimization in Multi Core Embedded Systems Using Principles of Analog
Computation. In IFIP 2006: International Conference on Very Large Scale Integration,
pages 379–384, Oct. 2006.
32. Zeynep Toprak Deniz, Yusuf Leblebici, and Eric Vittoz. On Line Global Energy
Optimization in Multi Core Systems Using Principles of Analog Computation. In
ESSCIRC 2006: Proceedings of the 32nd European Solid State Circuits Conference, pages
219–222, Sept. 2006.
33. Srinivasan Murali, Almir Mutapcic, David Atienza, Rajesh Gupta, Stephen Boyd, and
Giovanni De Micheli. Temperature aware processor frequency assignment for MPSoCs
using convex optimization. In CODESюISSS ’07: Proceedings of the 5th IEEE/ACM
International Conference on Hardware/Software Codesign and System Synthesis, pages
111–116, New York, NY, USA, 2007. ACM.
34. Srinivasan Murali, Almir Mutapcic, David Atienza, Rajesh Gupta, Stephen Boyd, Luca
Benini, and Giovanni De Micheli. Temperature control of high performance multi core
platforms using convex optimization. In DATE’08: Design, Automation and Test in
Europe, pages 110–115, Munich, Germany, 2008. IEEE Computer Society.
35. Jian Jia Chenand Chin Fu Kuo. Energy Efficient Schedulingfor Real Time Systems
on Dynamic Voltage Scaling (DVS) Platforms. In RTCSA ’07: Proceedings of the
13th IEEE International Conference on Embedded and Real Time Computing Sys
tems and Applications, pages 28–38, Washington, DC, USA, 2007. IEEE Computer
Society.
36. Ewerson Carvalho, Ney Calazans, and Fernando Moraes. Heuristics for dynamic task
mapping in noc based heterogeneous MPSoCs. In RSP ’07: Proceedings of the 18th IEEE/
IFIP International Workshop on Rapid System Prototyping, pages 34–40, Washington,
DC, USA, 2007. IEEE Computer Society.