Aktualności
2011-11-12
Vitrall znaczy witraż
Nowe architektury hybrydowe i ich zastosowania w wizualizacji
Nazwa systemu Vitrall pochodzi z języka katalońskiego i oznacza "witraż". Została zainspirowana konfiguracjami systemu składającymi się zwielu monitorów - ich obudowy mogą przypominać ołowiane obramowania witraży. Jego podstawową funkcjonalnością jest rozproszona wizualizacja za pomocą zdalnych jednostek obliczeniowych wyposażonych w układy graficzne (ang. Graphics Processing Unit - GPU).

Rozwijany od ponad roku w Dziale Aplikacji Poznańskiego Centrum Superkomputerowo-Sieciowego (PCSS) system wykorzystuje do wizualizacji technologię OpenGL. Serie obrazów stanowiące jej efekt są kompresowane do formatu JPEG. O ile pierwszy etap wykorzystuje układy GPU, o tyle drugi jest realizowany na zwykłych procesorach (ang. Central Processing Unit – CPU). Centra obliczeniowe zbudowane w oparciu o architekturę hybrydową (zasoby wykorzystujące do obliczeń zarówno układy GPU, jak i CPU) stanowią zatem naturalne środowisko dla działania systemu.

Działanie systemu Vitrall

Podstawowym pojęciem w systemie Vitrall jest sesja graficzna. Nazwa ta zwraca uwagę na serwerowy charakter systemu - najprostszą jego konfiguracją jest pojedyncza instancja działająca na maszynie wyposażonej w jeden lub więcej układów GPU. Użytkownik może za pomocą przeglądarki internetowej manipulować oglądaną sceną - informacje są wysyłane do serwera, który dokonuje wizualizacji oraz udostępnia do ściągnięcia jej efekty w postaci skompresowanych obrazów.

Interakcja z oglądaną sceną zachodzi wczasie rzeczywistym. Informacje odziałaniach użytkownika są wysyłane do serwera za pomocą protokołu WebSockets (będącego częścią standardu HTML5). Serwer dokonuje odpowiedniego przekształcenia sceny, np. zmienia punkt widzenia, po czym rozpoczyna proces renderowania. Przygotowany obraz jest kompresowany (np. do formatu JPEG), a następnie udostępniony do ściągnięcia przez protokół HTTP - przeglądarka internetowa użytkownika zgłasza się po konkretny obraz, dekompresuje go i ostatecznie przedstawia użytkownikowi.

Poniżej przedstawiono podstawowy scenariusz zastosowania. Vitrall umożliwia jednakże definiowanie znacznie bardziej rozbudowanych sesji graficznych. Możliwe jest na przykład utworzenie wielu punktów widzenia, które są renderowane równolegle przez układy GPU znajdujące się na tej samej lub różnych fizycznych serwerach. Użytkownik może na przykład ustawić monitory w sposób odpowiadający przestrzennej orientacji zdefiniowanych punktów widzenia uzyskując iluzję widoku panoramicznego lub też ogląd sceny z kilku stron.

Kolejną cechą system Vitrall, która jest warta uwagi, jest możliwość wykorzystania nowoczesnych interfejsów użytkownika, takich jak ekrany wielodotykowe, czy telefony komórkowe wyposażone w akcelerometry lub czujniki pola magnetycznego.

Ponieważ Vitrall jest ze swej natury systemem rozproszonym, który komunikuje się poprzez standardowe protokoły (HTTP, WebSockets), jest on otwarty na współpracę z innymi aplikacjami, które mogą zapewniać zaawansowane meto- dy kontroli nad sceną, bądź też wykorzystywać wyrenderowany obraz w inny sposób niż zwykłe jego wyświetlenie.

Nie bez znaczenia pozostaje również fakt, że sesja graficzna może być współdzielona przez wielu użytkowników znajdujących się w wielu geograficznych lokalizacjach. Rezultatem tego jest możliwość stworzenia wizualizacyjnego środowiska pracy grupowej, w którym przekształcenia obiektów wykonywane przez jednego użytkownika mogą być obserwowane na bieżąco przez pozostałych uczestników sesji.

Aktualnie Vitrall jest w stanie wyświetlić dowolny model 3D zapisany w formacie Collada. Jest to format zbudowany w oparciu o XML i przeznaczony do wymiany zasobów 3D pomiędzy szeroką gamą aplikacji.

Przeszłość i przyszłość systemu Vitrall

System Vitrall został zaprezentowany w Pradze podczas konferencji TERENA 2011. Widzowie mogli oglądać modele 3D wizualizowane w pasywnej technologii stereoskopowej w wysokiej rozdzielczości 4K. Podczas demonstracji wykorzystaną umiejętność systemu Vitrall do wizualizacji sceny z wielu punktów widzenia jednocześnie - odpowiednio dla lewego i prawego oka. Do wyświetlenia obrazu posłużyły dwa projektory Sony SRX-T105 wyposażone w filtry polaryzacyjne - aby móc oglądać prezentację w 3D, widzowie korzystali z analogicznych okularów z filtrem polaryzującym. Scena była również na bieżąco wizualizowana w mniejszej rozdzielczości i przesyłana do komputera użytkownika, który mógł manipulować wyświetlanym obiektem. Nad wszystkim czuwała jednostka wyposażona w 3 karty graficzne ATI Radon HD5870 z technologią ATI Eyefinity (6 wyjść Display Port na kartę).

Obecnie trwają prace nad scenariuszami, angażującymi system Vitrall do wizualizacji obiektów manipulowanych przy pomocy nowoczesnych interfejsów użytkownika. Efekt prac można było podziwiać w trakcie Nocy Naukowców 2011 w Poznaniu (23.09.2011) oraz w trakcie polskiego tygodnia „Internetu Przyszłości” – Future Internet Week (24-28.10.2011). Odwiedzający mieli możliwość manipulowania wizualizowanymi obiektami wykorzystując do tego czujniki wbudowane w ich własne telefony komórkowe (wystarczy dysponować urządzeniem bazującym na systemie Android w wersji 2.1 lub nowszej).

Już w najbliższym czasie, bo pod koniec 2011 roku, przy pomocy pakietu Vitrall można będzie dokonywać wizualizacji na niespotykaną dotychczas skalę. Stanie się to za sprawą nowego poznańskiego klastra hybrydowego składającego się z około 50 węzłów obliczeniowych. Węzły te, z których każdy z osobna zasługuje na miano superkomputera, wyposażone będą w 4 dwunastordzeniowe procesory AMD oraz jednoukładową, 448 rdzeniową kartę graficzną nVidia TESLA M2070 z 6GB pamięci. Taka architektura pozwoli na kreowanie nowych, jeszcze bardziej zaawansowanych scenariuszy wykorzystania „witraży”.

Piotr Śniegowski, PCSS
Tomasz Kuczyński, PCSS