Posts about blog (old posts, page 1)

Random thoughts of a random person

Friends don’t let friends run serial code

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

Гледам, Cray продават “персонални” суперкомпютри от серията CX1 онлайн. С възможност за преинсталиран Windows HPC Server 2008 (където HPC е акроним на Highly unProductive Computing). LOL Добре, че имат и опция с RHEL. Ако ще си купувате, по-добре да имате кредитна карта с по-голям лимит, защото само кутията струва 4999 GBP, при това без InfiniBand модула (7111 GBP с него)? Дори захранващите кабели са включени в цената - 62 паунда. Който иска Windows, се бърка за още 2168 GBP, а ако иска и да му го инсталират на място - добавя още 2408 GBP. Излиза някъде 2 пъти по-скъп от нашия клъстер и България не е сред страните, в които се поддържа официално :P

И като стана дума за нашия клъстер, сега се сещам, че май не съм се похвалил - вече развива над 720 GFLOPS сумарно за двата дяла (цък тук за подробности). Вероятно вече сме в Top5000 ;)

Consistent performance

Our Physon (in Bulgarian only) HPC cluster was originally composed of four dual Xeon MoBos with QDR (20 Gbps) InfiniBand links as interconnection fabric for MPI 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 HPL test. Since the theoretical top performance is Rpeak equal to 256 GFLOPS, our old nodes have parallel efficiency of 0,816.

Now, about an year later, we got a shiny new addition of eight dual MoBos with the newer quad-core Xeon E5420 (2,5 GHz, 2x6 MB L2 cache). Since four nodes were already installed and powered on, I run the HPL test again to see how well the new processors compare to the old ones. The new nodes peaked at Rmax equal to 256,2 GFLOPS for the same matrix size. With a theoretical top performance of Rpeak equal to 320 GFLOPS we still have a good parallel efficiency of 0,801 (or 1,226x the performance for 1,25x the CPU frequency).

It is now obvious why most cluster systems in the Top500 list utilize the (now) relatively cheap InfiniBand as their interconnection fabric instead of the more sophisticated and much more expensive proprietary interconnects.

R.I.P. SP2

Днес, с нескрита болка в сърцето установих, че старият IBM SP2 в мазето на ФМИ е мъртъв. Причината за смъртта - инфаркт (датиращ още от 2005 г.), последван от технологичния еквивалент на гаврата с труп.

Предистория

../images/13.thumbnail.jpg

SP2 във ФМИ - преди

Машината беше докарана през далечната 2005 г. от Германия, след като вярно беше служила в един от теоретичните институти на Max Planck Institute. Инициатор от германска страна беше един от бившите дипломанти на настоящата ми научна ръководителка, който използва вратичка в тамошните закони и осигури даряването на машината на СУ. От българска страна цялата работа беше свършена от научната ми ръководителка (доц. Пройкова), която използва връзките си от най-високо ниво за да уреди транспорта и безмитния внос на скъпата за времето си техника. След като се оказа, че престоят на SP2 в сградите на ФзФ няма да го бъде, беше договорено специално помещение във ФМИ, където беше изградена климатична система и осигурена трифазна електрозахранваща линия. IBM България проектираха помещението и свързаха множеството кабеляци на добра воля (т.е. безплатно), но по-голямата част от захранващите блокове изгоряха при тестовото пускане на системата. Причините останаха неизяснени и до ден днешен, а ремонтът на блоковете се отложи с години. За закупуване на нови не можеше и дума да става (при цена от 8000 евро на старо за захранващ блок!). Бяха направени няколко запитвания към източно- и централнооевропейската дирекция на IBM за евентуална помощ за възстановяване на машината или за изграждането на нова такава, бяха дадени и обещания от високопоставени служители, но в крайна сметка нищо не се случи. Постепенно интересът замря, особено след закупуването на новия клъстер във ФзФ. Остана само надеждата, че някой ден машината ще намери мястото си като музеен експонат на напредналата технология на IBM от 1994 г.

За съжаление машината никога няма да види музей, защото…

Наши дни

../images/14.thumbnail.jpg

Остатъците от SP2 във ФМИ

Това, което не се забелязва на снимката е, че едната кула е напълно изтърбушена, а другата се използва за стелаж. Навсякъде из помещението има разхвърлени части от някогащните процесорни възли, примесени с дебел слой прах от строителни отпадъци. От достоверен източник, участвал активно в разграбването, се разбра, че машината е потребена “по предназначение” (да се чете - всеки си взел каквото му потрябвало). Контролните работни станции от тип RS/6000 също не са оцелели (едната беше съоръжена със 128 MB RAM /от 1994 г.!/)…

../images/15.thumbnail.jpg

Бивш изчислителен възел

../images/16.thumbnail.jpg

На някого са му трябвали памети…

Гледката е просто покъртителна. Но много по-покъртително е отношението на тези, които са се отнесли към университетското имущество като към трактор в изоставено ТКЗС. Гореупоменатият източник - дългокос и очилат момък, далечно подобие на администратор (или /не/вещо техническо лице), разказваше с някакъв особен патос за превръщането на процесорните радиатори в охлаждане за… аудио усилватели. А твърдите дискове били “рециклирани” и с тях били снабдени някакви PC-та… WTF?! Разбира се, някой (да не споменавам имена) е позволил всичко това.

Дори сарказмът ми отказа да коментира в случая…

Sun Studio 12 - по-бързо и за без пари

Поредната приятна изненада от страна на Sun Microsystems. След като преди време отвориха софтуерната си кутия и пуснаха за свободно ползване без ограничения компилаторите си, първо за Solaris, след това и за Linux, с огромен интерес следя развитието им, главно като основен конкурент на Intel в качествените средстава за разработка, достъпни за бедната ни академична институция, именувана Физически Факултет на СУ. Естествено, тези на Intel печелеха като производителност - все пак и техни са железата, на които се изпълняват програмите, те си ги познават по-добре, а и за без пари - толкова от Sun. Главният недостатък (един вид) на компилаторите на Intel - безплатният им лиценз за Linux е приложим само за индивидуално ползване. Недостатък, защото не можем да си позволим да си купим пакета компилатори, дори след невероятните отстъпки за академиите.

Първата (ми) изнендата дойде с FreeBSD-MD5 модула на JtR, написан изцяло на C и не използващ аритметика с плаваща запетая (обикновено силната страна на Intel XYZ Compiler), където Intel C Compiler v10.0 се провали с гръм и трясък, изоставайки дори от GCC 4.0 на Debian, въпреки нечовешките опити за оптимизация от страна на компилатора. За съжаление резултатите от тогавашния тест, проведен на машина с два Xeon E5335 заминаха с базата данни на сайта и вече не са налични, а ме мързи да ги повтарям, но тогава Sun Studio 12 (200705) убедително поведе класацията.

Другата ми изненада дойде днес, т.е. вече вчера. Имам си аз една боза програма, разработена в Единбург през далечната 2003-та година, когато бях млад, зелен и за първи път писах някакъв научен код. От тогава насам е претърпяла някои малки промени, главно в смяна на броя интервали в отстъпа на блоковите конструкции, но основното изчислително ядро си остава същото - няколко хиляди реда нечетлив код на FORTRAN 77, който (чудващо) се компилира с g77 (GNU), ifort (Intel) и f90 (Sun, на какъвто и беше разработен всъщност). Програмата представлява симулатор на системи от въглеродни атоми, използващ метода на молекулната динамика за решаване на уравненията на движение на отделните атоми в системата. Потенциалната функция е многочастична и трудна за ръчна оптимизация, но включва множество цикли, които подлежат на векторизация на съвременните микропроцесори със SSE2, SSE3 и пр. SIMD инструкции, включващи много букви “S” в началото и разни цифри в края на абревеатурата си. Та въпросната програма често пъти я прекомпилирам с всички налични ми средства за разработка на FORTRAN и сравнявам времето, необходимо за пресмятане на 10 хиляди времеви стъпки на стандартна система - въглеродна нанотръба от 1200 атома. Днес беше поредното сравнение, не особено учудващо (времената са при изпълнение върху Intel Xeon E5335 в 64-битов режим):

  • Intel Fortran Compiler v10.0 (-O3 -xT -ipo) - 33,6 s
  • Sun Forte 200705 (-fast -xarch=sse3 -xchip=pentium4 -xvector=simd) - 38,7 s

Изненадата дойде, след като преодолях мързела си и деинсталирах всички пакети на Sun Studio 12, защото по една или друга причина APT на Scientific Linux смяташе 3 пакета за счупени и трябваше да ги махам преди и инсталирам обратно след всяко обновяване на системата. След като доизтрих останалите непакетни части, инсталирах от tarball обновената версия 200709. Естествено за 4 месеца едва ли нещо се е променило, но въпреки това още една прекомпилация и измерване на времето няма да навреди. И тогава…

  • Sun Forte 200709 (-fast -xarch=sse3 -xchip=pentium4 -xvector=simd) - 28,1 s

WTF?! Трябва да е грешка на time. Повторно пускане и повторение на времето. Прекомпилация и ново повторение. Прекомпилация с Intel-ския компилатор - отново 33,6 s. Резултатите - съвпадат (т.е. никой не лъже с плаващата аритметика или поне и двата компилатора лъжат по един и същ начин).

Този път без фанфари, за разлика от традиционните “Sun <някакъв модел> + Solaris 10 + Sun Studio 12 счупи рекорда на <някакъв тест>” реклами, Sun са вкарали поредната оптимизация, която драматично променя съотношението на силите в бизнеса с плаваща запетая. Така че, поне според мен, повече разработчици следва да обърнат внимание на прекрасния продукт, наречен Sun Studio 12. Освен това от Sun обещават, че на Solaris програмите врървят по-добре ;)

П.П. А отвън духа ураганен вятър…