Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ядра на кристалле




Первыми представителями архитектуры CMP стали процессоры, предназначенные для использования в серверах, это был простой тандем, в таких приборах на одной подложке размещаются два, по сути, независимых ядра рис. 1, б. Помимо экономии места подобное решение дает ощутимую экономию энергии, поскольку часть системотехнических компонентов является общей для обоих ядер. Развитием этой схемы стали решения CMP, показанные на рис. 1, в и 1, г. Сначала исходная идея обогатилась общей кэш-памятью, а затем каждое из ядер стало многопотоковым; каждое из этих усовершенствований увеличивает те преимущества, которые дает совмещение нескольких ядер в одном кристалле. Но нельзя забывать и о том, что деление процессора на ядра и далее на потоки внутри ядер, и как любое иное инженерное решение, не свободно от необходимости идти на компромисс. Разумеется, в перспективе оно может обеспечить целый ряд преимуществ, но, чтобы их получить, необходимо преодолеть весьма серьезные препятствия. Однако прежде о достоинствах.

Рис. 1

 

С точки зрения организации и упрощения проектирования достоинства CMP неоспоримы. Понятно, можно разработать одно очень эффективное ядро, а затем тиражировать его в нужном количестве, дополняя архитектуру нужными системными компонентами. Такой подход обладает модульностью, масштабируемостью, а главное, уменьшает трудозатраты, что сможет в будущем изменить баланс сил на процессорном рынке. Дело в том, что увеличение количества транзисторов в одном ядре ведет к резкому, нелинейному росту затрат труда проектировщиков и других специалистов, участвующих в процессе создания новых кристаллов. Как следствие, возрастает стоимость проектирования новых процессоров, а потому этот вид деятельности становится прерогативой самых крупных компаний. (Одно время, когда практически все поверили в архитектуру EPIC, многим представлялось, что число семейств процессоров вообще будет сведено к одному или — в крайнем случае — к двум; к счастью, эти прогнозы не оправдались.)

При модульном проектировании трудозатраты оказываются существенно меньше, чем затраты на проектирование единого, существенно более сложного процессорного ядра. Как следствие, переход к многоядерным архитектурам может демократизировать процессорную отрасль; он в состоянии вернуть на рынок небольшие компании и создать новые возможности для возникновения разнообразных «стартапов». В этом отношении показателен пример Sun Microsystems, которая открыла спецификацию на процессор Ultra SPARC T1, и уже сегодня появились компании, воспроизводящие его архитектуру в собственных разработках. Схожие цели преследует и корпорация IBM, инициировавшая создание и поддерживающая деятельность сообщества power.org.

Второе преимущество заключается в том, что переход на многоядерные процессоры позволит решить постоянно возрастающие проблемы энергопотребления. Вообще говоря, то, что центры обработки данных, имеющие дело с нематериальной сферой, сравнились по уровню энергопотребления с промышленными производствами, выглядит, по меньшей мере, странно. Если, к примеру, на кристалле разместить два ядра и заставить их работать на тактовой частоте, вдвое меньшей, чем аналогичный одноядерный процессор, а потом сравнить энергопотребление этого кристалла с монолитным аналогом, имеющим производительность, равную их суммарной характеристике, то обнаружится, что энергопотребление уменьшается в несколько раз, поскольку оно растет почти пропорционально квадрату частоты. Для оценки этого рода преимуществ многоядерных процессоров в Sun предложили метрику SWaP (Space, Watts and Performance), которая выражается отношением производительности к произведению потребляемой мощности на занимаемое пространство. По этой метрике серверы, построенные на процессорах Niagara, превосходят свои аналоги в пять с лишним раз. Это абсолютный и не нуждающийся в комментариях аргумент в пользу многоядерности.

И тем не менее в этом эффективном сравнении есть очевидная некорректность, основной вопрос заключается в том, что именно понимать под производительностью. Напрашивается очевидная аналогия с автомобильными двигателями. Для того чтобы адекватно оценить характеристики двигателя внутреннего сгорания, одним показателем — его максимальной мощностью обойтись нельзя. Следует учитывать то, на каком числе оборотов развивается максимальная мощность, какова максимальная величина крутящего момента и какова моментная характеристика. Следуя методике Sun, мы можем предложить условный показатель, аналогичной SWaP, включив в него вес, мощность, расход топлива и что-то еще в этом роде. После этого мы будем сравнивать, скажем, двигатели легкового автомобиля с судовыми или тепловозными двигателями, в таком случае при равной мощности десять двигателей по 200 лошадиных сил опередят тяжелый дизель по этому показателю в десятки раз, но это вовсе не значит, что они смогут обеспечить адекватную замену. Двигателю от болида «Формулы-1» не удастся сдвинуть с места железнодорожный состав.

Примерно то же самое можно сказать и о процессорах: выполнение «тяжелых» задач, таких как высокопроизводительные вычисления, работа с большими СУБД и других, не поддающихся простому распараллеливанию, требует большой мощности от каждого ядра. Однако значительная часть серверной нагрузки (в особенности нагрузки, так или иначе связанной с Internet) складывается из выполнения большого количества мелких задач; вот для их решения гораздо лучше подходят многоядерные многопотоковые процессоры. Для такого рода задач величина получаемой ими мощности процессора не является слишком критичной; если перейти на более медленное ядро, то время выполнения задачи — скажем, обращения к Web-сайту, — может увеличиться, но оно в любом случае несопоставимо со временем человеческой реакции. Поэтому задержка, вызванная относительно невысокой величиной индивидуальной мощности одного потока в одном ядре, останется незаметной, зато суммарная высокая производительность сервера имеет большое значение — именно она определяет качество обслуживания.

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

Наиболее радикален в выражении своего отношения к многоядерности и тем особенно интересен профессор Массачусетского технологического института Ананд Агарвал. Это, безусловно, один из крупнейших современных специалистов по процессорным архитектурам; в свое время он участвовал в разработке первой спецификации SPARC. Несмотря на солидный возраст, он по-юношески экстремален и выражает крайние взгляды, но при этом обнажает и наиболее полным образом выражает саму идею перехода от монолитных процессоров к многоядерным. К тому же созданная им компания Tilera показательна в качестве представителя нового поколения процессорных компаний, не имеющих собственного производства, но обладающих свежими мыслями и ресурсами для проектирования. Далеко не случайно именно Агарвал выступал в качестве одного из основных докладчиков на проводившихся в 2006 и 2007 году конференциях Multicore Expo. Он считает, что многоядерные системы станут столь мощной силой, что разрушат сложившуюся стабильную обстановку и заставят проектировщиков переосмыслить фундаментальные начала. Агарвал предлагает еще одну дополнительную формулировку для закона Мура, в соответствии с ней с периодом 18 или 24 месяца удваиваться должно не только число транзисторов, как это звучит в оригинале, но еще и число ядер на кристалле. Из этого следует, что при сегодняшних одном–восьми ядрах в начале следующего десятилетия их число превысит 1000.

 

Для того чтобы синхронизировать рост числа ядер в соответствии с ростом числа транзисторов (число транзисторов, приходящихся на ядро, по мнению профессора, возрастать не будет), необходимо сохранять простоту ядер, сокращая размеры кэш-памяти, и отказаться от других усовершенствований (суперскалярность, внеочередное исполнение и др.). Можно представить это так, что ядро возвращается к чистой архитектуре фон Неймана, а система на кристалле вбирает в себя всю инфраструктурную сложность. Агарвал предложил правило, названное (им KILL аббревиатура от kill if less than linear, то есть «убей, если меньше, чем линейно»). Правило это можно интерпретировать следующим образом: некоторый ресурс ядра может наращиваться, если при этом обеспечивается, как минимум, линейный рост производительности. Таким образом, утверждает Агарвал, можно найти оптимум для разного рода устройств, например кэш-памяти. Если уменьшить тактовую частоту с 4 до 1 ГГц, то вероятность промаха при обращении в стек уменьшается в четыре раза, и стек можно сделать в 16 раз меньше.

После того как выбрана архитектура ядра, следует решить второй вопрос — как объединить между собой ядра. Агарвал считает, что классическая шинная архитектура обречена, ей на смену придет решетчатая инфраструктура (mesh networking). Преимущество решетчатой (рис. 2), или ячеистой, сети состоит в том, что она обладает качеством самолечения, продолжая работать в случае выхода из строя узла или межсоединения. По Агарвалу решетчатая многоядерная архитектура будет распределенной, в ней не будет централизованных ресурсов.

Рис. 2.

Большая часть соображений профессора Агарвала реализуется в проекте RAW, который ведется под его руководством одной из исследовательских лабораторий Массачусетского технологического института.

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 380; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.