pro-viz to nowa usługa dla użytkowników klastra Prometheus umożliwiająca pracę w trybie graficznym na węzłach obliczeniowych. Usługa oparta jest o rozwiązanie TurboVNC, które jest jednym z najszybszych klientów VNC pozwalających na wygodną pracę nawet przy używaniu sieci o słabej przepustowości.
Info |
---|
Więcej o TurboVNC można znaleźć na stronie programu TurboVNC |
Usługa ma pozwalać na wygodną pracę z oprogramowaniem naukowym (Matlab, Mathematica, Maple, Ansys Workbench/Mechanical/Fluent/Electronic Desktop itp.) poprzez udostępnienie trybu graficznego tych aplikacji bezpośrednio na węźle obliczeniowym.
Usługa wymaga od użytkownika instalacji klienta programu TurboVNC na komputerze klienckim. Oprócz tego wymagane jest oczywiście posiadanie aktywnego grantu właściwego na maszynie Prometheus oraz dostępu do tego klastra.
TurboVNC do działania wymaga instalacji Java JRE oraz rozwiązania problemu z brakiem plików serwera (rozwiązanie podane na przykładzie Java JRE 8):
W pierwszym kroku użytkownik musi uruchomić zadanie na klastrze Prometheus, które będzie pozwalało na przekazywanie trybu graficznego. Do tego celu służy skrypt pro-viz
(/net/software/vnc/pro-viz
), którego składnia pokazana jest poniżej:
Code Block | ||||
---|---|---|---|---|
| ||||
Usage: pro-viz
start [-n CORES | -N NODES | -p PARTITION | -t TIME | -A ACCOUNT | -r RESERVATION ] - start a new batch session
interactive [-n CORES | -N NODES | -p PARTITION | -t TIME | -A ACCOUNT | -r RESERVATION ] - start a new interactive session
list - list all sessions
attach JOBID - attach session to a working job with JOBID
password JOBID - generate access token for session JOBID
stop JOBID - terminate session JOBID
killall - terminate all sessions
help - duh |
W instrukcji przedstawione zostanie uruchomienie jednego zadania batchowego na jednym pełnym węźle obliczeniowym. Do tego celu należy wykonać np. polecenie:/net/software/vnc/pro-viz start -N 1 -n 24 -p plgrid -A provizgrant -t 03:00:00
Należy teraz poczekać, aż zadanie wystartuje. Status zadania można sprawdzić korzystając z polecenia /net/software/vnc/pro-viz list
, którego wynik przedstawiono poniżej:
Code Block | ||
---|---|---|
| ||
JOBID HOST DISPLAY
------ ----- -------
4201152 p1788 1 |
Wynik ten oznacza, że zadanie o JOBID 4201152 zostało uruchomiona na hoście p1788 na wyświetlaczu 1. Dane te będą potrzebne do zestawienia sesji dla klienta TurboVNC.
Aby połączyć się z usługą należy uruchomić klienta TurboVNC, a następnie skonfigurować połączenie z wcześniej uruchomionym zadaniem. Aby połączenie mogło zostać zestawione, wymagane jest skonfigurowanie tunelu do maszyny dostępowej klastra. Funkcjonalność ta jest wbudowana w klienta TurboVNC (Java TurboVNC viewer).
Najpierw należy skonfigurować tunel. W tym celu przechodzimy do panelu opcji: Options... -> Security -> Gateway (SSH server or UltraVNC repeater)
. W polu 'SSH user' wpisujemy login plg...
, a jako 'Host' podajemy adres pro.cyfronet.pl
Po kliknięciu 'OK' powracamy do okna głównego i tam wpisujemy jako 'VNC server' adres hosta oraz wyświetlacza zwracany w poleceniu /net/software/vnc/pro-viz list
w notacji HOST:DISPLAY, np. p1788:1:
Po kliknięciu 'Connect' pojawi się kolejne okno, które pozwoli na zestawienie tunelu do serwera VNC. Jako 'User name' wpisany będzie użytkownik podany wcześniej w konfiguracji 'Gateway ...', jako hasło należy wpisać hasło danego użytkownika PLGrid:
Po poprawnym wpisaniu hasła zostanie wyświetlona wiadomość SSH Message o treści:
Należy ją potwierdzić klikając w przycisk 'OK'. Pojawi się okno, w którym należy wpisać hasło połączeniowe do serwera VNC.
Aby wygenerować hasło, musimy będąc zalogowanym na klastrze wydać polecenie /net/software/vnc/pro-viz password JOBID
, gdzie JOBID
to id zadania zwracane w komendzie /net/software/vnc/pro-viz list
, w naszym przypadku komenda będzie wyglądała następująco: /net/software/vnc/pro-viz password
4201152
. Hasło można wygenerować wyłącznie dla zadań już działających (zadania posiadające skonfigurowany DISPLAY
).
Jako komunikat zwrotny otrzymamy m.in. one-time password (for external client), który kopiujemy i wpisujemy w otwartym oknie TurboVNC. W dalszych rozważaniach zakładamy, że zwrócone hasło to 000000.
Dodatkowo, jeśli ktoś woli korzystać z klienta TurboVNC w terminalu może wykonać polecenie, które również wyświetla komenda /net/software/vnc/pro-viz password JOBID
, np.:
vncviewer -via plg...@pro.cyfronet.pl -password=000000 p1788:1
Po połączeniu ukaże się połączenie z zadaniem w trybie GUI:
Należy jeszcze zamknąć komunikat błędu XFCE PolicyKit Agent przyciskiem 'Zamknij', a następnie uruchomić terminal, którego ikona znajduje się na dolnym pasku:
i po załadowaniu odpowiedniego modułu aplikacji, korzystać z przydzielonych zasobów. Poniżej przykład z uruchomieniem aplikacji Matlab. Widać, że użytkownik uruchomił w trybie GUI przykładowy benchmark Parallel Computing Toolbox używając 24 rdzeni na maszynie.
Ponieważ zadanie TurboVNC może działać bez otwartego klienta, możliwe jest po zleceniu obliczeń zamknięcie okna klienta TurboVNC przyciskiem zamknij/zakończ lub rozłącz. W tym przypadku obliczenia wykonują się nadal, jednak bez podglądu.
Aby ponownie zalogować się do rozłączonej sesji, należy ponownie wygenerować hasło poleceniem /net/software/vnc/pro-viz password 4201152
, a następnie podać podczas logowania wygenerowane tak hasło.
Po zakończeniu obliczeń należy zamknąć okno TurboVNC oraz wydać w konsoli Prometheusa polecenie:
/net/software/vnc/pro-viz stop 4201152
Zamiast tego można również kliknąć w nazwę użytkownika widoczną w prawym górnym roku ekranu TurboVNC na panelu, następnie wybrać wyloguj. To automatycznie zakończy sesję na Prometheusie.
Konfiguracja pakietów Ansys Workbench w trybie GUI w usłudze pro-viz
Konfiguracja pakietu Ansys Alectronic Desktop (Maxwell) w trybie GUI w usłudze pro-viz
Konfiguracja programu Mathematica w trybie GUI w usłudze Strona przeniesiona do Obliczenia w trybie graficznym: pro-viz