[[breakout]]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
breakout [2018/12/26 09:21]
beckmanf kerberos
breakout [2020/10/05 15:20]
dke update system summary
Line 11: Line 11:
   * Intel X540-T2 10GB Base-T Ethernet Netzwerkanschluss   * Intel X540-T2 10GB Base-T Ethernet Netzwerkanschluss
   * 4 x NVIDIA Geforce GTX 1080 mit GP104 Pascal, 2560 Cores, 8 GB RAM   * 4 x NVIDIA Geforce GTX 1080 mit GP104 Pascal, 2560 Cores, 8 GB RAM
-  * Debian Linux Jessie, NVIDIA Cuda, Torch +  * Debian Linux Jessie 
-  * NVidia Treiber ​410.78 +  * NVidia Treiber ​450.80.02 
-  * Kernel ​3.16.51-3 +  * Kernel ​4.9.0-13 
-  * Cuda 10+  * Cuda 10, Cuda 8 
 +  * Tensorflow, Torch 
 +  * Docker 19.03.13, Nvidia-docker
  
 ===== Nutzungshinweise ===== ===== Nutzungshinweise =====
Line 150: Line 152:
 </​code>​ </​code>​
  
-Now you can start a program. You can leave the tmux session (and the program) running when you type CTRL-b d. This will detach you from the tmux session. Then you can logout from you ssh session and keep everything running on the breakout. ​The you can login to breakout via ssh again. You can reattach to tmux with+Now you can start a program. You can leave the tmux session (and the program) running when you type CTRL-b d. This will detach you from the tmux session. Then you can logout from you ssh session and keep everything running on the breakout. ​Then you can login to breakout via ssh again. You can reattach to tmux with
  
 <​code>​ <​code>​
Line 156: Line 158:
 </​code>​ </​code>​
  
-Then you should see the output from your running program.+You should see the output from your running program.
  
 === kerberos - keep your file system alive === === kerberos - keep your file system alive ===
Line 162: Line 164:
 When you login to the breakout via your RZ account, then your home directory is mounted on the breakout from the RZ file server via nfs. When you logout from the breakout, then your home directory is unmounted after 5 minutes if you have no job still running. If you have a job running, e.g. via tmux or a job in the background then your home directory remains mounted. ​ When you login to the breakout via your RZ account, then your home directory is mounted on the breakout from the RZ file server via nfs. When you logout from the breakout, then your home directory is unmounted after 5 minutes if you have no job still running. If you have a job running, e.g. via tmux or a job in the background then your home directory remains mounted. ​
  
-If you leave a job running for more than about 10 hours you get errors when you try to access files in your home directory. The reason is that the mounting process requires an authentification ​which is done via the kerberos service. When you login to the breakout with your password, then you automagically receive a kerberos ticket which is derived from the login credentials. This is required by the automounter of your home directory - without a kerberos ticket the nfs server does not allow the access to your files. When I run the pytorch example [[#Running the imagenet training]], then this takes about 5 days. After approximately 10 hours runtime I receive the following bus error message+If you leave a job running for more than about 10 hours you get errors when you try to access files in your home directory. The reason is that the mounting process requires an authentication ​which is done via the kerberos service. When you login to the breakout with your password, then you automagically receive a kerberos ticket which is derived from the login credentials. This is required by the automounter of your home directory - without a kerberos ticket the nfs server does not allow the access to your files. When I run the pytorch example [[#Running the imagenet training]], then this takes about 5 days. After approximately 10 hours runtime I receive the following bus error message
  
 <​code>​ <​code>​
 Epoch: [12][4980/​5005] ​ Time 0.523 (0.524) ​     Data 0.000 (0.034) ​     Loss 2.5527 (2.5143) ​   Acc@1 44.922 (44.781) ​  Acc@5 69.922 (69.733) Epoch: [12][4980/​5005] ​ Time 0.523 (0.524) ​     Data 0.000 (0.034) ​     Loss 2.5527 (2.5143) ​   Acc@1 44.922 (44.781) ​  Acc@5 69.922 (69.733)
- 
 Epoch: [12][4990/​5005] ​ Time 0.525 (0.524) ​     Data 0.000 (0.034) ​     Loss 2.7477 (2.5144) ​   Acc@1 44.141 (44.778) ​  Acc@5 66.016 (69.732) Epoch: [12][4990/​5005] ​ Time 0.525 (0.524) ​     Data 0.000 (0.034) ​     Loss 2.7477 (2.5144) ​   Acc@1 44.141 (44.778) ​  Acc@5 66.016 (69.732)
- 
 Epoch: [12][5000/​5005] ​ Time 0.520 (0.524) ​     Data 0.000 (0.034) ​     Loss 2.3334 (2.5144) ​   Acc@1 46.094 (44.776) ​  Acc@5 70.312 (69.730) Epoch: [12][5000/​5005] ​ Time 0.520 (0.524) ​     Data 0.000 (0.034) ​     Loss 2.3334 (2.5144) ​   Acc@1 46.094 (44.776) ​  Acc@5 70.312 (69.730)
- 
 Test: [0/​196] ​  Time 3.587 (3.587) ​     Loss 1.6937 (1.6937) ​   Acc@1 58.203 (58.203) ​  Acc@5 86.328 (86.328) Test: [0/​196] ​  Time 3.587 (3.587) ​     Loss 1.6937 (1.6937) ​   Acc@1 58.203 (58.203) ​  Acc@5 86.328 (86.328)
- 
 Test: [10/​196] ​ Time 0.159 (0.814) ​     Loss 2.3972 (2.0702) ​   Acc@1 39.062 (51.598) ​  Acc@5 75.391 (77.131) Test: [10/​196] ​ Time 0.159 (0.814) ​     Loss 2.3972 (2.0702) ​   Acc@1 39.062 (51.598) ​  Acc@5 75.391 (77.131)
 +...
 +Test: [170/196] Time 2.123 (0.635) ​     Loss 1.9238 (2.3964) ​   Acc@1 46.094 (45.463) ​  Acc@5 81.641 (72.149)
 +Test: [180/196] Time 0.159 (0.630) ​     Loss 2.1114 (2.4070) ​   Acc@1 44.531 (45.254) ​  Acc@5 78.125 (71.996)
 +Test: [190/196] Time 1.742 (0.633) ​     Loss 1.7933 (2.3935) ​   Acc@1 53.516 (45.492) ​  Acc@5 87.891 (72.215)
 + * Acc@1 45.864 Acc@5 72.442
 +Traceback (most recent call last):
 +  File "​main.py",​ line 398, in <​module>​
 +  File "​main.py",​ line 113, in main
 +...
 +  File "/​rz2home/​beckmanf/​miniconda3/​lib/​python3.7/​site-packages/​torch/​serialization.py",​ line 141, in _with_file_like
 +PermissionError:​ [Errno 13] Permission denied: '​checkpoint.pth.tar'​
 +Bus-Zugriffsfehler
 +beckmanf@breakout:​~/​pytorch/​examples/​imagenet$ ​
 +</​code>​
  
-Test: [20/​196] ​ Time 1.309 (0.720)      Loss 2.0579 (1.9759) ​   Acc@1 57.422 (53.832) ​  Acc@5 77.734 (78.553)+The reason for this bus error is that the pytorch program tries to write the file "​checkpoint.pth.tar" to the home directory but the home directory cannot be accessed because of the kerberos ticket expired.
  
-Test: [30/​196] ​ Time 0.563 (0.680) ​     Loss 2.0465 (1.9454) ​   Acc@1 46.094 (54.032) ​  Acc@5 78.516 (79.196)+You can check the status of your current kerberos ticket with "​klist"​.
  
-Test[40/196]  Time 0.159 (0.653) ​     Loss 2.5083 (2.1330) ​   Acc@1 36.719 (49.343) ​  Acc@5 71.484 (76.105)+<​code>​ 
 +beckmanf@breakout:​~$ klist 
 +Ticket cache: FILE:/tmp/​krb5cc_12487_ssddef 
 +Default principal: beckmanf@RZ.HS-AUGSBURG.DE
  
-Test[50/​196] ​ Time 0.170 (0.643)      Loss 1.1074 (2.1253)    Acc@1 67.969 (49.020)   Acc@5 93.359 (76.432)+Valid starting ​      ​Expires ​             Service principal 
 +27.12.2018 08:28:43  27.12.2018 18:​28:​43 ​ krbtgt/RZ.HS-AUGSBURG.DE@RZ.HS-AUGSBURG.DE 
 + renew until 28.12.2018 08:28:37 
 +</​code>​
  
-Test[60/​196] ​ Time 0.159 (0.632) ​     Loss 2.2322 (2.0738) ​   Acc@1 44.531 (49.577) ​  Acc@5 75.000 (77.561)+The kerberos ticket lifetime is 10h and the renew time is 24h. So after 18:28:43 you cannot access your home directory anymoreYou can apply for a new ticket with longer lifetime and a longer renew time with "​kinit"​.
  
-Test[70/​196] ​ Time 0.297 (0.642) ​     Loss 1.8228 (2.0520) ​   Acc@1 55.859 (50.094)   Acc@5 82.031 (77.888)+<​code>​ 
 +beckmanf@breakout:~$ kinit -l 2d -r 7d 
 +Password for beckmanf@RZ.HS-AUGSBURG.DE:  
 +</​code>​
  
-Test: [80/​196] ​ Time 0.536 (0.635) ​     Loss 2.9641 (2.0778) ​   Acc@1 38.281 (49.614) ​  Acc@5 66.016 (77.469)+In the example above you apply for a ticket lifetime of days and a renew time of 7 daysYou can check the result with klist again.
  
-Test[90/196]  Time 1.049 (0.648) ​     Loss 3.4027 (2.1507) ​   Acc@1 32.812 (48.665) ​  Acc@5 56.250 (76.292)+<​code>​ 
 +beckmanf@breakout:​~$ klist 
 +Ticket cache: FILE:/tmp/​krb5cc_12487_ssddef 
 +Default principal: beckmanf@RZ.HS-AUGSBURG.DE
  
-Test[100/196] Time 0.158 (0.634)      Loss 3.5365 (2.2064)    Acc@1 23.828 (47.865)   Acc@5 55.469 (75.460)+Valid starting ​      ​Expires ​             Service principal 
 +27.12.2018 08:30:09  27.12.2018 18:​30:​09 ​ krbtgt/RZ.HS-AUGSBURG.DE@RZ.HS-AUGSBURG.DE 
 + renew until 03.01.2019 08:30:05 
 +</​code>​
  
-Test: [110/196] Time 1.074 (0.640) ​     Loss 1.9910 (2.2252) ​   Acc@1 54.688 (47.818) ​  Acc@5 79.297 (75.165)+The kerberos ticket lifetime is still only 10h but the renew time is now seven days.
  
-Test: [120/196] Time 0.159 (0.632) ​     Loss 3.2950 (2.2667) ​   Acc@1 37.109 (47.446) ​  Acc@5 57.031 (74.358)+== Renew a kerberos ticket ==
  
-Test: [130/196] Time 2.357 (0.642)      Loss 2.0664 (2.2965) ​   Acc@1 52.734 (47.036)   Acc@5 76.562 (73.861)+To get a new kerberos ticket you have to provide your passwordBut you can renew your ticket and extend the lifetime without a password until the maximum renew time expiresYou must have a valid non-expired ticket when you start the renew processIn the example above you would have to do the renew until 18:30:09You can renew with "kinit -R"You do not need a password to do that.
  
-Test: [140/196] Time 0.158 (0.637) ​     Loss 2.5610 (2.3218) ​   Acc@1 41.406 (46.709) ​  Acc@5 69.922 (73.393)+== Start a job with automatic kerberos ticket renew ==
  
-Test: [150/196] Time 1.749 (0.638)      Loss 2.2279 ​(2.3468   Acc@1 53.516 (46.365) ​  Acc@5 75.000 (72.995)+You can do the ticket renew process automaticallyWhen you start a job with "​krenew",​ then your existing kerberos ticket will be copied to a new ticket cache location and the renew process is automatically done until the renew time expires or the job is doneThe ticket cache is copied because the kerberos cache that you received at login (here: /​tmp/​krb5cc_12487_ssddefwill be deleted at logoutTo start the example from pytorch imagenet training, this would be done like this:
  
-Test: [160/196] Time 0.159 (0.631) ​     Loss 2.3981 (2.3701) ​   Acc@1 48.047 (46.033) ​  Acc@5 70.312 (72.591)+<​code>​ 
 +krenew python -- main.py --gpu=-a resnet18 /​fast/​imagenet 
 +</​code>​
  
-Test: [170/196] Time 2.123 (0.635)      Loss 1.9238 (2.3964)    Acc@1 46.094 (45.463) ​  Acc@5 81.641 (72.149)+If you do this inside a tmux session, then you can detach and logoutThe job will run for up to seven daysWhen you login later you can check the status of the jobs kerberos ticket again with klistYou have to provide the filename of the jobs ticket cache.
  
-Test: [180/196] Time 0.159 (0.630) ​     Loss 2.1114 (2.4070) ​   Acc@1 44.531 (45.254) ​  Acc@5 78.125 (71.996) +<code
- +klist /tmp/krb5cc_12487_ftXjk0
-Test: [190/196] Time 1.742 (0.633) ​     Loss 1.7933 (2.3935) ​   Acc@1 53.516 (45.492) ​  Acc@5 87.891 (72.215) +
- +
- * Acc@1 45.864 Acc@5 72.442 +
- +
-Traceback (most recent call last): +
- +
-  File "​main.py",​ line 398, in <module+
- +
-  File "​main.py",​ line 113, in main +
- +
-  File "​main.py",​ line 252, in main_worker +
- +
-  File "​main.py",​ line 350, in save_checkpoint +
- +
-  File "/​rz2home/​beckmanf/​miniconda3/​lib/​python3.7/​site-packages/​torch/​serialization.py",​ line 218, in save +
- +
-  File "/​rz2home/​beckmanf/​miniconda3/​lib/​python3.7/​site-packages/​torch/​serialization.py",​ line 141, in _with_file_like +
- +
-PermissionError:​ [Errno 13] Permission denied: '​checkpoint.pth.tar'​ +
- +
-Bus-Zugriffsfehler +
- +
-beckmanf@breakout:​~/​pytorch/examples/imagenet$ ​+
 </​code>​ </​code>​
  
-The reason for this bus error is that the pytorch program tries to write the file "​checkpoint.pth.tar"​ to the home directory but the home directory cannot be accessed because of an expired kerberos ticket.+In my example ​the new cache name from krenew was /​tmp/​krb5cc_12487_ftXjk0
  
- +== Login via Public Key Authentication ==
  
 +When you login via Public Key Authentication,​ then you do not receive a new kerberos ticket. If you do not have a valid kerberos ticket, then you cannot access "​$HOME/​.ssh/​authorized_keys"​ and you are falling back to default password login and receive a new kerberos ticket. If you did the login via Public Key, then your "​klist"​ will not show any kerberos ticket because that is active from some other login session. However you can still run "​kinit"​ and receive a new kerberos ticket. That will be stored in the default kerberos ticket cache location at "/​tmp/​krb5cc_<​uid>"​. ​
 ==== PyTorch ==== ==== PyTorch ====
  
Line 329: Line 336:
 </​code>​ </​code>​
  
-The training takes about 5 days on the breakout. Refer to "Running long jobs" ​to see how you can run that long jobs on the breakout. +The training takes about 5 days on the breakout. Refer to [[#Running long jobs]] to see how you can run that long jobs on the breakout.
  
 ==== Bauingenieure - Photoscan ==== ==== Bauingenieure - Photoscan ====
  • breakout.txt
  • Last modified: 2022/03/26 17:38
  • by beckmanf