Electra — це перша прототипна модель суперкомп'ютерної системи NASA. Побудована в 2016 році та розширена в 2017. Electra розміщується на невеликий відстані від головної будівлі NASA в Дослідницькому центрі Еймса. Система названа на честь однієї з семи зірок, що утворюють відкритий зоряний кластер Плеяд у сузір'ї Тельця.

Архітектура системи Electra сконфігурована наступним чином: 16 стійок Broadwell і 4 Skylake E-клітини 2,304 вузли 78,336 ядер 368 ТБ загальної пам'яті 4,79 петафлопс теоретична пікова продуктивність У кожній стійці є 4 окремі блоки стійок (IRU). Для кожних двох стійок є лідер стійки, який контролює їх. Умовні позначення для вузлів, що знаходяться на кожних двох стелажах, використовують лише непарні номери стійок.

Broadwell — 18 вузлів на IRU, з 144 вузлами, що знаходяться у кожних двох стійках(2 стійки х 4 IRU x 18 вузлів). Хост-імена для вузлів Broadwell — r [x] i [0-7] n [0-17], де x = непарні числа від 1 до 15.

Skylake — 36 вузлів на IRU, з 288 вузлами, що знаходяться у кожних двох стійках (2 стійки х 4 IRU x 36 вузлів). Хост-імена для вузлів Skylake — r [x] i [0-7] n [0-35], де x = непарні числа між 141 та 147.

Процесор, пам'ять та мережева підсистеми Архітектура системи Electra — це ICE X. У наведеній нижче таблиці представлена детальна статистика для процесорів, пам'яті та мережевих підсистем: Процесор Параметр BroadwellSkylakeCPU14-Core Xeon E5-2680v420-Core Xeon Gold 6148Набір інструкційAVX2AVX-512Hyperthreading++TurboBoost++ Частота CPU 2.4 GHz2.4 GHzМаксимальні операції з плаваючою точкою з подвійною точністю

за цикл на ядро1632 Кількість ядер/вузол 2840 Загальна кількість вузлів 1,1521,152 Загальна кількість ядер 32,25646,080 Загальна подвійна точність (Тфлопс) 1,2393,539 Пам'ятьПараметрBroadwellSkylakeКеш L1Локальне для кожного ядра;

Інструкція кеш-пам'яті: 32K

Кеш-пам'ять: 32K;

Асоціативність: 8;

Розмір лінії кешу: 64BЛокальне для кожного ядра;

Інструкція кеш-пам'яті: 32K

Кеш-пам'ять: 32K;

Асоціативність: 8;

Розмір лінії кешу: 64BКеш L2256 КБ на ядро;

Асоціативність: 8;

Розмір лінії кешу: 64B1 Мб на ядро;

Асоціативність: 16;

Розмір лінії кешу: 64BКеш L335 МБ поділено

включно 14 ядрами;

Асоціативність: 20;

Розмір лінії кешу: 64B27,5 МБ поділено

не включно 14 ядрами;

Асоціативність: повна;

Розмір лінії кешу: 64BTLBЛокальний для кожного ядраРозмір сторінки за замовчуванням4 KB4 KBПам'ять / Ядро4.6 GB; DDR44.8 GB; DDR4Загальна пам'ять / вузол128 GB192 GBШвидкість та пропускна здатність2400 МГц;

4 канали;

76,8 ГБ/сек читання/запис2666 МГц;

6 каналів;

128 Гб/сек читання/записМережеве з'єднанняQuickPath Interconnect

4,8 ГГц,

9.6 GT/сек, або 38,4 ГБ/секUltra Path Interconnect 5.2 GHz, 10.4 GT/s, або 41.6 ГБ/сек Мережева підсистемаПараметрBroadwellSkylakeIB Пристроїв на вузліDual single-port 4x FDR IB

Mezzaninecard (2 single-port HCAs);

56 Gbits/sDual single-port 4x EDR IB

Mezzanine card (2 single-port HCAs);

100 Gbits/sIB Перемикачі між вузлами4x FDR; 56 Gbits/s4x EDR; 100 Gbits/s

Огляд вузлів Electra Skylake

Electra включає 1152 вузли Skylake, які розділені на вісім фізичних стійок. Кожен вузол містить два 20-ядерних сокети Xeon Gold 6148 (2,4 ГГц) і 192 Гб пам'яті. Вузли підключені до мережі Electra InfiniBand (ib0 та ib1) через пристрої з посиленою швидкістю передачі даних (4X EDR) з чотирьохрядковими лініями та комутаторами для міжвузляного зв'язку. Ткани ib1 використовуються в основному для введення / виводу і підключаються до файлових систем Pleiades Luster. Крім того, Electra і Pleiades мають ті ж самі домашні файлові системи, фронт-системи Pleiades (PFEs) і сервер PBS.Існує можливість отримати доступ до Electra лише за допомогою завдань PBS, поданих від PFE.

Використання вузлів Electra Skylake завантажується в розподілення проекту на плеяди у розмірі 6,36 стандартних розрахункових одиниць (СРО).

Компіляція коду для вузлів Skylake Процесори Skylake включають Advanced Vector Extensions 512 (AVX-512). Оптимізація Intel AVX-512 включена в компілятор Intel версії 16.0 та пізніших версій.

Для специфічних для Skylake оптимізацій використовується опція компілятора -xCORE-AVX512.

Якщо потрібен один виконуваний файл, який буде працювати на будь-якому з типів процесорів Electra, Pleiades або Merope, при відповідній оптимізації, що визначається під час виконання, можна скомпілювати програму за допомогою опції -o3 -axCORE-AVX512 -xSSE4.2.

Примітка. Використання будь-якого з цих параметрів -xCORE-AVX512 або -axCORE-AVX512 може покращити чи знизити ефективність коду. Обов'язково необхідно перевіряти продуктивність з та без цих прапорів, перш ніж використовувати їх для виробничих циклів.

Запуск роботи PBS на вузлах Electra Skylake Щоб замовити вузли Electra Skylake, використовується команда:model = sky_eleВажливо: оскільки версії MPT 2.15 та попередні версії не підтримують адаптери хост-каналів ConnectX-5 (HCA), змінні середовища MPI_IB_XRC та MPI_XPMEM_ENABLED були вимкнені для завдань, що виконуються на Skylake. Якщо програми MPI виконують важливі колективні операції з MPI і покладаються на те, що ці два змінні можна активувати, використовується MPT 2.16 або новіші версії.

Зразок сценарію PBS для вузлів Electra Skylake:#PBS -l select=10:ncpus=40:mpiprocs=40:model=sky_ele #PBS -l walltime=8:00:00 #PBS -q normal

module load mpi-hpe/mpt.2.17r4

# To test the 2018.0.128 compiler module use -a /nasa/modulefiles/testing module load comp-intel/2018.0.128

cd $PBS_O_WORKDIR

mpiexec -np 400 ./a.outПеревірка використання розподілу для Electra Jobs: acct_query -c electraПриклади: Відстежувати загальне використання СРО для одного з GID (наприклад, s0001) з 30.09.2007:% acct_query -c electra -ps0001 -b 9/30/17Для відстеження використання СРО для кожної роботи запущено сьогодні: % acct_query -c electra -low

Огляд вузлів Electra Broadwell

Система має 16 стійок Broadwell, кожна з яких складається з 72 вузлів. Кожен з 72 вузлів містить два 14-ядерних чипи E5-2680v4 (2,4 ГГц) і 128 Гб пам'яті.

Electra's InfiniBand (ib1) використовується в основному для введення / виводу і підключається до файлових систем Pleiades Luster. Крім того, Electra і Pleiades мають ті ж самі домашні файлові системи, фронт-системи Pleiades (PFEs) і сервер PBS. Можна отримати доступ до Electra лише за допомогою завдань PBS, поданих від PFE.

Компіляція коду для вузлів Broadwell Процесори Broadwell підтримують розширення AVX2 (Advanced Vector Extensions 2), на додаток до AVX (підтримуються, починаючи з Sandy Bridge), SSE4.2 (підтримуються, починаючи з Nehalem) та попередні покоління SSE.

AVX2 підтримує операції з рухомою комою, множинне додавання, цілі векторні вказівки до 256 біт, а також обробка векторної графіки. Програма може скористатися перевагами AVX2, однак не всі програми можуть ефективно використовувати цей набір інструкцій. Рекомендується використовувати останній компілятор Intel comp-intel / 2016.2.181 та експериментувати з наведеними нижче наборами параметрів компілятора перед тим, як почати виробництво в вузлах Broadwell: -O2 -xCORE-AVX2 -О3 -xCORE-AVX2 Ці параметри компілятора створюють виконуваний файл, оптимізований для роботи на Broadwell. Якщо необхідно створити єдиний виконуваний файл, який буде працювати на будь-якому з існуючих типів процесорів…

Використання -axCORE-AVX2 дозволяє компілятору генерувати декілька шляхів коду з відповідною оптимізацією, яка визначається під час виконання.

Запуск роботи PBS на вузлах Electra Broadwell Щоб замовити вузли Broadwell, використовується команда:model=bro_eleПримітка: якщо робота вимагає лише model = ver_ bro_ele, то за замовчуванням PBS виконуватиме роботу на вузлах Pleiades або Electra Broadwell, залежно від того, який з них стане доступним першим. Якщо необхідно, щоб програма працювала лише на Electra, необхідно додати до запиту на роботу:-l site = static_broad Наприклад:# PBS -l select = 10: ncpus = 28: mpiprocs = 28: model = bro_ele # PBS -l site = static_broadwellЗразок сценарію PBS для вузлів Electra Broadwell:#PBS -l select=10:ncpus=28:mpiprocs=28:model=bro_ele #PBS -l walltime=8:00:00 #PBS -q normal module load comp-intel/2016.2.181 mpi-sgi/mpt cd $PBS_O_WORKDIR mpiexec -np 280 ./a.out

Література

Див. також

Electra в ТОП500 Суперкомп'ютер Документація NASA по Electra