Rewolucja w programowaniu

Drukuj

– Nasze badania pomogą zrewolucjonizować podejście do programowania poprzez umożliwienie łatwiejszego tworzenia aplikacji równoległych i rozproszonych, stosowanych m.in. w telefonach komórkowych, kartach graficznych czy konsolach do gier z wykorzystaniem języka Java, najbardziej rozpowszechnionego języka programowania – zapowiada prof. Piotr Bała z Interdyscyplinarnego Centrum Modelowania Matematycznego i Komputerowego UW. Warszawski naukowiec jest koordynatorem międzynarodowego projektu „Heterogeniczne obliczenia równoległe i rozproszone w Javie”. Uzyskał grant w konkursie sieci CHIST-ERA finansującej badania z zakresu technologii informacyjnych i komunikacyjnych. 

 

CHIST-ERA to konsorcjum blisko 20 narodowych agend finansujących badania, głównie z Europy. Polskę reprezentują NCN i NCBiR. W konkursie nagrodzono 6 projektów w ramach dwóch ścieżek: Adaptive Machines in Complex Environment oraz Heterogeneous Distributed Computing. Badania, którymi kieruje prof. Bała, związane są z drugim zagadnieniem. Biorą w nich udział, oprócz naukowców z UW, także badacze z Queens University w Belfaście, Bilkent Üniversitesi w Ankarze oraz IBM Research Lab w Zurichu.

 

Komputery, zarówno te stosowane w nauce czy przemyśle, jak i prywatne, są coraz bardziej skomplikowane. Każdy zbudowany jest z kilku, kilkunastu a czasem kilkuset tysięcy procesorów. Procesory z kolei składają się z wielu jednostek obliczeniowych tzw. korów. – Procesory wielokorowe nie są niczym nowym, spotykamy się z nimi na co dzień – w telefonach komórkowych, kartach graficznych czy konsolach do gier. Tworzenie aplikacji na tak złożone systemy staje się coraz trudniejsze, a tradycyjne metody programowania są coraz mniej efektywne i coraz trudniejsze do zastosowania – tłumaczy prof. Bała. – Podstawowe problemy, z którymi muszą zmierzyć się programiści, to duża liczba jednostek obliczeniowych (równoległość) oraz konieczność jednoczesnego wykorzystywania różnych typów procesorów (heterogeniczność). Procesory zainstalowane w jednym systemie mogą też pochodzić od różnych producentów i posiadać odmienną architekturę – wyjaśnia naukowiec.

 

Do przetwarzania dużych zbiorów danych wykorzystywane są aplikacje tworzone w języku Java. Jednak jak na razie niemożliwe jest tworzenie aplikacji wykorzystujących jednocześnie setki czy tysiące procesorów. Właśnie tym problemem zajmują się naukowcy skupieni w projekcie HPDCJ. – Naszym celem jest upowszechnienie języka Java dla zastosowań w obliczeniach rozproszonych i równoległych na architekturach heterogenicznych. Zademonstrujemy możliwość tworzenia aplikacji równoległych na przykładzie starannie wybranego zbioru problemów i aplikacji. W szczególności wykorzystane zostaną kluczowe aplikacje z obszaru wielkich danych (Big Data) oraz aplikacje, które mogą być wykorzystywane jednocześnie przez wielu użytkowników – opowiada koordynator projektu.