en:first_steps:tutorial
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:first_steps:tutorial [2026/09/27 14:03] – pchojecki | en:first_steps:tutorial [2026/09/30 01:58] (current) – pchojecki | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Tutorial ====== | ====== Tutorial ====== | ||
| - | Celem tej instrukcji jest wykonanie pierwszych kroków na klastrze | + | The goal of this tutorial is to guide you through your first steps on the Eden cluster. After completing it, you will be able to: |
| - | * zalogujesz się na Eden, | + | * log in to Eden, |
| - | * sprawdzisz dostępne zasoby, | + | * check available resources, |
| - | * uruchomisz pierwsze zadanie, | + | * run your first job, |
| - | * sprawdzisz jego stan, | + | * check its status, |
| - | * zakończysz zadanie. | + | * stop a job. |
| - | ===== Logowanie | + | ===== Logging in ===== |
| - | Logowanie do systemu | + | You can access the Eden system via SSH. |
| - | ==== Z sieci wydziałowej | + | ==== From the faculty network |
| - | Będąc w sieci wydziałowej, możesz połączyć się bezpośrednio: | + | When connected to the faculty network, you can connect directly: |
| <code bash> | <code bash> | ||
| - | ssh LOGIN_EDEN@eden.mini.pw.edu.pl | + | ssh EDEN_LOGIN@eden.mini.pw.edu.pl |
| </ | </ | ||
| - | Zastąp | + | Replace |
| - | ==== Spoza sieci wydziałowej | + | ==== From outside the faculty network |
| - | Spoza sieci wydziałowej możesz połączyć się pośrednio, wykorzystując serwer wydziałowy jako tzw. //jump host//. | + | From outside the faculty network, you can connect indirectly using the faculty server as a //jump host//. |
| - | Służy do tego flaga '' | + | Use the '' |
| <code bash> | <code bash> | ||
| - | ssh -J LOGIN_MINI@ssh.mini.pw.edu.pl | + | ssh -J MINI_LOGIN@ssh.mini.pw.edu.pl |
| </ | </ | ||
| - | W tym przypadku najpierw następuje autoryzacja na serwerze wydziałowym, a następnie ruch jest automatycznie przekierowywany na klaster | + | In this case, you first authenticate to the faculty server, and the connection is then automatically forwarded to the Eden cluster. |
| - | Zastąp: | + | Replace: |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | Po poprawnym zalogowaniu powinieneś zobaczyć ekran powitalny | + | After a successful login, you should see the Eden welcome screen: |
| - | {{: | + | {{: |
| <WRAP center round important 80%> | <WRAP center round important 80%> | ||
| - | **Eden, na który logujesz się przez SSH, jest tylko węzłem dostępowym. Nie wykonujemy na nim obliczeń!** | + | **The Eden machine you log in to via SSH is only a login node. Do not run computations on it!** |
| </ | </ | ||
| - | Po zalogowaniu mamy dostęp do terminala z systemem | + | After logging in, you have access to a Linux terminal and to the Slurm workload manager, which is used to run jobs on the cluster. |
| - | ===== Podstawowe komendy | + | ===== Basic commands |
| - | Przydatne polecenia: | + | Useful commands: |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | ==== Zatrzymanie zadania | + | ==== Stopping a job ==== |
| - | Jeżeli chcesz przerwać swoje zadanie, najpierw sprawdź jego identyfikator | + | If you want to stop one of your jobs, first find its '' |
| <code bash> | <code bash> | ||
| - | squeue -u LOGIN_EDEN | + | squeue -u EDEN_LOGIN |
| </ | </ | ||
| - | Następnie użyj: | + | Then run: |
| <code bash> | <code bash> | ||
| Line 75: | Line 75: | ||
| </ | </ | ||
| - | ===== Uruchamianie zadań interaktywnych | + | ===== Running interactive jobs ===== |
| - | Sesja interaktywna jest wygodna do krótkich testów, eksperymentowania oraz sprawdzania kodu na węźle obliczeniowym. | + | An interactive session is useful for short tests, experimentation, |
| - | Najpierw zobaczmy, jakie kolejki są dostępne: | + | First, let us see which partitions are available: |
| <code bash> | <code bash> | ||
| Line 85: | Line 85: | ||
| </ | </ | ||
| - | Przykładowy wynik: | + | Example output: |
| - | {{: | + | {{: |
| - | Widzimy m.in. kolejkę | + | We can see, among others, the '' |
| - | Możemy też sprawdzić, jakie zasoby są obecnie wolne: | + | We can also check which resources are currently available: |
| <code bash> | <code bash> | ||
| Line 97: | Line 97: | ||
| </ | </ | ||
| - | Przykładowy wynik: | + | Example output: |
| - | {{: | + | {{: |
| - | O, widzimy że zarówno węzeł | + | We can see that both '' |
| * 1 CPU, | * 1 CPU, | ||
| - | * 4 GB RAM, | + | * 4 GB of RAM, |
| - | * maksymalnym czasem pracy 30 minut. | + | * a maximum running time of 30 minutes. |
| - | Uruchamiamy: | + | Run: |
| <code bash> | <code bash> | ||
| Line 113: | Line 113: | ||
| </ | </ | ||
| - | Zastąp | + | Replace |
| - | Gdy system przyzna nam zasoby, możemy sprawdzić, na jakim węźle się znajdujemy: | + | Once Slurm allocates the requested resources, we can check which node we are on: |
| <code bash> | <code bash> | ||
| Line 121: | Line 121: | ||
| </ | </ | ||
| - | Przykładowe uruchomienie sesji: | + | Example interactive session: |
| - | {{: | + | {{: |
| - | Widzimy, że dostaliśmy | + | We can see that we were assigned |
| - | Możemy tutaj uruchamiać obliczenia, testować kod, uruchomić Pythona itd. | + | We can now run computations, test our code, start Python, etc. |
| - | Po zakończeniu pracy wychodzimy z sesji: | + | When we finish working, we leave the session with: |
| <code bash> | <code bash> | ||
| Line 136: | Line 136: | ||
| <WRAP center round important 80%> | <WRAP center round important 80%> | ||
| - | **Jeżeli przerwie się połączenie | + | **If your SSH connection is interrupted, computations running in the interactive session will also be terminated.** |
| - | Można temu zapobiec, korzystając np. z '' | + | You can avoid this by using tools such as '' |
| </ | </ | ||
| - | ==== Co oznaczają poszczególne opcje? ==== | + | ==== What do the individual options mean? ==== |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | ===== Zadania wykonywane w tle ===== | + | ===== Running jobs in the background |
| - | Do dłuższych obliczeń nie należy używać sesji interaktywnej. Lepszym rozwiązaniem są zadania wysyłane za pomocą | + | For longer computations, |
| - | Opis zadania oraz wymagane zasoby zapisujemy w pliku tekstowym. | + | The job description and requested resources are specified in a text file. |
| - | Plik składa się z: | + | The file consists of: |
| - | * dyrektyw Slurma | + | * Slurm directives |
| - | * poleceń, które mają zostać wykonane. | + | * commands that should be executed. |
| - | Pierwsza linia powinna wskazywać | + | The first line should specify the interpreter, |
| <code bash> | <code bash> | ||
| Line 169: | Line 169: | ||
| </ | </ | ||
| - | ==== Przykład krok po kroku ==== | + | ==== Step-by-step example |
| - | === 1. Przygotowanie programu | + | === 1. Preparing the program |
| - | Utwórzmy prosty | + | Let us create a simple Python |
| <code bash> | <code bash> | ||
| Line 179: | Line 179: | ||
| </ | </ | ||
| - | === 2. Przygotowanie skryptu | + | === 2. Preparing the Slurm script |
| - | Tworzymy plik '' | + | Create a file called |
| <code bash> | <code bash> | ||
| Line 197: | Line 197: | ||
| </ | </ | ||
| - | Zastąp | + | Replace |
| - | Symbol | + | The '' |
| - | === 3. Utworzenie katalogu na logi === | + | === 3. Creating the log directory |
| - | Przed wysłaniem zadania upewnij się, że katalog na logi istnieje. | + | Before submitting the job, make sure that the log directory exists. |
| - | Slurm nie utworzy go automatycznie. | + | Slurm will not create it automatically. |
| <code bash> | <code bash> | ||
| Line 211: | Line 211: | ||
| </ | </ | ||
| - | === 4. Wysłanie zadania | + | === 4. Submitting the job === |
| - | Wysyłamy zadanie do kolejki: | + | Submit the job to the queue: |
| <code bash> | <code bash> | ||
| Line 219: | Line 219: | ||
| </ | </ | ||
| - | Slurm zwróci komunikat podobny do: | + | Slurm will return a message similar to: |
| < | < | ||
| Line 225: | Line 225: | ||
| </ | </ | ||
| - | Przykład: | + | Example: |
| - | {{: | + | {{: |
| - | Liczba na końcu to '' | + | The number at the end is the job' |
| - | Możemy sprawdzić, czy zadanie znajduje się w kolejce: | + | We can check whether the job is currently in the queue: |
| <code bash> | <code bash> | ||
| - | squeue -u LOGIN_EDEN | + | squeue -u EDEN_LOGIN |
| </ | </ | ||
| - | === 5. Sprawdzenie wyniku | + | === 5. Checking the result |
| - | Po zakończeniu zadania wynik znajdziemy w katalogu | + | After the job finishes, its output can be found in the '' |
| - | Przykładowo, jeżeli | + | For example, if the job' |
| <code bash> | <code bash> | ||
| Line 247: | Line 247: | ||
| </ | </ | ||
| - | Powinniśmy zobaczyć: | + | You should see: |
| < | < | ||
| Line 253: | Line 253: | ||
| </ | </ | ||
| - | Przykład dla zadania o '' | + | Example for a job with '' |
| - | {{: | + | {{: |
| - | ==== Zadanie, które możemy zobaczyć w kolejce | + | ==== A job that we can see in the queue ==== |
| - | Poprzedni | + | The previous |
| - | Zmieńmy więc '' | + | Let us therefore modify |
| <code python> | <code python> | ||
| Line 271: | Line 271: | ||
| </ | </ | ||
| - | {{: | + | Submit the job again: |
| - | + | ||
| - | Ponownie uruchamiamy: | + | |
| <code bash> | <code bash> | ||
| Line 279: | Line 277: | ||
| </ | </ | ||
| - | i od razu sprawdzamy kolejkę: | + | and immediately check the queue: |
| <code bash> | <code bash> | ||
| - | squeue -u LOGIN_EDEN | + | squeue -u EDEN_LOGIN |
| </ | </ | ||
| - | Przykładowy wynik: | + | Example output: |
| - | {{: | + | {{: |
| - | Jeżeli zadanie zostało już uruchomione, przez około | + | If the job has already started, we should be able to see it in the queue for approximately |
| - | W kolumnie | + | In the '' |
| - | Po jego zakończeniu ponowne wykonanie: | + | After the job finishes, running: |
| <code bash> | <code bash> | ||
| - | squeue -u LOGIN_EDEN | + | squeue -u EDEN_LOGIN |
| </ | </ | ||
| - | nie powinno już go pokazywać. | + | again should no longer show it. |
| - | ===== Czym jest Slurm? ===== | + | ===== What is Slurm? ===== |
| - | Slurm jest systemem zarządzania klastrami i planowania zadań powszechnie wykorzystywanym w środowiskach | + | Slurm is a cluster management and job scheduling system widely used in high-performance computing (HPC) environments and on supercomputers. |
| - | Jego głównym zadaniem jest: | + | Its main responsibilities include: |
| - | * przydzielanie użytkownikom zasobów obliczeniowych, | + | * allocating computing resources to users, |
| - | * zarządzanie kolejką zadań, | + | * managing the job queue, |
| - | * uruchamianie zadań na dostępnych węzłach, | + | * running jobs on available compute nodes, |
| - | * zwalnianie zasobów po zakończeniu obliczeń. | + | * releasing resources after computations finish. |
| - | Typowy przebieg pracy wygląda następująco: | + | A typical workflow is as follows: |
| - | - Użytkownik przygotowuje skrypt | + | - The user prepares an '' |
| - | - Slurm sprawdza dostępność zasobów. | + | - Slurm checks whether the requested resources are available. |
| - | - Gdy odpowiednie zasoby są dostępne, Slurm je rezerwuje i uruchamia zadanie. | + | - When suitable resources become available, Slurm reserves them and starts the job. |
| - | - Po zakończeniu obliczeń zasoby zostają zwolnione i mogą zostać przydzielone kolejnemu zadaniu. | + | - After the computation finishes, the resources are released and can be allocated to another job. |
| - | Oficjalna dokumentacja: | + | Official documentation: |
| - | [[https:// | + | [[https:// |
| - | ===== Dalsze kroki ===== | + | ===== Next steps ===== |
| TODO | TODO | ||
| Line 329: | Line 327: | ||
| ---- | ---- | ||
| - | //Tutorial przygotowany na podstawie materiałów opracowanych przez **Tymona Tumialisa**. Dziękujemy za przygotowanie instrukcji, przykładów oraz materiałów graficznych.// | + | //This tutorial was prepared based on materials created by **Tymon Tumialis**. We would like to thank him for preparing the instructions, examples, and graphical materials.// |
en/first_steps/tutorial.1790535782.txt.gz · Last modified: by pchojecki
