cmslab-workstation
The private server of cmslab.
General Specifications
Property | Description |
---|---|
Server Name: | CMSLab Workstation (cmslab-workstation) |
Operating System: | GNU/Linux |
Operating system distribution: | AlmaLinux 9.3 (Shamrock Pampas Cat) x86_64 |
CPU: | 2 x Intel Xeon Silver 4314 (64) @ 3.400GHz |
GPU: | NVIDIA Quadro T400 Mobile |
RAM: | 128 GB |
Total installed storage: | 6.98 TB |
see detailed specifications here
Workflows installed
JupyterHub
JupyterHub is installed as a docker image.
It is modified it to match the lab's cases. The name of the image is fixedjpyhub:ver2
. Use this command to list all the docker images installed:
docker images
To start the JupyterHub service run:
docker run -p 8000:8000 -d --name CMSLABjupyterhub fixedjpyhub:ver2 jupyterhub
Access the JupyterHub server by going to http://10.4.48.61:8000 (opens in a new tab) on your browser.(or whatever the current IP address is) \ To add new users first get into the container bash shell:
docker exec -it CMSLABjupyterhub bash
The container is has debian as the linux layer. So, add a new user by :
adduser <your username>
Machine Learning with GPU
A singularity container with tensorflow and jupyter is installed which utilises the Nvidia GPU installed in the server.
To start a jupyter notebook session with tensorflow and GPU :
- Forward the jupyter notebook port 8888 via ssh.
ssh -L 8888:localhost:8888 <username>@10.4.48.61
- Start the singularity container with
-nv
flag to allow the usage of Nvidia GPU :
singularity run --nv /commonfs/singularity_images/ML/tensorflow_latest-gpu-jupyter.sif
- Ctrl+Click on the
http://127.0.0.1:8888 …
link which shows up on the terminal.
Jupyter-Lab
Natively, the jupyter-lab installed on bare metal of the server has no additional packages installed. Although you could use pyROOT. Additional packages could be installed for a user by adding the -user flag during pip installations.
To start a jupyter-lab server, first login to the server with an appropriate port forward. For this example lets forward the port 8934 :
ssh -L 8934:localhost:8934 <username>@10.4.48.61
Once that is done, lets start a jupyter-lab server at port 8934 :
jupyter-lab --no-browser --port 8943 --ip=localhost
Upon running this, you should see two links on the terminal. Ctrl+Click on the link that starts with https://127 ...
This will open your browser and lead you to the jupyter-lab console. Here you could use pyROOT by
import ROOT
Expected output is a welcome message from JupyROOT.
Other information
Life hacks
-
LAN failure
In the case when university LAN internet certification expires you can still login through the network, follow these steps:- Login as usual with ssh but with X-forwarding enabled:
ssh -X <username>@10.4.48.61
- Open a lightweight browser and login to the university network. A lightweight browser called seamonkey is already installed and it is recommended to use that: To start the browser:
seamonkey
- The university login url is http://192.168.56.2:8090/httpclient.html (opens in a new tab) which is also bookmarked in seamonkey. Once logged in, you could close the browser window.
-
In the case when the university LAN has no power We have setup an internal switch network with the 'Bhawna 2' wifi router. In case of a university LAN failure,
- Connect to Wifi on your device and connect to 'Bhawna 2' (Password: CMSLAB2@).
- Go on to the settings of the network 'Bhawna 2'
- Change the ipv4 and ipv6 settings to 'Link Local' and apply the changes.(One-time process)
- Disconnect and reconnect to 'Bhawna 2'
- Open a terminal and ssh connect to the server with your username and ip address: 169.254.137.50 (this is the hardware ip4).
For example :
ssh prayag@169.254.137.50
Known issues
-
IP address assignment
— prayag 2024/02/05 06:48
It seems like the IP address assignment by university network has a problem. I have setup the NetworkManager configuration to assign 10.4.48.61 to the device id eth0 . This assigns the ip 10.4.48.61 to the server on startup. But this work almost 50% of the times only. Sometimes, the IP address 10.4.49.35 is assigned on startup. For now, this could be fixed by repeatedly rebooting the server till 10.4.48.61 is assigned. -
Logging in to university wifi
— prayag 2024/02/11 11:24
Once you connect to either University LAN or wifi you have to login from a web-browser. The problem with a server configuration is that you can't always have an access to the GUI, to open a browser and login from a browser. A possible solution to this is re-engineering the AJAX request from the login portal and run the request from a terminal. I have tried this and have been unsuccessful so far. A workaround is to open a VNC session and login from there. You can also “X forward” a firefox browser window through ssh but that is incredibly slow. A lightweight browser like seamonkey will work a lot better. Go to seamonkey and check out the bookmark where the university wifi login page is bookmarked.