Полезни съвети

Мрежи за суперкомпютри

Pin
Send
Share
Send
Send


Разпределените изчисления са един от начините да допринесете за някои интересни проекти. Когато компютърът ви бездейства, споделете силата му с проекта SETI, който търси извънземни цивилизации. В този случай вашият компютър ще анализира сателитни данни и информация, получена от телескопи.

Тази статия ще ви помогне да се присъедините към проекти (като SETI), включващи разпределени изчисления. Статията ви представя и BOINC, разпределен изчислителен софтуер.

Имате нужда от компютър. Ако вече имате такъв, отидете в раздела Източници и връзки и инсталирайте софтуера BOINC. Ако не се интересувате от проекта SETI, по-долу ще намерите списък с други проекти.

Ако много пари

Отделно отбелязваме изключително скъпата, но продуктивна линия процесори на гнездото Intel Xeon LGA1567.
Най-добрият процесор в тази серия е E7-8870 с десет ядра 2.4 GHz. Цената му е 4616 долара. За такива процесори се пускат HP и Supermicro! осем-! шаси на сървъра. Осем 10-ядрени Xeon E7-8870 2.4 GHz процесори с HyperThreading поддържат 8 * 10 * 2 = 160 нишки, който се показва в Windows Task Manager като сто и шестдесет графики за зареждане на процесора, матрица 10x16.

За да могат осем процесора да се поберат в случая, те не се поставят веднага на дънната платка, а на отделни дъски, които се залепват в дънната платка. Снимката показва четири дънни платки с процесори, инсталирани в дънната платка (две на всяка). Това е решение на Supermicro. В решение на HP всеки процесор има своя собствена платка. Цената на решение на HP е два до три милиона, в зависимост от броя на процесорите, паметта и други. Шасито на Supermicro струва 10 000 долара, което е по-привлекателно. В допълнение, Supermicro може да постави четири копроцесорни разширителни карти в PCI-Express x16 портовете (между другото, все още ще има място за адаптер Infiniband, който да събере клъстер от тях), но само две в HP. По този начин, за да създадете суперкомпютър, осем-процесорна платформа от Supermicro е по-привлекателна. Следващата снимка от изложбата показва пълния суперкомпютър с четири GPU платки.

Обаче е много скъпо.

Комуникационни мрежи

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

Изпълнението на суперкомпютър при задачи с интензивен обмен на данни между възлите (моделиране на проблеми, проблеми на графики и неправилни мрежи, изчисления с помощта на оскъдни матрици) се определя главно от работата на мрежата, така че използването на конвенционални търговски решения (например Gigabit Ethernet) е изключително неефективно. Реалната мрежа обаче винаги е компромисно решение, при разработването на което се определят приоритети между цена, производителност, консумация на енергия и други изисквания, които са до голяма степен противоречиви: опитите за подобряване на една характеристика могат да доведат до влошаване на другата.

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

Фиг. 1. Топология 4D-торус (3x3x3x3)

Мрежовата структура, която определя как точно са свързани помежду си възлите на системата, се определя от топологията на мрежата (обикновено решетка, торус или гъсто дърво) и набор от структурни параметри: броя на измерванията, броя на нивата на дърветата, размерите на страните на тора, броя на превключвателите на нивата на дървото, броя на възлите на мрежата портове на рутери и т.н. Фигура 1 показва пример на топологията на четириизмерен торус 3x3x3x3.

Архитектурата на рутера определя структурата и функционалността на блоковете, отговорни за прехвърлянето на данни между мрежовите възли, както и необходимите свойства на протоколите на каналния, мрежовия и транспортния слой, включително алгоритмите за маршрутизиране, арбитраж и контрол на потока на данни. Архитектурата на мрежовия адаптер определя структурата и функционалността на блоковете, отговорни за взаимодействието между процесора, паметта и мрежата, по-специално MPI операциите се поддържат на това ниво, RDMA (Remote Direct Access Access - директен достъп до паметта на друг възел без участието на неговия процесор), потвърждения за получаване от друг възел на пакета, обработка на извънредни ситуации, агрегиране на пакети.

За оценка на работата на комуникационна мрежа най-често се използват три характеристики: капацитет (количество предавани данни за единица време), забавяне на комуникацията (време за пренос на данни по мрежата), темп на съобщение (обикновено те отделно отчитат скоростта на доставка при изпращане, получаване и предаване на пакети между вътрешните единици на рутера).

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

  • ефективна реализация на библиотеката Shmem, като опция за поддържане на модела на еднопосочна комуникация и GASNet, на който се основава внедряването на много езици PGAS,
  • ефективно изпълнение на MPI (обикновено това изисква ефективна поддръжка на механизма на буфери за пръстени и потвърждения за получени пакети),
  • ефективна поддръжка за колективни операции: излъчване (изпращане на едни и същи данни едновременно до много възли), намаляване (прилагане на двоична операция, например добавяне, към набора от стойности, получени от различни възли), разпределение на масивни елементи върху множеството възли (разпръскване), сглобяване на масив от елементи, разположени на различни възли (събиране),
  • ефективна поддръжка за операции за синхронизация между възела (поне бариерна синхронизация), ефективно взаимодействие с мрежа от голям брой процеси на възел и гарантиране на надеждна доставка на пакети.

Важна е и ефективната поддръжка на работата на адаптера с паметта на хоста, без участието на процесора.

Чуждестранни високоскоростни мрежи

Всички комуникационни мрежи могат да бъдат разделени в два класа: търговски и потребителски, разработени като част от компютърните системи и достъпни само с тях. Сред търговските мрежи пазарът е разделен между InfiniBand и Ethernet - в списъка Top500 (юни 2011 г.) 42% от системите използват InfiniBand, а 45% използват Gigabit Ethernet. В същото време, ако InfiniBand е съсредоточен върху сегмента от високоефективни системи, предназначени за сложни изчислителни задачи с голям брой комуникации, тогава Ethernet традиционно заема ниша, където обменът на данни между възлите е некритичен. В суперкомпютрите Ethernet мрежата, поради ниската си цена и наличност, често се използва като помощна сервизна мрежа, за да се намали намесата на контролния трафик и трафика на задачи.

Мрежата Inifiniband първоначално беше фокусирана върху конфигурации с топологията на Fat tree, но най-новите версии на превключватели и рутери (произведени основно от QLogic) поддържат многоизмерната топология на тора (използвайки Rusing Engine Torus-2QoS), както и хибридна топология от 3D тора и Дебело дърво. Суперкомпютърът Sandia RedSky, сглобен в началото на 2010 г. и вече на 16-то място в Top500, е един от първите мащабни проекти с 3D тора на InfiniBand и топология (6x6x8). Освен това сега се обръща много внимание на ефективната поддръжка на RDMA операциите и библиотеката на Shmem (по-специално Qlogic Shmem).

Популярността на InfiniBand се дължи на сравнително ниската му цена, разработената екосистема на софтуер и ефективната поддръжка за MPI. Въпреки това, InfiniBand има своите недостатъци: ниска скорост на предаване на съобщения (40 милиона съобщения в секунда в най-новите решения от Mellanox), ниска ефективност на предаване на къси пакети, сравнително голямо закъснение (повече от 1,5 μs за предавания от възел към възел и допълнителни 0,1- 0,5 μs на транзитен възел), слаба опора за тороидалната топология. Като цяло може да се твърди, че InfiniBand е продукт за масовия потребител и по време на неговото развитие беше направен компромис между ефективност и универсалност.

Можем да отбележим и мрежата Extoll, която се подготвя за пускане на пазара - развитието на университета в Хайделберг под ръководството на проф. Улрих Брунинг. Основният акцент в развитието на тази мрежа е да се сведе до минимум закъсненията и да се увеличи скоростта на доставка при еднопосочни комуникации. Предвижда се Extoll да има 3D топология на тора и да използва оптични връзки с честотна лента 10 Gb / s на платно (сериен канал за предаване на данни в рамките на връзката) и ширина 12 ленти на връзка. Сега има прототипи на мрежата Extoll на FPGA: R1 - базиран на Virtex4, R2 Ventoux - двувузлова подредба, базирана на Virtex6. Еднопосочната честотна лента на връзка е 600 MB / s (за R1). Поддържат се и два интерфейса (HyperTransport 3.0 и PCI Express gen3) с процесор, което ще позволи интегрирането на тази мрежа в Intel и AMD платформи. Extoll поддържа няколко начина за организиране на еднопосочни записи, свой собствен MMU (Unit Management Unit, блок за превод на виртуални адреси във физически адреси) и атомни операции.

За разлика от търговските мрежи, потребителските мрежи заемат много по-малък пазарен дял, но те се използват в най-мощните суперкомпютри от Cray, IBM, SGI, Fujitsu, NEC и Bull. Когато проектират персонализирани мрежи, разработчиците имат повече свобода и се опитват да използват по-прогресивни подходи поради по-ниската важност на пазарната привлекателност на крайния продукт, решавайки преди всичко проблема за постигане на максимална ефективност на определен клас задачи.

Суперкомпютърът K Computer използва собствена комуникационна мрежа Tofu (TOrus FUsion), която е мащабируем 3D торус, чиито възли съдържат групи от 12 възли (групите възли са свързани с 12 мрежи с 3D торус и всеки възел от тази група има свой собствен изход 3D торова мрежа). Възлите във всяка група са свързани помежду си от 3D торус със страни 2x3x4 без дублирани връзки, което е еквивалентно на 2D торус със страни 3x4 (така получаваме 5D торус с фиксирани две измерения). По този начин възелът на мрежата на Tofu има 10 връзки с еднопосочна пропускателна способност 40 Gb / s всяка. Бариерната синхронизация на възлите и редукцията (цяло число и плаваща точка) се поддържат в хардуера.

Основните цели в развитието на суперкомпютъра Tianhe-1A бяха да се постигне висока енергийна ефективност, да се развие собствен процесор и мрежа, превъзхождащи InfiniBand QDR. Суперкомпютърът се състои от 7168 изчислителни възли, свързани от мрежата на Arch по собствен дизайн с топологията на дебелото дърво. Мрежата е изградена от 16-портови рутери, широчина на лентата на еднопосочна връзка - 8 GB / s, забавяне - 1,57 μs. Поддържани RDMA операции и оптимизирани колективни операции.

Класическите представители на системи, използващи тороидална топология за комбиниране на изчислителни възли, са системи за IBM Blue Gene серия, в първите две поколения от които - Blue Gene / L (2004) и Blue Gene / P (2007) - използваха 3D топологията на тора. Мрежата в Blue Gene / P има сравнително слаби връзки с едностранна честотна лента от 0,425 GB / s, което е с порядък по-нисък от честотната лента на съвременната му връзка InfiniBand QDR, но хардуерно поддържаната бариерна синхронизация и колективните операции (в отделни дървовидни мрежи) позволява добра мащабируемост на реални приложения. В допълнение, всички интерфейси и маршрутизаторни единици са интегрирани в микропроцесора BPC (Blue Gene / P Chip), което значително намалява забавянията при предаване на съобщения. Комуникационната мрежа от следващото поколение Blue Gene / Q има 5D-топология и за разлика от своите предшественици, няма отделни мрежи за бариерна синхронизация и колективни операции. Blue Gene / Q чипът за първи път се превърна в многоядрен-многопоточен - четири хардуерни нишки на ядро ​​с 16 ядра, което позволява отслабване на мрежовите изисквания и гарантиране на толеранс на забавяне. Пропускателната способност на връзката е увеличена до 2 GB / s, но все още остава малка в сравнение с Cray Gemini или Extoll. Ниската пропускателна способност в тези системи се изравнява от големия размер на тора (голям брой връзки) и в резултат от малкия диаметър на мрежата (значително по-малък от този на мрежи с 3D топология на тора със същия брой възли). Наличните източници съобщават за създаването на два суперкомпютри Blue Gene / Q transpetaflops: Sequoia с производителност 20 PFLOPS и Mira - 10 PFLOPS. Можем да заключим, че Blue Gene / Q е фокусиран върху задачи, които ще използват десетки и стотици хиляди изчислителни възли с мрежов трафик от типа „всички за всички“.

Друг привърженик на подхода за изграждане на комуникационни мрежи с тороидална топология е Cray, който продължава да използва 3D топологията на tor, като същевременно увеличава пропускателната способност и броя на връзките, свързващи съседните възли. Настоящото поколение на тороидалната мрежа Cray е мрежата Cray Gemini. Един рутер Gemini съответства на два рутера от предишното поколение SeaStar2 +, тоест всъщност на два мрежови възла, следователно в Gemini вместо 6 връзки 10 се използват за свързване към съседни възли (2 служат за свързване на два адаптера един към друг).

Компонентите (мрежови адаптери, комутатори, рутери) на мрежа за суперкомпютър, за разлика от процесорите, често са по-скъпи и достъпът до тях е по-ограничен. Например, сега превключвателите за мрежата InfiniBand, която е основната търговска мрежа за суперкомпютри, се произвеждат само от две компании, като двете са контролирани от САЩ. Това означава, че при липса на собствени разработки в областта на високоскоростните мрежи, създаването на съвременни суперкомпютри във всяка страна, с изключение на САЩ, Китай или Япония, може лесно да се контролира.

Вътрешни мрежи

Развитието на комуникационни мрежи за използване в суперкомпютри се осъществява от редица домашни организации: RFNC VNIIEF (има много малко информация за тези разработки в отворени източници), Института за софтуерни системи на Руската академия на науките и RSK SKIF, IPM RAS и Научноизследователския институт Квант (мрежа MVS-Express ").

Комуникационната мрежа за 3D tor за руско-италианския суперкомпютър SKIF-Aurora е напълно изградена с помощта на Altera Stratix IV FPGA, което обяснява доста малката честотна лента на връзка - 1,25 GB / s (FPGA ресурсите са много ограничени).

В мрежата MVS-Express PCI Express 2.0 се използва за интегриране на изчислителните възли, а възлите са свързани чрез 24 порта. Мрежата има топология, близка до Дебелото дърво. Мрежовият адаптер в изчислителния възел има един порт с ширина 4 ленти, в резултат на което еднопосочната пикова пропускателна способност на връзка е 20 Gbit / s, без да се взема предвид кодирането надземни. Предимството на използването на PCI Express в MVS-Express е ефективната поддръжка на споделена памет с възможност за еднопосочна комуникация. В резултат на това мрежата е удобна за внедряване на библиотека Shmem и PGAS езици (UPC, CAF).

С подкрепата на Министерството на промишлеността и търговията на Руската федерация, NICEVT OJSC работи по развитието на комуникационната мрежа в Ангара с 4D-топология, която може да стане основа за създаване на вътрешни технологии за развитие на суперкомпютри.

Мрежа "Ангара"

Основните цели на развитието на мрежата на Ангара:

  • ефективна поддръжка за еднопосочни комуникации (put / get) и PGAS езици (като основно средство за паралелно програмиране),
  • Ефективна поддръжка на MPI
  • освобождаване на собствен кристал (за постигане на висока скорост на пренос на данни и ниски закъснения),
  • адаптивни отказоустойчиви пакети за предаване,
  • ефективна работа със съвременни процесори и чипсети.

На първия етап от развитието на тази мрежа (2006 г.) беше проведена симулация на различни опции на мрежата и бяха взети основните решения относно топологията, архитектурата на маршрутизатора, алгоритмите за маршрутизация и арбитража. В допълнение към тороидалната топология бяха разгледани мрежи от Кейли и „гъстото дърво“. Четириизмерният торус е избран поради по-простото му маршрутизиране, добрата мащабируемост и високата свързаност в сравнение с по-малките тори. Мрежовото моделиране позволи да се проучи подробно влиянието на различни параметри на мрежовата архитектура върху основните характеристики на производителността, да се разберат моделите за трафик на задачи с интензивен нередовен достъп до паметта. В резултат на това бяха избрани оптимални размери на буфера, броят на виртуалните канали и бяха анализирани потенциалните затруднения.

През 2008 г. се появи първият прототип на FPGA рутер - мрежова подредба от шест възли на Virtex4, свързани с 2x3 торус, върху която беше отстранена грешката в основна функционалност на рутера, разработено безотказно предаване на данни, драйвер и библиотека с ниско ниво бяха записани и отстранени грешки, бяха пренесени библиотеките на Shmem и MPI. Сега стартира оформление от трето поколение, състоящо се от девет възли, свързани в двуизмерен торус 3x3. Собран стенд с двумя узлами для тестирования новых разъемов и каналов передачи данных, предполагаемых к использованию с будущими кристаллами маршрутизатора ВКС. При разработке принципов работы сети ряд деталей был позаимствован из работ и , а также в том или ином виде из архитектур IBM Blue Gene и Cray SeaStar.

Сеть «Ангара» имеет топологию 4D-тор. Поддерживается детерминированная маршрутизация, сохраняющая порядок передачи пакетов и предотвращающая появление дедлоков (взаимных блокировок), а также адаптивная маршрутизация, позволяющая одновременно использовать множество путей между узлами и обходить перегруженные и вышедшие из строя участки сети. Особено внимание бе обърнато на подкрепа за колективни операции (излъчване и намаляване), реализирани с помощта на виртуална подмрежа с топология на дърво, насложена върху многоизмерен торус. Мрежата на хардуерно ниво поддържа два вида операции за запис, четене и атомни операции (добавяне и изключване ИЛИ). Схемата за изпълнение на отдалечено четене (изпращане на заявка и получаване на отговор) е показана на фиг. 2 (отдалечените записи и атомните операции се извършват по подобен начин). В отделен блок логиката се реализира за агрегиране на съобщения, получени от мрежата, за да се увеличи делът на полезни данни за транзакция при предаване през интерфейс с хост (хост е мост на процесор-памет-мост).

Фиг. 2. Схема на дистанционно четене в мрежата на Ангара

На слоя за връзка за данни се поддържа безпроблемно предаване на пакети. Съществува и механизъм за заобикаляне на неуспешни комуникационни канали и възли чрез възстановяване на таблици за маршрутизиране. За извършване на различни сервизни операции (по-специално конфигуриране / възстановяване на таблици за маршрутизиране) и извършване на някои изчисления се използва служебен процесор. Хост интерфейсът използва PCI Express.

Фиг. 3. Структурата на изчислителния възел с мрежов адаптер / рутер "Angara"

Основните блокове на рутера:

  • интерфейс с хост системата, отговорен за получаване и изпращане на пакети на хост интерфейса,
  • единица за инжектиране и изхвърляне, която формира пакети за изпращане в мрежата и анализира заглавките на пакетите, идващи от мрежата,
  • модул за обработка на заявки, който обработва пакети, които изискват информация от паметта на хост системата (например четене или атомни операции),
  • мрежова единица за колективни операции, която обработва пакети, свързани с колективни операции, по-специално извършване на операции за намаляване, генериране на пакети за заявки за излъчване,
  • единица за сервизни операции, която обработва пакети, отиващи към и от сервизния копроцесор,
  • превключвател, свързващ входове от различни виртуални канали и входове от инжектори с изходи към различни посоки и изтласкватели,
  • комуникационни канали за предаване и получаване на данни в определена посока,
  • устройство за предаване на данни за изпращане на пакети в дадена посока и приемно-маршрутизиращо устройство за приемане на пакети и вземане на решение за бъдещата им съдба.

Взаимодействието на хоста (кодът, изпълнен на централния процесор) с маршрутизатора се осъществява чрез запис на адресите на паметта, картографирани към адресите на регионите на ресурсите на рутера (в памет / изход на карта). Това позволява на приложението да взаимодейства с рутера без участието на ядрото, което намалява режийните разходи за изпращане на пакети, тъй като преминаването към контекста на ядрото и обратно отнема повече от сто цикъла на часовника. За изпращане на пакети се използва един от регионите на паметта, който се счита за буфер на звънене. Има също отделен регион за извършване на операции без копиране на паметта (данните се четат от паметта и се записват от адаптера на комуникационната мрежа чрез DMA операции) и регион с контролни регистри. Достъпът до определени ресурси на рутера се контролира от ядрения модул.

За да се постигне по-голяма ефективност, беше решено, че на един възел трябва да се изпълнява само една изчислителна задача, това елиминира режийните разходи, свързани с използването на виртуална памет, избягва се намеса на задачи, опростява се архитектурата на рутера поради липсата на пълен MMU и се избягват всички работата му за комуникация закъснява, както и опростява модела на мрежовата сигурност, елиминирайки от него сигурността на процесите на различни задачи в един възел. Това решение не повлия на функционалността на мрежата, тъй като е предназначено главно за задачи с голям размер (за разлика от InfiniBand, универсална мрежа за задачи с различни размери). Подобно решение е взето в IBM Blue Gene, където за секцията е въведено ограничение за уникалността на задачата.

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

Основният режим на програмиране за мрежата на Angara е съвместното използване на MPI, OpenMP и Shmem, както и GASNet и UPC.

След приключване на проверката и прототипирането на мрежата се планира пускането на VLSI чип. Прототиповата VLSI партида ще бъде проектирана за отстраняване на грешки в основни технологични решения, технологичен процес и експериментална проверка на резултатите от симулацията. Прототипът ще съдържа всички основни функционалности, работа с PCI Express gen2 x16 интерфейс и връзки с пропускателна способност 75 Gb / s.

Предвижда се мрежата на Angara да бъде популяризирана на пазара в две версии: като отделна търговска мрежа под формата на PCI Express карти за клъстерни системи със стандартни процесори и чипсети, както и като част от четири-гнездова система на ножове, базирана на процесори AMD, разработвана в NICEVT.

Гледайте видеоклипа: Суперкомпютри - лекция на Илия Гацев във ФМИ на ПУ 'Паисий Хилендарски" -част 1 (Февруари 2023).

Pin
Send
Share
Send
Send