Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 6.doc
Скачиваний:
93
Добавлен:
25.03.2015
Размер:
1 Мб
Скачать
☆

2.3. Многоядерность

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

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

Совместно смногоядернымипроцессорами, вархитектуруновыхплатформ внедряются такиеновые технологии,какнезависимость соответствующих программных компонент(Intel Virtualization Technology - VM),ускорение механизма обмена данными (Intel I/O Acceleration Technology - I/O AT), удаленная управляемость(Intel Active Management Technology - iAMT).

Комплексновых технологийнаправленнаповышение эффективности вычислительной платформы в целом.

2.4. Технология виртуализации Hypervisor

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

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

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

Реализацияэтой технологии требуетподдержки в BIOS, разработки специальнойсистемыуправления (монитора виртуальныхмашин VMM) иподдержкисостороныприкладных программ.

2.5. Технология удаленного управления компьютерами сети

Active Management Technology(AMT) - технология удаленного управлениякомпьютерамисети. Эта технологияпозволяетадминистраторамсетипроизводитьудаленноеадминистрирование и обслуживаниесетевыхкомпьютеровнакачественноновомуровне. Вперечне доступных возможностейпредставлены:удаленная диагностика иустановлениенеисправностей оборудования,удаленнаяустановка и обновление программного обеспечения,защита от вирусов.

2.6. Технология ускорения процесса ввода-вывода данных – Acceleration Technology

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

Технологияускорения ввода-выводаI/OAT (Intel I/O Acceleration Technology)появилась в то время, когда потребности приложений (таких, как электроннаякоммерция, обмен сообщениями, приложения для кластеров устройств хранения данных и серверов) начали обгонять способность серверов к их возможности быстрого инадежного обменасетевыми данными сприложениями. В то времякакпроизводительностьсерверныхпроцессоров ипропускнаяспособностьсетейзначительно выросли, основнойметод обмена данными осталсяпрежним. Процессорсервера ведет обработку данных, осуществляет доступ к памяти и реализует протоколы обмена длякаждого пакета данных. В результате работасерверных приложенийзамедляется.

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

Intel также оптимизировала протокол TCP/IP - открытый "свод правил", которыйпозволяет компьютерам всех типов обмениваться данными, общаясь на одном языке. В результате загруженность процессоров в серверахархитектурыIntel снизиласьнаполовину, а вычислительные ресурсы высвободились для решения другихзадач. Всреднем такой подходпозволяет ускорить обмен данными междуплатформой иприложениямина 30% и освобождаетпроцессор для выполнения другой вычислительной работы.

Кроме того, подход, применяемый в технологии I/OAT, позволяет отказаться отискусственныхнадстроек,применяемых всуществующих технологиях, - таких,какмеханизмы разгрузки TCP (TCP offload engine, TOE). TOE - это специализированные дорогостоящие микросхемы, предназначенные для разгрузки процессора при обработкепротокола TCP/IP, но они не решают двухосновныхпроблем, связанных спроцессором:снижениясистемныхиздержек и организации доступа кпамяти. В результате TOE эффективны толькодля такихприложений, где великаинформационнаясоставляющаяпакетов данных -например, для высокопроизводительных систем управления базами данных или дляхранилищ данных.

Корпорация Microsoft обещает обеспечить встроеннуюподдержку технологииI/OAT в будущих версиях ОС Windows Server. В этих версиях также будетиспользоваться технология,котораяпозволяетсбалансировать трафик TCP/IPприиспользовании многоядерных процессоров.

Выводы:

Внедрение новых технологий:

 Улучшает возможности работы вмногозадачныхсредах с одновременным выполнениемнесколькихактивных и фоновыхприложений.

 Обеспечиваетменьшее времязагрузки и более высокуюпроизводительность дляпотоковых приложений

 Уменьшает время отклика длясовместногозапускаприложений,повышает возможности многозадачных приложений.

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

 Позволяет усовершенствовать возможности длясовместной работы.

 Позволяетповыситьэффективность иснизить энергопотреблениепри одновременном запуске множества приложений

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

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

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

Первыми представителями архитектуры 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, который ведется под его руководством одной из исследовательских лабораторий Массачусетского технологического института.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]