Skip to content
Snippets Groups Projects

Lmod eb

Merged David Hrbáč requested to merge lmod-eb into master
2 files
+ 38
36
Compare changes
  • Side-by-side
  • Inline
Files
2
Remote visualization service
# Remote visualization service
============================
 
## Introduction
Introduction
------------
The goal of this service is to provide the users a GPU accelerated use of OpenGL applications, especially for pre- and post- processing work, where not only the GPU performance is needed but also fast access to the shared file systems of the cluster and a reasonable amount of RAM.
The goal of this service is to provide the users a GPU accelerated use of OpenGL applications, especially for pre- and post- processing work, where not only the GPU performance is needed but also fast access to the shared file systems of the cluster and a reasonable amount of RAM.
The service is based on integration of open source tools VirtualGL and TurboVNC together with the cluster's job scheduler PBS Professional.
The service is based on integration of open source tools VirtualGL and TurboVNC together with the cluster's job scheduler PBS Professional.
@@ -18,17 +17,15 @@ Currently two compute nodes are dedicated for this service with following config
@@ -18,17 +17,15 @@ Currently two compute nodes are dedicated for this service with following config
|Local disk drive|yes - 500 GB|
|Local disk drive|yes - 500 GB|
|Compute network|InfiniBand QDR|
|Compute network|InfiniBand QDR|
Schematic overview
## Schematic overview
------------------
![rem_vis_scheme](../img/scheme.png "rem_vis_scheme")
![rem_vis_scheme](../img/scheme.png "rem_vis_scheme")
![rem_vis_legend](../img/legend.png "rem_vis_legend")
![rem_vis_legend](../img/legend.png "rem_vis_legend")
How to use the service
## How to use the service
----------------------
### Setup and start your own TurboVNC server.
### Setup and start your own TurboVNC server
TurboVNC is designed and implemented for cooperation with VirtualGL and available for free for all major platforms. For more information and download, please refer to: <http://sourceforge.net/projects/turbovnc/>
TurboVNC is designed and implemented for cooperation with VirtualGL and available for free for all major platforms. For more information and download, please refer to: <http://sourceforge.net/projects/turbovnc/>
@@ -36,11 +33,11 @@ TurboVNC is designed and implemented for cooperation with VirtualGL and availabl
@@ -36,11 +33,11 @@ TurboVNC is designed and implemented for cooperation with VirtualGL and availabl
The procedure is:
The procedure is:
#### 1. Connect to a login node.
#### 1. Connect to a login node
Please [follow the documentation](shell-and-data-access/).
Please [follow the documentation](shell-and-data-access/).
#### 2. Run your own instance of TurboVNC server.
#### 2. Run your own instance of TurboVNC server
To have the OpenGL acceleration, **24 bit color depth must be used**. Otherwise only the geometry (desktop size) definition is needed.
To have the OpenGL acceleration, **24 bit color depth must be used**. Otherwise only the geometry (desktop size) definition is needed.
@@ -58,7 +55,7 @@ Starting applications specified in /home/username/.vnc/xstartup.turbovnc
@@ -58,7 +55,7 @@ Starting applications specified in /home/username/.vnc/xstartup.turbovnc
Log file is /home/username/.vnc/login2:1.log
Log file is /home/username/.vnc/login2:1.log
```
```
#### 3. Remember which display number your VNC server runs (you will need it in the future to stop the server).
#### 3. Remember which display number your VNC server runs (you will need it in the future to stop the server)
```bash
```bash
$ vncserver -list
$ vncserver -list
@@ -71,7 +68,7 @@ X DISPLAY # PROCESS ID
@@ -71,7 +68,7 @@ X DISPLAY # PROCESS ID
In this example the VNC server runs on display **:1**.
In this example the VNC server runs on display **:1**.
#### 4. Remember the exact login node, where your VNC server runs.
#### 4. Remember the exact login node, where your VNC server runs
```bash
```bash
$ uname -n
$ uname -n
@@ -80,7 +77,7 @@ login2
@@ -80,7 +77,7 @@ login2
In this example the VNC server runs on **login2**.
In this example the VNC server runs on **login2**.
#### 5. Remember on which TCP port your own VNC server is running.
#### 5. Remember on which TCP port your own VNC server is running
To get the port you have to look to the log file of your VNC server.
To get the port you have to look to the log file of your VNC server.
@@ -91,22 +88,23 @@ $ grep -E "VNC.*port" /home/username/.vnc/login2:1.log
@@ -91,22 +88,23 @@ $ grep -E "VNC.*port" /home/username/.vnc/login2:1.log
In this example the VNC server listens on TCP port **5901**.
In this example the VNC server listens on TCP port **5901**.
#### 6. Connect to the login node where your VNC server runs with SSH to tunnel your VNC session.
#### 6. Connect to the login node where your VNC server runs with SSH to tunnel your VNC session
Tunnel the TCP port on which your VNC server is listenning.
Tunnel the TCP port on which your VNC server is listenning.
```bash
```bash
$ ssh login2.anselm.it4i.cz -L 5901:localhost:5901
$ ssh login2.anselm.it4i.cz -L 5901:localhost:5901
```
```
 
x-window-system/
x-window-system/
*If you use Windows and Putty, please refer to port forwarding setup in the documentation:*
*If you use Windows and Putty, please refer to port forwarding setup in the documentation:*
[x-window-and-vnc#section-12](../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/)
[x-window-and-vnc#section-12](../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/)
#### 7. If you don't have Turbo VNC installed on your workstation.
#### 7. If you don't have Turbo VNC installed on your workstation
Get it from: <http://sourceforge.net/projects/turbovnc/>
Get it from: <http://sourceforge.net/projects/turbovnc/>
#### 8. Run TurboVNC Viewer from your workstation.
#### 8. Run TurboVNC Viewer from your workstation
Mind that you should connect through the SSH tunneled port. In this example it is 5901 on your workstation (localhost).
Mind that you should connect through the SSH tunneled port. In this example it is 5901 on your workstation (localhost).
@@ -116,11 +114,11 @@ $ vncviewer localhost:5901
@@ -116,11 +114,11 @@ $ vncviewer localhost:5901
*If you use Windows version of TurboVNC Viewer, just run the Viewer and use address **localhost:5901**.*
*If you use Windows version of TurboVNC Viewer, just run the Viewer and use address **localhost:5901**.*
#### 9. Proceed to the chapter "Access the visualization node."
#### 9. Proceed to the chapter "Access the visualization node"
*Now you should have working TurboVNC session connected to your workstation.*
*Now you should have working TurboVNC session connected to your workstation.*
#### 10. After you end your visualization session.
#### 10. After you end your visualization session
*Don't forget to correctly shutdown your own VNC server on the login node!*
*Don't forget to correctly shutdown your own VNC server on the login node!*
@@ -128,8 +126,8 @@ $ vncviewer localhost:5901
@@ -128,8 +126,8 @@ $ vncviewer localhost:5901
$ vncserver -kill :1
$ vncserver -kill :1
```
```
Access the visualization node
### Access the visualization node
-----------------------------
**To access the node use a dedicated PBS Professional scheduler queue
**To access the node use a dedicated PBS Professional scheduler queue
qviz**. The queue has following properties:
qviz**. The queue has following properties:
@@ -141,7 +139,7 @@ Currently when accessing the node, each user gets 4 cores of a CPU allocated, th
@@ -141,7 +139,7 @@ Currently when accessing the node, each user gets 4 cores of a CPU allocated, th
To access the visualization node, follow these steps:
To access the visualization node, follow these steps:
#### 1. In your VNC session, open a terminal and allocate a node using PBSPro qsub command.
#### 1. In your VNC session, open a terminal and allocate a node using PBSPro qsub command
*This step is necessary to allow you to proceed with next steps.*
*This step is necessary to allow you to proceed with next steps.*
@@ -168,7 +166,7 @@ srv8
@@ -168,7 +166,7 @@ srv8
In this example the visualization session was assigned to node **srv8**.
In this example the visualization session was assigned to node **srv8**.
#### 2. In your VNC session open another terminal (keep the one with interactive PBSPro job open).
#### 2. In your VNC session open another terminal (keep the one with interactive PBSPro job open)
Setup the VirtualGL connection to the node, which PBSPro allocated for our job.
Setup the VirtualGL connection to the node, which PBSPro allocated for our job.
@@ -178,13 +176,13 @@ $ vglconnect srv8
@@ -178,13 +176,13 @@ $ vglconnect srv8
You will be connected with created VirtualGL tunnel to the visualization ode, where you will have a shell.
You will be connected with created VirtualGL tunnel to the visualization ode, where you will have a shell.
#### 3. Load the VirtualGL module.
#### 3. Load the VirtualGL module
```bash
```bash
$ module load virtualgl/2.4
$ module load virtualgl/2.4
```
```
#### 4. Run your desired OpenGL accelerated application using VirtualGL script "vglrun".
#### 4. Run your desired OpenGL accelerated application using VirtualGL script "vglrun"
```bash
```bash
$ vglrun glxgears
$ vglrun glxgears
@@ -197,26 +195,26 @@ $ module load marc/2013.1
@@ -197,26 +195,26 @@ $ module load marc/2013.1
$ vglrun mentat
$ vglrun mentat
```
```
#### 5. After you end your work with the OpenGL application.
#### 5. After you end your work with the OpenGL application
Just logout from the visualization node and exit both opened terminals nd end your VNC server session as described above.
Just logout from the visualization node and exit both opened terminals nd end your VNC server session as described above.
Tips and Tricks
## Tips and Tricks
---------------
If you want to increase the responsibility of the visualization, please adjust your TurboVNC client settings in this way:
If you want to increase the responsibility of the visualization, please adjust your TurboVNC client settings in this way:
![rem_vis_settings](../img/turbovncclientsetting.png "rem_vis_settings")
![rem_vis_settings](../img/turbovncclientsetting.png "rem_vis_settings")
To have an idea how the settings are affecting the resulting picture utility three levels of "JPEG image quality" are demonstrated:
To have an idea how the settings are affecting the resulting picture utility three levels of "JPEG image quality" are demonstrated:
1. JPEG image quality = 30
** JPEG image quality = 30 **
![rem_vis_q3](../img/quality3.png "rem_vis_q3")
![rem_vis_q3](../img/quality3.png "rem_vis_q3")
2. JPEG image quality = 15
** JPEG image quality = 15 **
![rem_vis_q2](../img/quality2.png "rem_vis_q2")
![rem_vis_q2](../img/quality2.png "rem_vis_q2")
3. JPEG image quality = 10
** JPEG image quality = 10 **
![rem_vis_q1](../img/quality1.png "rem_vis_q1")
![rem_vis_q1](../img/quality1.png "rem_vis_q1")
Loading