Добре дошли в сайта на Националният център за суперкомпютърни приложения!

НЦСП ресурси

НЦСП ресурси

Last Updated: Sunday, 11 December 2016

Високопроизводителна хетерогенна изчислителна система "Avitohol"


От края на 2015 година новият суперкомпютър Avitohol е в работен режим и е предоставен на потребителите.

HPC AVITOHOL at NCSAСистемата е един от прототипите на хетерогенните Tera and Peta FLOPS суперкомпютри, които ще се произвеждат в Европейския съюз. Нейната архитектурата и организацията на изчислителния процес бяха предложени и обосновани от Националния център за суперкомпютърни приложения и бяха одобрени от Jülich Supercomputing Centre и Institute for Advanced Simulation, Forschungszentrum Jülich. Jülich Supercomputing Centre е координатор на сдружението Partnership for Advanced Computing in Europe (PRACE).

Бе уточнено, че ще бъдат използвани многоядрени процесори (Multi Core Processors) и копроцесори (Many Integrated Core Architecture Processor) на фирмата Intel.

Другият прототип на европейски хетерогенни суперкомпютри е DEEP-EP.

Предложената от нас архитектура е слабо свързана система със силно свързани изчислителни възли.

Изчислителните възли се състоят от две до шест двойки процесор Intel Xeon E5 - 2600 v2 /v3 и копроцесори Intel Xeon Phi 7120P. В Avitohol са използвани модули с две двойки процесор - копроцесор. Минималният обем на паметта за всяка двойка е 32 MB.

Двойките са свързани помежду си с комутатор който осигурява едновременно свързване на всички процесори в режим "точка - точка" и пренасяне на информацията между тях със скорост 6.4 GB/s. Това позволява във възела да се използват два вида паралелни много нишкови изчисления, организирани чрез протоколите MPI/OpenMP - с разпределена памет и с обща памет (global array). Комбинацията от тях дава възможност, при организацията на изчислителния процес, да се приложи Partitioned Global Address Space (PGAS) programming models, което позволява хардуера на възела софтуерно да се преконфигурира под структурата на алгоритъма за изчисление.

Слабо-свързаните системи са единствената архитектура, която позволява да се организират паралелни изчисления на три нива и да се постигне максималната производителност, заложена в алгоритмите за решения на много големи задачи или при моделирането на сложни обекти.

Два примера:

  • Моделиране на аеродинамиката на самолети, включително изчисляване на турболентността и големите вихри в слоя въздух, който обтича тялото.

Трябва числено да се решат системата частни диференциални уравнения от вида:

Plane Aerodynamics Simulation Differential Equation

където: Q – вектор на пълните или линеаризирани консервативни променливи; F, G, H – вектори на  полните или линеаризирани консервативни потоци; Fv, Gv, Hv – дисипативни сили. Това са сили, енергията на които намалява при взаимодействие с механично тяло и преминава в друг вид енергия, например топлина. Такава е силата на челното съпротивление, което въздуха оказва на летящ самолет; Re – число Рейнолд.

За да се реши горната система уравнения трябва да се добави група уравнения на Ойлер:

  • LEE – линеаризирани уравнения на Ойлер;
  • NLDE –Нелинейни, спрямо външните въздействия уравнения на Ойлер;
  • EE – пълно уравнения Ойлер;
  • LNSE – линеаризирано уравнение на Навие - Стокс;
  • NSE – пълно уравнение на Навие - Стокс.

Частните диференциални уравнения се трансформират в система алгебрични уравнения като се използва метода на крайните елемент ( Finite Element Methods).

За да се изчисли аеродинамиката, тялото на самолета се покрива с плътна мрежа от крайни елементи (малки квадрати).

(а) (б)

Фигура 1: Моделиране аеродинамиката на самолети.   

Генерираната мрежата е толкова фина, че не се различават отделните квадратчета. В общия случай, тя може да се състои от няколко милиона и даже десетки милиона квадратчета. Такава мрежа поражда система от няколко десетки милиона алгебрически уравнения. Очевидно, мрежата трябва да се раздели на няколко стотин парчета, което ще породи разделянето на системата уравнения на няколко стотин подсистеми. Това разделяне се нарича декомпозиция. На фиг. 1(б) са илюститрани част от тялото, двата двигателя и хоризонталния и вертикален стабилизатор на опашката. Това все пак е голям модул, който може да  породи няколко милиона алгебрични уравнения. За да могат да се организират няколко потока паралелни изчисления, модулът се разделя на елементи:

  • ляв двигател
  • десен двигател
  • хоризонтален стабилизатор
  • вертикален стабилизатор
  • задна част на тялото на самолета.

Трябва да се спази правилото, границите между елементите да са максимално тесни.

По същия начин се отделят крилата, тялото на самолета, носовата част и кабината, външните резервуари, ако има такива.

Системата от алгебрични уравнения, породена от всеки елемент, се изпраща за решаване на група изчислителни възли, която се нарича модул на суперкомпютъра. Елементът се разделя на части като се използва метода за разделение на области (Domain Decomposition Method, DDM). Системата, породена от всяка област, се решава на един изчислителен възел. И така, като се приложи известното правило "разделяй и владей", се получават две нива на паралелни изчисления:

  • разделяне на обекта на модули и изпращане на породените системи алгебрични уравнения на по една на изчислителен модул;
  • разделяне на системата уравнения по метода DDM.

Алгоритмите за решаване на системата от всеки възел свеждат задачата до операции с вектори и матрици, които се разделят между ядрата на процесорите и поражда множество паралелно работещи нишки. Това е третото ниво на паралелизация.

Този подход с успех се прилага за решаване на сложни обекти, които се описват с други системи частни диференциални уравнения, като тримерни уравнения на Лаплас, Поасон, Поасон - Болтцман, уравнението на Иелмхолц, вълновото уравнение, уравнението на разпространение на въздуха в произволна среда, уравнение на преноса, уравненията на топло и маса преноса и други.

Очевидно, правилното разделяне на модули, елементи и области рязко намалява броя на комуникациите между двойките процесори на системата по сравнение с класическата архитектура и организация на изчисленията в клъстерите. Естествено, това съществено намалява броя на прекъсванията на процесорите и сумарното време за обмен на информацията между тях.

Същата методика с успех може да се приложи за решаването на коренно различна задача - моделирането на динамиката на много големи молекули и вериги от молекули , които могат да съдържат от няколко милиона до няколко стотин милиона атома.

  • Моделиране динамиката на молекули

Молекулата се разделя на блокове и всеки блок се изпраща на един изчислителен модул (Фиг. 2). Блокът се разделя на елементи, броят на които е равен на броя на изчислителните възли на модула. Във всеки изчислителен възел, като се използва хибридния паралелен модел MPI/OpenMP, който разделя частите от молекулата на групи атоми и ги разпределя между ядрата на процесорите. Алгоритмът за изчисление генерира паралелно работещи нишки във всяко ядро.

Sumulation of Molecular Dynamics.png

Фигура 2: Моделиране динамиката на молекули - разделяне молекулата на блокове. 

Разделяне на големите биомолекули на блокове за организиране на три нива на паралелните изчисления при моделирането на тяхната динамиката. Очевидно, правилното разделяне на модули, елементи и области, рязко намалява броя на  комуникациите между двойките процесори на системата по сравнение с класическата архитектура и организация на изчисленията в клъстерите. Естествено,  това  съществено намалява броя на прекъсванията на процесорите и сумарното време за обмяна на информацията между тях.


Реалната производителност на слабо - свързаните системи е на порядък по-висока от реалната производителност на клъстери със същия брой процесори.


И така, архитектурата на слабо-свързаната система Авитохол, която осигурява ефективно използвана на нейната реална мощност от изчислителни процеси с три иерархични паралелни нива на изчисления е:

Фигура 3: Архитектура на слабо-свързаната система Авитохол.

Асамбълът се разделя на модули, всеки модул се разделя на области, всяка област се изпраща на един изчислителен модул, който се състой от няколко възела, всеки с няколко централен процесор (CPUs) и копроцесори (GPUS) . Последната колона са нишките за векторни и матрични изчисления (Simple Instruction Multiple Data, SIMD).

Avitohol е проектиран и произведен от:

  • проф. Стоян Марков - главен конструктор
  • Dr. Scott Misage  - главен консултант
  • Vice President and General Manager of HPC
  • Hewlett Packard Enterprise,Austin, Texas

Hewlett Packard Enterprise High Performance Computing Team, Hardware design groupe

  • Jean Marie Huguenin
  • Drasko Tonic
  • Volodimir Saviac
  • Nathalie Violette

Intel Europe High Performance Computing Laboratory, System Software Design group

  • Andrey Semin
  • Dmitry Nemirov
  • Victor Gamayonov

Суперкомпютърът е произведен от Хюлет - Пакард България. Ръководен екип:

  • Ираван Хира - ръководител
  • Ивайло Стоянов - Production Leader
  • Красимир Гелев - Chief of Production and Assembling Team

 


 Ръководства за използване на изчислителите ресурси на суперкомпютър Avitohol.

 

Contact Info
©Copyright 2011-2017 НЦСП, ИИКТ- БАН | Предоставено от ИИКТ- БАН