hpc

Анализ и оптимизиране на производителността на научни кодове

Производителността е съществена характеристика на компютърните програми, използвани за симулиране и обработка на информация с научно и инженерно значение. Правенето и разбирането на високопроизводителни компютърни кодове е цяла наука, но известна част от нейната фундаментална основа се постарах да събера в 30-минутно представяне за целите на Втората работна среща на проекта IRC-CoSiM. На интересуващите се от тематиката предоставям следния PDF вариант на представянето (на английски език): Second IRC-CoSiM Workshop presentation (PDF)

Що е то HPC?

Що е то HPC и има ли то почва у нас? Кои са тези особености на хардуера и софтуера, които правят HPC уникална по рода си област на компютърното познание? HPC или High Performance Computing е технически термин, с който се обозначава специфичен клас от хардуерни и софтуерни технологии, както и спецификата на тяхното програмиране и използване. Обикновено към класа на HPC отнасят научните и инженерни задачи, изискващи извършването на огромна по обем обработка на данни и използващи за целта мощни (супер-)компютри, които далеч надхвърлят по производителност средностатистическия домашен или бизнес компютър.

Intel Core i7 vs Xeon

Мине се не мине някое време и Intel изважда от голямата си технологична шапка поредния заек. И макар повечето зайци на Intel, както и на другите “иноватори” в информационната индустрия, да са просто преродените души на умрелите динозаври, всички вкупом се втурват да правят тестове и да възхваляват новите продукти. Реших, че нямам причина да изоставам от тази всеобща треска и се захванах да проверя, става ли Core i7 за научни пресмятания, не става ли.

HPC в icaci.info

Като малък имах детска мечта, подобно на всички малчугани, но не исках да ставам космонавт, нито да освобождавам лигави принцеси от порутени замъци, пазени от зли дракони. Поради ранното излагане на магическата сила на компютрите и естеството на литературата, с която си запълвах свободното време, исках да имам… ГОЛЯМ СУПЕРКОМПЮТЪР (от най-големите и от най-суперските). Не че знаех какво ще го правя, или пък как ще му плащам тока, но какво друго може да се очаква от едно хлапе, което намира на тавана на къщата тонове списания “Наука и техника за младежта” (издание на ЦК на ДКМС, ако някой още си спомня значението на тези съкращения) и ги изяжда от кора до кора?

Пепел и прах

15 години вярна служба, с едно обновяване на софтуера през ‘97-ма. Иначе казано, яки ги правеха едно време машините и операционните им системи. Яки, ама да гледаш п***о на PseudoColor visual не си е работа, нали?

България в Top500

Доживяхме да видим официално български суперкомпютър в Top500. Ама не като онзи “компютър” на НАП, който по едно време се мъдреше на последната страница на списъка, дето всъщност не бил компютър, ами били много компютри, че и на различни места в страната… Но, да не се отвличам. Дами и господа, в цялото й величие, представям ви извадката от втора страница на списъка на 500-те регистрирани суперкомпютъра в света: Прави впечатление фактът, че декларираната консумация (в kW) на нашия BG е двукратно по-голяма от тази на четиримата му братя-близнаци под него.

why...

Бях си обещал да не пиша тук до предзащитата, но това просто не мога да го пропусна: (снимката е взета от тук) Явно задръжките на маркетинговите отдели падат, когато става дума за войната между LSF и SGE (Sun Grid Engine), двете най-разпространени системи за управление на разпределени ресурси (или СУРР, както биха написали в учебниците от близкото минало). Това са тениски, които Platform Computing (авторите на LSF) раздавали на конференцията Supercomputing 2008.

Friends don't let friends run serial code

… или мързелива среднощна паралелизация на вече поостарели фортрански спагети с OpenMP. ‘щото нали с HECToR вече сме приятели, а той не се радва особено, когато дъвче серийни програми. Което ми напомня, че някога бях обещал на малцината настоятелни читатели, чиито RSS/Atom агрегатори неуморно чоплят тук в очакване на HTTP код, различен от 304, че ще започна да споделям на разбираем български език част от тайните на паралелното програмиране, което, с наводняването на пазара с всякакви 4-, 8-, 16-, 32-, 256- и изобщо N-глави змейове (където N може и да не е степен на двойката), все повече излиза от сянката на шумните и климатизирани академични подземия за да се настани удобно в лоното на разработчиците на софтуер за по-обикновените потребители (и това вероятно стана най-дългото изречение, което съм писал през живота си, ако броя и текста в тази скоба).

Consistent performance

Our Physon (in Bulgarian only) HPC1 cluster was originally composed of four dual Xeon mobos with QDR (20 Gbps) InfiniBand links as interconnection fabric for MPI2 message passing. Armed with eight quad-core Xeon E5335 (2,0 GHz, 2x4 MB L2 cache) the system peaked at Rmax equal to 209,0 GFLOPS for Nmax of 74880 on the High Performance LINPACK (HPL) test. Since the theoretical top performance is Rpeak equal to 256 GFLOPS, our old nodes have parallel efficiency of 0,816.

InfiniBand on Ubuntu Server 7.10

If for some obscure reason you ever want to use Ubuntu Server 7.10 in HPC1 scenarios where your compute nodes are interconnected through InfiniBand fabric bear this in mind – Ubuntu’s IB support is broken and it has been in such a state for at least an year! Besides not providing the full OFED package, Ubuntu also gives us errors in udev’s configuration, namely in /etc/udev/rules.d/20-names.rules. On a pristine system the Infiniband section reads: