Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005) (1186026), страница 28
Текст из файла (страница 28)
Потенциал моделированияболее полно может быть достигнут при интеграции возможностей ирезультатов всех видов моделирования [3] для различных функций идисциплин СИ. Более того, потенциал самого СИ может быть болееполно реализован при интеграции моделирования с остальными дисциплинами функций СИ.Исходя из такого подхода к рассмотрению СИ, возникает идея136объединения компьютерных аппаратных, программных и информационных средств в единую среду – распределенную компьютерную средуподдержки СИ космических систем (РКСКС).
РКСКС, как инструментобработки информации и данных, создаст предпосылки и условия организации накопления и целостности данных, обмена этими даннымимежду функциями и дисциплинами СИ, а также между различнымиэтапами разработки КС.Построение распределенной вычислительной системы как интегрированной программно-аппаратной среды, определяемое такими целями, имеет много общего с задачами построения распределенных ипараллельных вычислительных систем – решение задач доступа и распределения ресурсов среды, надежности и информационной безопасности, обеспечение когерентности и т.д. Но есть и собственные задачи,в частности, разработка интерфейсов для обмена данными междуфункциями, дисциплинами и этапами СИ; определение правил управления данными и их накопления; возможная реконфигурация архитектуры РКСКС в соответствие с задачами СИ и специальными видамимоделирования (например, полунатурное моделирование, моделирование в реальном времени) и испытаний.
Эти задачи связаны как с пространственным и временным распределением процессов СИ, так и сразнородностью аппаратных и программных инструментальныхсредств СИ.Литература1. Аноприенко А.Я., Святный В.А. Высокопроизводительные информационно-моделирующие среды для исследования, разработки и сопровождения сложных динамических систем // Наукові праці Донецького державного технічного університету. Сер.
Проблеми моделювання та автоматизації проектування динамічних систем. Вип. 29. – Донецьк: ДонНТУ. –2001, С. 346–367.2. European Cooperation for Space Standadization. ECSS-E00A.http://www.estec.esa.nl/ecss.3. Murphy C.A. , Perera T. . The definition of simulation and its role withinan aerospace company, Simulation Practice and Theory 9 (2002) P. 273–291.137ДВУХЪЯДЕРНЫЕ ПРОЦЕССОРЫ КАК ПЛАТФОРМАДЛЯ СОЗДАНИЯ БУДУЩИХ HPC-КЛАСТЕРОВ.ТЕСТИРОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИМ.Б.
КузьминскийИнститут органической химии РАН, г. МоскваВведениеОсновным направлением повышения производительности микропроцессоров (МП) в ближайшее время становится переход к многоядерной архитектуре. Потенциально интересные для высокопроизводительных (HPC) кластеров МП – как х86-совместимые IntelXeon/Paxville, AMD Opteron, так и более дорогие IBM Power5, IntelItanium 2 (Montecito) являются двухъядерными, и типичные МП в кластерах ближайшего будущего станут именно многоядерными МП.Можно отметить 2 основные особенности применения современных двухъядерных МП, важные для HPC-кластеров: уменьшение пропускной способности (ПС) оперативной памяти (ОП) в расчете на ядроМП из-за разделения ядрами «общей шины» ОП [1] и резкий рост (впределе – удвоение) процессорной производительности узла, что вызывает проблему адекватности ПС межсоединения. Уменьшение ПС врасчете на ядро вкупе с ростом числа ядер в узле ставят вопрос об эффективности распараллеливания внутри узла, в т.ч.
и путем распараллеливания в модели общего поля памяти (OpenMP).Как показано в [1], микроархитектура двухъядерных МП Opteron инекоторые их технические характеристики могут давать им преимущества, в т.ч. при использовании в HPC-кластерах, поэтому в работе проведено тестирование производительности этих МП на ряде индустриальных тестов и задачах вычислительной химии.Тестирование производительностиНами использован сервер Supermicro AS-102A-8 c двумя двухъядерными МП Opteron 275 и набором микросхем - AMD8131/AMD8111,c ОП DDR333 (4 модуля DIMM емкостью по 1 Гбайт, по 2 модуля накаждый разъем МП). Результаты некоторых тестов сопоставлены сданными для двухпроцессорных серверов с Opteron 242 (также с ОПDDR333), используемых в Центре компьютерного обеспечения химических исследований РАН (ЦКОХИ).Сервер работал с SuSE Linux 9.0 для х86-64 (ядро 2.4.21-SMP), используемой также в кластере на базе Opteron 242.
Применялись средст138ва LAM MPI 7.0 и фортран-компиляторы Pathscale 2.1, Intel ifort8.1.023, pgf77/pgf90 6.0-4. В тестах Linpack (n=1000) сопоставлены 64разрядные библиотеки - AMD acml 2.6.0, Intel MKL 7.2, Atlas 3.7.8 иKazushiga Goto 0.94. Для измерения времени выполнения тестовLinpack применялся наиболее точный и стабильный таймер с использованием RDTSC [2], доработанный в ЦКОХИ для поддержания архитектуры х86-64.В качестве приложений использованы квантовохимические комплексы программ Gamess-US [3] и Gaussian-03 Rev. C02 [4], применяющие средства распараллеливания Linda/OpenMP и DDI дляGaussian и Gamess соответственно. Тестировалась стандартная двоичная версия от Gaussian, Inc., странслированная с pgf77-5.1. Gamess-USбыл скомпилирован нами в 32-разрядном варианте с использованиемifort-9.0, с ключами -O3 -xW.На сервере с Opteron 242 (Табл.1) ПС ОП (и масштабирование припереходе к 2 МП) в MPI-версии тестов STREAM 5.4 обычно несколькониже по сравнению со стандартной OpenMP-версией.
Распараллеливание OpenMP-версии в серверах с одноядерными Opteron близко к идеальному (2.0), что является следствием интеграции в МП контроллераОП.Таблица 1Сопоставление разных процессоров Opteron на тестах STREAMКомпилятор, ключиЦиклpathf90,как в табл.2copyscaleaddtriadpathf90,-O3 -staticcopyscaleaddtriadOpteron 242MPIOpenMP1ЦП2ЦП1ЦП2ЦП2961570032576339287755093173618530525775336266853165596233716694(1)3413632435656481339663823524635234616485368971903408638136967254Opteron 275OpenMP1ЦП2ЦП37474825370548193529470635174704Opteron242 (2)29904200270741923146457731344640Примечания.(1) Наилучший замер с ключами оптимизации, как в табл.
2; сопоставлениес верхней половиной табл.1 позволяет оценить разброс в оценке ПС приизмерениях.139(2) Данные при включенной опции BIOS «Node memory interleaving»; ключи оптимизации - как в табл.2Таблица 2Результаты тестов STREAM (Мбайт/с) на МП Opteron 275Компиляторpgf77(1)pathf90(2)ifort(3)Циклcopyscaleaddtriadcopyscaleaddtriadcopyscaleaddtriad1385023392462247633473705352935171667167417791796Число ядер24895330335223520482548194706470431783163336634034450531343264330445254509433643362961288231123160Примечания. Ключи оптимизации:(1) -O2 -Mvect=sse-Mnontemporal -Munsafe_par_align -mp;(2) pathf90 -O3 -CG:use_prefetchnta -LNO:prefetch_ahead=4 -mp; (3) -O3 -xW-openmp .В серверах с двухъядерными Opteron мы обнаружили проблемуразделения ядрами ПС ОП (см. табл.2).
Так, масштабирование ПС припереходе к применению двух ядер для pathf90 составило около 30%.Оно различно для разных компиляторов, но при переходе к 4 ядрам длявсех компиляторов ПС на 4 нитях оказалась меньше, чем на двух нитях. Эта проблема позволяет объяснить плохое масштабирование некоторых приложений с числом ядер. Данные результаты, как и другие,приведенные ниже, могут быть улучшены при переходе к применениюядер от 2.6.12 и старше, имеющих эффективную поддержку NUMAрежима.На тестах Linpack (n=100) наилучшие результаты обеспечиваеткомпилятор ifort (Табл.3). Кстати, для МП Xeon Nocona/3.2 ГГц с использованием ifort нами была достигнута производительность 1584MFLOPS (наивысший результат по сравнению с официальной таблицей Linpack).140Таблица 3Производительность на тестах Linpack (n = 100), MFLOPSКомпилятор и ключиpathf90 -Ofastifort -xW -O3 -ipopgf77 -fastsse -tp k8-64ПроизводительностьOpteron 242Opteron 275788 (1)11389891385 (2)8821278Примечания.
Все приведенные результаты относятся к размерности матрицы, содержащей коэффициенты перед неизвестными, равной 200х200.(1) Cвыше 870 MFLOPS при использовании ключей -O3 -ipa IPA:linear=ON, однако в этом режиме генерируется некорректный выполняемый код. При уровне оптимизации -O2 на Opteron 242 достигается 808MFLOPS.(2) 1404 MFLOPS с ключом -fast и последующей коррекцией кода дляобеспечения возможности выполнения на Opteron (правилами тестаLinpack это запрещено).На тестах Linpack(n=1000), Табл.4, лучшие результаты по производительности и масштабируемости для Opteron 242 дает acml. ДляMKL и acml ускорение на двух МП Opteron 242 близко к 1.9, на двухядрах Opteron 275 ускорение меньше (1.3 раза); при переходе к 4 ядрампроизводительность возрастает лишь на 20% для Atlas и на треть - дляMKL.
Это ухудшение обусловлено, вероятно, проблемой ПС ОП.Таблица 4Производительность на тестах Linpack (n = 1000), MFLOPSКомпилятор, библиотекаifort, MKLpathf90, Atlaspgf77, acmlПиковое значениеOpteron 2421 ядро2 ядра180833772167(1)334223254370320064001 ядро2447304332254400Opteron 2752 ядра46304020н/д88004 ядра61474818н/д17600Примечаниe (1): c библиотекой goto - 3155 MFLOPSВ табл. 5 приведены результаты для Opteron 275 с Gaussian, а втабл. 6 – для Gamess-US. В качестве базовой использована молекулатринитротриаминобензола из test178 к Gaussian-03 (300 базисныхфункций), кроме test397 (808 базисных функций). Test178 при переходек двум ядрам Opteron 275 в OpenMP распараллеливается удовлетвори141тельно. При работе с Linda, где обмены данными между параллельными процессами больше, очевидно, возникла проблема ПС ОП. На 4ядрах была использована гибридная схема распараллеливания: 2 нити вOpenMP при двух Linda-процессах.