Ostatnie komentarze
-
Karol
w artykule: Jak przyspieszyć dysk HDD? -
Krzysiek
w artykule: Jak przyspieszyć dysk HDD? -
Jurek
w artykule: Nawet Google woli refabrykowane serwery! -
Ola
w artykule: 5 Must Have aplikacji dla właścicieli zwierząt...
Szukaj w blogu
Kategorie bloga
Enter Regent - nowy, przyjazny język programowania superkomputerów
Komputerowa rewolucja zmieniła wszystko co wiemy o komputerach - zapewniając większości z nas łatwo dostępne, osobiste i tanie urządzenia, które są mniejsze, szybsze i łatwiejsze w użyciu. Na tym skoku rozwojowym skorzystali również naukowcy. Opracowali komputerowe techniki badające wewnętrzne funkcjonowanie komórek, orbitowanie planet wokół odległych gwiazd i inne zjawiska, które kiedyś znacznie wykraczały poza ich możliwości obserwacji.
Ale na naukowców z „najwyższej półki” czyhała pewna ironia - otóż nowe i zaawansowane technologie zaczęły generować tak wiele danych, że do analizy wyników eksperymentów potrzebne były superkomputery. A naukowcy, którzy próbowali analizować takie ogromne zbiory danych, często mieli (i mają do tej pory) problemy z opanowaniem złożoności oprogramowania potrzebnego do ich obsługi.
Enter Regent - to nowy język programowania, opracowany przez grupę prowadzoną przez informatyka Stanforda Alexa Aikena. Regent między innymi ułatwia korzystanie z superkomputerów. "Chcieliśmy stworzyć środowisko programistyczne, które nie wymaga, żeby każdy naukowiec był informatykiem" - mówi Aiken, profesor Alcatel-Lucent w dziedzinie komunikacji i tworzenia sieci.
Regent pomaga rozwiązać jedno z największych problemów w dziedzinie superkomputerów: Dzisiejsze superkomputery są o wiele bardziej złożone niż kiedykolwiek wcześniej, a istniejące języki programowania z trudem dotrzymują im kroku. Superkomputer jawi się nam-laikom jako jedna gigantyczna maszyna - jednak w rzeczywistości jest to szereg tysięcy mikroprocesorów, które ze sobą współpracują. Naukowcy je programują zazwyczaj za pomocą języka oprogramowania wynalezionego około 40 lat temu. Regent ułatwia programiście superkomputera wykonywanie takich czynności, jak przydzielanie zadań przetwarzania szeregowego procesorom centralnym i przetwarzania równoległego procesorom graficznym.
Gdy Regent sformułuje dany program na poziomie koncepcyjnym, intencje programisty są tłumaczone - lub, używając terminu technicznego - skompilowane w drugą warstwę oprogramowania o nazwie Legion, którą opracował również Aiken. Ścisła integracja pomiędzy Regentem i Legionem ułatwia programistom podejmowanie ważnych decyzji, w szczególności, gdzie przechowywać dane, które superkomputer musi analizować.
Elliott Slaughter, naukowiec z Państwowego Laboratorium Akceleratorów SLAC, który pracuje nad Regentem i Legionem prawie od momentu ich powstania, mówi, że integracja pomiędzy tymi dwoma warstwami oszczędza programistom zarówno pieniądze, jak i czas. Komputery zużywają energię, co wiąże się z dodatkowymi kosztami. Koszt energii potrzebnej do przesyłania danych może być nawet 100 razy wyższy od kosztu wykonania obliczeń na tych danych. Co więcej, duże eksperymenty często opierają się na urządzeniach, które gromadzą ogromne ilości danych.
Czy Regent zostanie rozpowszechniony?
Naukowcy twierdzą, że Regent to zupełnie inny sposób programowania. Naukowcy będą potrzebowali trochę czasu, aby przyswoić sobie nowy, zupełnie inny sposób myślenia. Jednak na korzyść tego rozwiązania przemawiają dwa czynniki. Po pierwsze - dział superkomputerów wciąż się doskonali. Amerykański Departament Energii kieruje rozwojem projektu Exascale Computing Project, którego celem jest osiągnięcie 50-krotnego wzrostu mocy obliczeniowej do 2021 roku. Ponadto wielu naukowców, którzy chcieliby używać superkomputerów, nie zna aktualnych narzędzi i nawet doświadczeni programiści superkomputerów uważają obecny system za kłopotliwy i dziwią się, że nie ma lepszego. "Regularnie rozmawiamy z naukowcami, którzy są świadomi tego, jak bardzo Regent może ułatwić im życie", powiedział Aiken.