Electra Supercomputer
Electra — це перша прототипна модель суперкомп'ютерної системи NASA. Побудована в 2016 році та розширена в 2017. Electra розміщується на невеликий відстані від головної будівлі NASA в Дослідницькому центрі Еймса. Система названа на честь однієї з семи зірок, що утворюють відкритий зоряний кластер Плеяд у сузір'ї Тельця.[1]
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. У наведеній нижче таблиці представлена детальна статистика для процесорів, пам'яті та мережевих підсистем[2]:
Процесор | ||
---|---|---|
Параметр | Broadwell | Skylake |
CPU | 14-Core
Xeon E5-2680v4 |
20-Core
Xeon Gold 6148 |
Набір інструкцій | AVX2 | AVX-512 |
Hyperthreading | + | + |
TurboBoost | + | + |
Частота CPU | 2.4 GHz | 2.4 GHz |
Максимальні операції з плаваючою
точкою з подвійною точністю за цикл на ядро |
16 | 32 |
Кількість ядер/вузол | 28 | 40 |
Загальна кількість вузлів | 1,152 | 1,152 |
Загальна кількість ядер | 32,256 | 46,080 |
Загальна подвійна точність (Тфлопс) | 1,239 | 3,539 |
Пам'ять | ||
---|---|---|
Параметр | Broadwell | Skylake |
Кеш L1 | Локальне для кожного ядра;
Інструкція кеш-пам'яті: 32K Кеш-пам'ять: 32K; Асоціативність: 8; Розмір лінії кешу: 64B |
Локальне для кожного ядра;
Інструкція кеш-пам'яті: 32K Кеш-пам'ять: 32K; Асоціативність: 8; Розмір лінії кешу: 64B |
Кеш L2 | 256 КБ на ядро;
Асоціативність: 8; Розмір лінії кешу: 64B |
1 Мб на ядро;
Асоціативність: 16; Розмір лінії кешу: 64B |
Кеш L3 | 35 МБ поділено
включно 14 ядрами; Асоціативність: 20; Розмір лінії кешу: 64B |
27,5 МБ поділено
не включно 14 ядрами; Асоціативність: повна; Розмір лінії кешу: 64B |
TLB | Локальний для кожного ядра | |
Розмір сторінки за замовчуванням | 4 KB | 4 KB |
Пам'ять / Ядро | 4.6 GB; DDR4 | 4.8 GB; DDR4 |
Загальна пам'ять / вузол | 128 GB | 192 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 ГБ/сек |
Мережева підсистема | ||
---|---|---|
Параметр | Broadwell | Skylake |
IB Пристроїв на вузлі | Dual single-port 4x FDR IB
Mezzaninecard (2 single-port HCAs); 56 Gbits/s |
Dual single-port 4x EDR IB
Mezzanine card (2 single-port HCAs); 100 Gbits/s |
IB Перемикачі між вузлами | 4x FDR;
56 Gbits/s |
4x EDR;
100 Gbits/s |
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[3].
Використання вузлів Electra Skylake завантажується в розподілення проекту на плеяди у розмірі 6,36 стандартних розрахункових одиниць (СРО).
Процесори 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 може покращити чи знизити ефективність коду. Обов'язково необхідно перевіряти продуктивність з та без цих прапорів, перш ніж використовувати їх для виробничих циклів.
Щоб замовити вузли 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
Система має 16 стійок Broadwell, кожна з яких складається з 72 вузлів. Кожен з 72 вузлів містить два 14-ядерних чипи E5-2680v4 (2,4 ГГц) і 128 Гб пам'яті.
Electra's InfiniBand (ib1) використовується в основному для введення / виводу і підключається до файлових систем Pleiades Luster. Крім того, Electra і Pleiades мають ті ж самі домашні файлові системи, фронт-системи Pleiades (PFEs) і сервер PBS. Можна отримати доступ до Electra лише за допомогою завдань PBS, поданих від PFE[4].
Процесори 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. Якщо необхідно створити єдиний виконуваний файл, який буде працювати на будь-якому з існуючих типів процесорів…
Цей розділ потребує доповнення. (вересень 2018) |
Використання -axCORE-AVX2 дозволяє компілятору генерувати декілька шляхів коду з відповідною оптимізацією, яка визначається під час виконання.
Щоб замовити вузли 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 Supercomputer. www.nas.nasa.gov (англ.). Архів оригіналу за 1 лютого 2017. Процитовано 4 травня 2018.
- ↑ Electra Configuration Details - HECC Knowledge Base. www.nas.nasa.gov (англ.). Архів оригіналу за 24 січня 2022. Процитовано 4 травня 2018.
- ↑ Preparing to Run on Electra Skylake Nodes - HECC Knowledge Base. www.nas.nasa.gov (англ.). Архів оригіналу за 20 квітня 2021. Процитовано 4 травня 2018.
- ↑ Preparing to Run on Electra Broadwell Nodes - HECC Knowledge Base. www.nas.nasa.gov (англ.). Архів оригіналу за 22 квітня 2021. Процитовано 4 травня 2018.
- Electra в ТОП500 [Архівовано 5 травня 2018 у Wayback Machine.]
- Суперкомп'ютер
- Документація NASA по Electra