Диссертация (1090013), страница 30
Текст из файла (страница 30)
Микросхема процессора имеют триканала межпроцессорного обмена для создания модулей с неоднороднымдоступом к общей памяти процессоров с кэш когерентностью (ccNUMA).Внешний вид и характеристики этой микросхемы процессора показаны нарисунке 5.2.4.Рис. 5.2.4. Внешний вид и характеристики микросхемы процессора Эльбрус-8С.5.3 Конструкции и применение многопроцессорных модулейВданномразделерассмотреныразработкимногопроцессорныхвычислительных комплексов на основе процессоров архитектуры «Эльбрус» и«Sparcv9»разработки.иконтроллеровПредложеныпериферийныходнопроцессорныеинтерфейсовмодулироссийскоймногопроцессорнойкрейтовой системы унифицированной конструкции и многопроцессорныйвычислительный комплекс с этими модулями, который масштабируем по193количеству вычислительных ядер, оперативной памяти и периферийныхинтерфейсов.5.3.1 Комплексы общего примененияДля вычислительных комплексов общего применения, которые неподлежат адаптации к специальным условиям эксплуатации, характернотребование низкой себестоимости.
При этом востребованы разработкимногопроцессорных модулей в виде панели с размерами форм-факторов SSIEEB или SWTX, которые содержат четыре многоядерных процессора иконтроллерыпериферийныхинтерфейсов.Дляреализациимежсетевыхэкранов, систем хранения данных, или другого назначения может бытьцелесообразно использование двухпроцессорных модулей с размерами формфактора EATX.В качестве доверенных многопроцессорных вычислительных комплексовобщего применения показательны комплексы на основе процессоров Эльбрус4С и Эльбрус-8С [104]. На основе процессора Эльбрус-4С выполненаразработка четырехпроцессорного модуля для вычислительного комплекса(сервера) Эльбрус-4.4 в корпусе высотой 1U.
Предполагается также егоиспользование для вычислительных комплексов в корпусах под установку встойку высотой 2U или 3U. Разработка модуля велась с начала разработкимикросхемы процессора, при этом достигнуты следующие характеристикитипового блока процессора с сокращением на 15% срока реализации 4-хпроцессорногомодуляпослевнедренияпредложенныхвданнойдиссертационной работе методов разработки:- скорость передачи данных между микросхемами процессоров – 128 Гб/с(дуплекс) на канал межпроцессорного обмена;- отвод тепла при максимальной мощности потребления каждой микросхемыпроцессора в 45-55 Вт с пиковой производительностью в 50-60 Гфлопс;194- до 3 слотов памяти типа DDR3 у каждой микросхемы процессора с тремяканалами памяти или 12 слотов памяти у модуля;- пропускная способность по каждому каналу памяти составляет 1333 МТ/с;- печатная плата с 12 слоями на основе доступного и широко используемогофольгированного стеклотекстолита, и прокладочной стеклоткани типа FR-4(ф.
Isola, Германия).Многопроцессорный модуль, являющийся версией ранее представленногомодуля МВ4С-СРВ, и вычислительный комплекс (сервер) на основе процессораЭльбрус-4С показаны на рисунке 5.3.1.Рис 5.3.1. Вычислительный комплекс Эльбрус-4.4 (справа) многопроцессорныймодуль на основе процессоров Эльбрус-4С (слева).НаосновепроцессораЭльбрус-8Свыполненаразработкачетырехпроцессорного модуля для вычислительного комплекса Эльбрус-8.4 вкорпусе высотой 2U.
Предполагается также его использование для комплексовв корпусах под установку в стойку высотой 1U или 3U. Разработка модулявелась с начала разработки микросхемы процессора, при этом достигнутыследующие характеристики типового блока процессора с сокращением на 25%срока реализации многопроцессорного модуля после внедрения предложенныхв данной диссертационной работе методов разработки:195- скорость передачи данных между микросхемами процессоров – 192 Гб/с(дуплекс) на канал межпроцессорного обмена;- отвод тепла при максимальной мощности потребления каждой микросхемыпроцессора в 75-90 Вт с пиковой производительностью в 250 Гфлопс;- до 8 слотов памяти типа DDR3 у каждой микросхемы процессора с четырьмяканалами памяти или 32 слота памяти у модуля;- пропускная способность по каждому каналу памяти составляет 1600 МТ/с;- печатная плата с 14 слоями на основе доступного и широко используемогофольгированного стеклотекстолита, и прокладочной стеклоткани типа IT-150DA (ф.
Iteq, Тайвань).Четырехпроцессорный модуль и соответствующий ему вычислительныйкомплекс Эльбрус-8.4 показаны на рисунке 5.3.2.Рис. 5.3.2. Вычислительный комплекс Эльбрус-8.4 (справа) многопроцессорныймодуль на основе процессоров Эльбрус-8С (слева).Выбор материалов печатной платы модуля типа IT-150DA обусловлено егопониженным по отношению к FR-4 тангенсом угла потерь полезного сигнала,поскольку интерфейс межпроцессорного обмена микросхемы процессорарассчитан на ограниченную длину соединения в печатной плате (~20 см приматериалах типа FR-4).196Учитывая все варианты применения четырехпроцессорных модулейпоказатель N s (числореализациймногопроцессорныхвычислительныхкомплексов на основе модуля) равен трем.
Количество вычислительныхкомплексов этого класса также равно трем и различаются назначением:вычислитель в кластере, сервер хранения данных и сервер базы данных.Четырехпроцессорные модули разрабатывались совместно с микросхемойпроцессора и имеют возможность установки сокетов на основе эластомера длякомплексного тестирования микросхем процессоров и общего программногообеспечения вычислительных комплексов. Применение четырехпроцессорныхмодулей в составе стендов тестирования и разбраковки микросхем оказалосьэффективным решением для всестороннего тестирования подсистемы памятипроцессора и выявления в ней ошибок проектирования. Необходимо отметить,что именно в подсистеме памяти процессора в среднем обнаруживается ~85%всех ошибок микросхемы процессора.Длясравненияпроизводительностивычислительныхкомплексоваппаратно-программной платформы «Эльбрус» с различными образцамиимпортнойвычислительнойтехникибылопроведеносравнительноетестирование с помощью пакета C++ Performance Benchmark suite фирмы AdobeSystems Inc.
[105]. Тестировались вычислительные комплексы на основемикросхем процессоров Эльбрус и на основе микросхем процессоров x86 и IA64.Выбор вычислительных комплексов, с которыми осуществлялосьсравнение, был обусловлен несколькими факторами. Во-первых, конечныйпользователь в основном заинтересован в производительности при выполнениизадач, для этого было проведено сравнение с наиболее распространённой упользователейархитектуройпроизводительностьx86.Во-вторых,вычислительныхсистемссоцельюсопоставитьсхожимиаппаратно-программными платформами в своей основе, было проведено сравнение скомплексами платформы IA-64 (Itanium).
Архитектура процессорных ядер IA-19764 относится к типу EPIC (explicitly parallel instruction computing), и, наряду сархитектурой ядра процессора «Эльбрус», входит в класс архитектур VLIW(very large instruction word). Таким образом, появилась возможность оценитьвлияниенапроизводительность,вносимоеособенностямиреализациикомпилятора и процессора, а не свойствами архитектуры процессорного ядра.В-третьих, с целью сравнить влияние компилятора на различных аппаратнопрограммных платформах, проведено тестирование различных компиляторов.Рассмотрены следующие вычислительные комплексы:1) Intel Core 2 Quad Q9400 (4 ядра, Yorkfield), 2.66 ГГц, 6 Мб кэш L2,компилятор GCC 5.2.0 (далее «gcc5-x86»);2) Intel Core 2 Quad Q9400 (4 ядра, Yorkfield), 2.66 ГГц, 6 Мб кэш L2, 4 Гб ОЗУ,Linux 2.6.27, компилятор GCC 4.1.2 (далее «gcc4-x86»);3) Intel Xeon 5160 (2 ядра, Woodcrest), 3.00 ГГц, 4 Мб кэш L2, 12 Гб ОЗУ, Linux2.6.27, компилятор GCC 4.1.2 (далее «gcc4-x86-2»);4) Intel Itanium 2 (2 ядра, Madison), 1.60 ГГц, 9 МБ кэш L2, 533 МГц FSB, 8 ГбОЗУ, HP-UX S688816 B.11.31 U, компилятор GCC 4.2.3 (далее «gcc4-ia64»);5) Intel Itanium 2 (2 ядра, Madison), 1.60 ГГц, 9 МБ кэш L2, 533 МГц FSB, 8 ГбОЗУ, HP-UX S688816 B.11.31 U, компилятор HP aCC (HP C/aC++ B3910BA.06.28 [Nov 21 2013]) (далее «aCC-ia64»);6) Эльбрус-4С (4 ядра, E2S), 750 МГц, 8 Мб кэш L2, компилятор LCC 1.20.09,режим LP64 (далее «lcc-e4c»);7) Эльбрус-8С (8 ядер, E2S), 1.2 ГГц, 4 Мб кэш L2 + 16 Мб кэша L3, 16 Гб ОЗУ,Linux 3.14.53 (314.2.0), компилятор LCC 1.20.10, совместимый с GCC 4.4.0,режим LP64(далее «gcc4-e8c»).Специфика тестовых программ использованного пакета C++ PerformanceBenchmark suite заключается в том, что на их результаты не влияет объём ОЗУи кэша, а также количество ядер, поскольку все тесты выполняются воднопотоковом режиме.
В частности, комплексы на основе процессоров«Эльбрус-4С» и «Эльбрус-8С» показали практически одинаковые результаты.198Таким образом, измеряемая производительность конкретного комплексаопределяется свойствами процессорного ядра и компилятора аппаратнопрограммной платформы в его основе. Тестовые программы были разбиты нашесть основных классов: Abstraction, Vector, Objects, Constant Folding, LoopInvariant, Loop Unrolling. Очевидно, что производительность каждой системызависитоттактовойчастотыпроцессора;поэтомубылапроведенанормализация результатов по формуле:t t0 F01 ГГц,где t – искомое время, t0 – время, реально затраченное на прохождение теста наисследуемой системе, F0 – тактовая частота процессора исследуемой системы.Результаты тестов класса «Abstraction», «Vector», «Objects» показаны нарисунке 5.3.3.Рис.
5.3.3. Время тестирования (сек.) «Abstraction», «Vector», «Objects».В целом можно видеть, что в тестах типа Accumulate и Insertion Sort комплексытипа «Эльбрус» работают на 20-70% медленнее, чем x86, а на тестах типа199Quicksort, Heap Sort и Function Objects – на 5-20% быстрее. При этом все тестыкомплексы типа «Эльбрус» проходят за практически то же или меньшее время,чем Itanium, что свидетельствует о лучшей реализации системы «компилятор –ядро архитектуры VLIW».Результаты тестов класса «Constant Folding» показаны на рисунке 5.3.4.Рис.
5.3.4. Время тестирования (сек.) «Constant Folding».Из графика видно, что комплексы типа Эльбрус показывают заметно худшиерезультаты (до 400 раз на uint8_t), чем x86 и Itanium, на тестах simple constantfolding. Обнаружены недостатки компилятора, при этом недочетов в аппаратурене обнаружено.Результаты выполнения тестов класса «Loop Invariant» и «Loop Unrolling»показаны на рисунке 5.3.5.200Рис. 5.3.5. Время тестирования (сек.) «Loop Invariant» и «Loop Unrolling».Тесты класса «Loop Invariant» на комплексах типа Эльбрус исполняютсязаметно быстрее, чем на x86 и на IA-64. Тесты «Loop Unrolling» завершаютсяна комплексах типа Эльбрус быстрее, чем на комплексах IA-64 и x86 скомпилятором GCC пятой версии, но медленнее, чем на x86 с использованиемкомпилятора GCC четвертой версии.
При этом также недостатки компилятора.Учитывая полученные результаты, можно предположить, что архитектураядра процессора «Эльбрус» с точки зрения производительности являетсялидером среди архитектур VLIW и обладает потенциалом для улучшения. Сулучшением компилятора и повышением тактовой частоты микросхемпроцессороввычислительныекомплексысаппаратно-программнойплатформой «Эльбрус» могут иметь конкурентоспособную производительностьпо отношению к зарубежным аналогам.5.3.2 Компоновка модулей унифицированной конструкцииРеализация многопроцессорных модулей для вычислительных комплексовв распространенных корпусах (шасси) типа «Евромеханика» с соединительнойпанельюприводитквысокой201плотностикомпоновки,низкойремонтопригодности, высокому проценту брака или стоимости сборки модуля.Планирование трассировки таких модулей, как правило, не позволяет учестьмножество технологических и конструкторских ограничении, что приводит кпревышению сроков разработки модуля.