Aktualności
2011-11-09
Na jednym dużym ekranie
Infrastruktura dla rozproszonych systemów wizualizacji i współpracy grupowej
Niektóre zastosowania wizualizacji wymagają ekstremalnie wysokich rozdziel- czości obrazów; póki co, najlepszym, bo w pełni skalowalnym rozwiązaniem dla takich potrzeb jest tzw. video-wall, czyli wyświetlacz złożonych z wielu monitorów i obsługiwany przez wyspecjalizowane oprogramowanie. W tym przypadku jest to platforma  SAGE: Scalable Adaptive Graphics Environment.

Na początku bieżącego roku w Poznańskim Centrum Superkomputerowo-Sieciowym podjęto prace zmierzające do uruchomienia narzędzia do realizacji wizualizacji naukowych bardzo wysokich rozdzielczości. Efektem tych przygotowań stało się stworzenie ściany wizualizacyjnej złożonej w sześćdziesięciu czterech monitorów o rozdzielczości 1920x1200 pixeli każdy, ustawionych wkonfiguracji 8 na 8 monitorów LCD oprzekątnej 24'' każdy. Zestaw taki umożliwia wyświetlanie obrazu o sumarycznej przekątnej  ponad 4,5m i rozdzielczości 15360x8640 (czyli prawie 150 Megapixeli). Wyświetlenie obrazu o tak dużej rozdzielczości wymaga użycia zestawu kilku komputerów połączonych odpowiednio szybką siecią i pracujących pod kontrolą specjalizowanego oprogramowania. Konieczne jest użycie czterech komputerów wyświetlających obraz i jednego lub kilku komputerów renderujących/dostarczających treść. Każdy komputer wyświetlający obsługuje od szesnastu do dwudziestu czterech monitorów LCD, akomputery wizualizacyjne zajmują się przygotowaniem treści, wysyłką treści do komputerów wyświetlających i synchronizacją ich pracy. Mimo dużej liczby elementów składających się na ten zestaw, jego koszt jest znacząco niższy niż wprzypadku profesjonalnych rozwiązań dostępnych obecnie na rynku. Wynika to z użycia do jego budowy tanich, typowych komponentów z segmentu konsumenckiego, a przede wszystkim z użycia do obsługi zestawu darmowego, otwartego oprogramowania. Tego typu  rozwiązanie umożliwia realizowanie wizualizacji dużych zbiorów danych wymagających wysokiego poziomu szczegółowości przy zachowaniu czytelności, atym samym dużych rozdzielczości i dużych fizycznych rozmiarów obrazu.

Obsługa tego typu instalacji wymaga oczywiście specjalnego oprogramowania. Po przeglądzie i wstępnych testach dostępnych rozwiązań (m. in. WireGL, Chromium, VRUI, CGLX i inne) zdecydowaliśmy się na wykorzystanie platformy SAGE, jako że to rozwiązanie zdaje się zapewniać największą elastyczność i funkcjonalność, będąc przy tym narzędziem pracy grupowej umożliwiającym zdalne współdzielenie wizualizowanego materiału. SAGE to cross-platformowe, open-source'owe oprogramowanie dostarczające użytkownikom  wspólnej platformy dla współdzielenia materiału wideo HD (również wideokonferencji), wizualizacji danych naukowych, obrazów wysokiej rozdzielczości, slajdów, dokumentów różnego rodzaju lub podglądu zdalnych pulpitów na ekranach zwykłych komputerów bądź zaawansowanych, wielomonitorowych wyświetlaczach.

SAGE jest otwartą platformą strumieniowej wizualizacji i współpracy naukowej potencjalnie zdolną do obsługi wyświetlaczy o rozdzielczości wieluset megapikseli. Jest to także narzędzie, które zapewnia grupom lokalnych bądź rozproszonych użytkowników możliwość współdzielenia wizualizacji materiału 3D bądź materiału wideo wysokiej rozdzielczości. Sieciowa architektura platformy SAGE została tak pomyślana, aby umożliwić użytkownikom współbieżne uruchamianie różnorodnych aplikacji na lokalnych i zdalnych zasobach i współdzielenie wynikowego obrazu po przez strumieniowanie obrazu z każdej z nich poprzez wysoko wydajne sieci do dużych, wielomonitorowych wyświetlaczy.

Tak zwany „SAGE Visualcasting” umożliwia globalną współpracę użytkownikom w wielu zdalnych lokalizacjach połączonych wielogigabitową siecią. Instalacje w zdalnych lokalizacjach tworzą wirtualne laboratorium gdzie każdy może obserwować ten sam materiał wtym samym czasie. Wyświetlacze w poszczególnych lokalizacjach mogą przy tym różnić się rozmiarem i konfiguracją. Wyświetlaczem może być zarówno pojedynczy monitor jaki i wielkoformatowa instalacja wspomniana powyżej. Każda ze stron uczestniczących w takim laboratorium zachowuje przy tym pełną kontrolę nad układem okien na swoim wyświetlaczu i sama wybiera które informacje wysłać i do kogo oraz które informacje odebrać i wyświetlić. W przeciwieństwie do rozwiązań bazujących na multicastach, visualcasting nie wymaga zaawansowanej konfiguracji sieci. 
 
Platforma składa się z kilku współpracujących elementów: Free Space Manager, SAGE Application Interface Library (SAIL), odbiorników SAGE Receiver oraz  klientów UI (User Interface client).

SAGE Free Space Manager umożliwia przesuwanie i zmianę rozmiaru okien aplikacyjnych w ramach wielomonitorowego wyświetlacza. Gdy np. użytkownik przesunie okno aplikacji to Free Space Manager instruuje odpowiednie aplikacje SAIL o nowych punktach docelowych ich strumieni pikseli. Daje to użytkownikowi wrażenie pracy na jednym dużym pulpicie, nawet jeśli składa się on z wielu monitorów podpiętych do wielu komputerów, a aplikacja uruchomiona została na klastrze oddalonym o tysiące kilometrów.

SAGE Application Interface Library (SAIL) to biblioteka  używana przez aplikacje użytkowników do komunikacji zFree Space Manager oraz do przechwytywania graficznego wyjścia i strumieniowania go do odbiorników SAGE Receiver zgodnie z wytycznymi FSM. Gdy aplikacja zostaje uruchomiona SAIL łączy się z  Free Space Managerem, aten informuje SAIL jak obrazy przechwycone z aplikacji powinny zostać rozdzielone oraz gdzie wysłać poszczególne strumienie pikseli. 

Odbiorniki SAGE Receiver otrzymują strumienie pikseli od aplikacji SAIL i wyświetlają obraz w odpowiednich miejscach przyłączonych do nich monitorów składowych. Odbiorniki SAGE Receiver są zdalnie uruchamiane przez Free Space Managera. FSM wysyła również do odbiorników informacje o konfiguracji wyświetlacza. Każdy komputer wyświetlający ma dokładnie jeden odbiornik SAGE Receiver obsługujący wszystkie podłączone do niego monitory. SAGE nie wymaga aby aplikacja SAIL zmieniała rozmiar renderowanego obrazy gdy któryś z użytkowników zmieni rozmiar odpowiadającego jej okna. Zamiast tego odbiorniki SAGE Receiver przeskalowują otrzymywane ramki odpowiednio do nowego rozmiaru okna.

Klienci UI wysyłają do FSM komendy użytkownika i prezentują aktualny stan platformy SAGE. Klienci mogą byś programami typu GUI, linii komend bądź usługami webowymi. Programy te mogą być uruchamiane na dowolnym komputerze połączonym siecią z Free Space Manager.

Sześćdziesięcioczteromonitorowy zestaw wizualizacyjny produkuje obraz ołącznej rozdzielczości 16K; w chwili obecnej jest to rozdzielczość przekraczająca znacznie wymogi cyfrowego kina,  nie ma bowiem sprzętu, który mógłby rejestrować tak duży obraz ruchomy. Jednak na potrzeby analiz danych naukowych, taka aparatura jest doskonałym narzędziem projekcyjnym. Dla nowej instalacji wizualizacyjnej w PCSS, po pierwszych testach przesyłania obrazów, przyjdzie czas także na sprawdzenie jej możliwości przy wykorzystaniu funkcjonalności współpracy grupowej platformy SAGE.

Krzysztof Kurowski, PCSS
Bogdan Ludwiczak, PCSS