Okeanos

Languages:   Polski  • English
Komputer
Okeanos foto.jpg
Instalacja: Cray XC40
Model:
Nazwa: Okeanos
Typ procesora: Intel Xeon E5-2690 v3
Architektura: x86_64
Reprezencja danych: little-endian
Częstotliwość
taktowania:
2.6 GHz
Liczba procesorów
w węźle:
2 x 12 rdzenie (HT2)
Ilość pamięci
w węźle:
128 GB
System plików: Lustre (rozproszony system plików)
System operacyjny: Linux
System kolejkowy: Slurm
Wszystkie komputery | okeanos | boreasz | nostromo | hydra | topola
Podręcznik | Programowanie

Spis treści

Architektura

System Okeanos składa się z 1084 węzłów typu Cray XC40 - serwerów superkomputerowych upakowanych w specjalnych szafach. Każdy węzeł wyposażony jest w 24 rdzenie procesora Intel Xeon (architektura x86_64 [1], nazwa kodowa Haswell) z opcją Hyper Threading (HT) [2], razem 48 logicznych jednostek obliczeniowych. Węzły połączone są siecią typu Cray Aries [3] o wysokiej wydajności. Sieć połączeń ma topologię Dragonfly.

Procesory rodziny Intel Xeon są architekturą typu little-endian[4]. Jeden węzeł posiada 128 Gb pamięci operacyjnej. Jest to architektura typu ccNUMA (cache coherent Non-Uniform Memory Access [5]) gdzie procesory w obrębie węzła mają spójną pamięć podręczną oraz niejednorodny czas dostępu do pamięci głównej.

Serwery (węzły) nie posiadają lokalnego dysku. Dane przechowywane są na sieciowym równoległym systemie plików typu Lustre.

Użytkowanie i przeznaczenie

Okeanos najlepiej sprawdza się w obliczeniach wielkoskalowych, które w pojedynczym przebiegu wymagają zastosowania kilku tysięcy rdzeni obliczeniowych i kilkudziesięciu terabajtów pamięci operacyjnej. Realizacja tego typu obliczeń jest jego głównym przeznaczeniem.

Komputer jest dostępny dla zadań użytkowników, w ramach grantów obliczeniowych typu A, B i C oraz dla innych projektów specjalnych.

Zasady korzystania

Logowanie następuje na węzeł dostępowy (tzw. front-end) o nazwie okeanosX (gdzie X = 1,2,3). Służą one jedynie do przygotowania programów i przetwarzania danych związanych z obliczeniami. Na węźle dostępowym nie należy uruchamiać żadnych obliczeń, zadania użytkowników uruchamiane są za pomocą systemu kolejkowego na węzłach obliczeniowych.

Uwaga: architektura węzła dostępowego (Intel Sandy Bridge [6]) i węzłów obliczeniowych (Intel Haswell [7]) różnią się; należy o tym pamiętać przy samodzielnej kompilacji programów.

Węzły obliczeniowe nie posiadają dysków lokalnych. Wszystkie obliczenia należy wykonywać korzystając z katalogu domowego.

System kolejkowy i zadania użytkowników

Zainstalowanym systemem kolejkowym jest Slurm (w trybie native). Do uruchamiania zadań należy używać poleceń salloc lub sbatch (tryb wsadowy).

Aby przygotować zadanie obliczeniowe, należy stworzyć skrypt (plik) zawierający listę żądanych zasobów oraz sposób uruchomienia programu. Przykłady skryptów zamieszczono na stronie Slurm.

System plików i przechowywanie danych

System korzysta z rozposzonego systemu plików w implementacji Lustre [8].

Limity

Domyślnie użytkownik dysponuje limitem około 100 gb.

Użytkownik ma przydzieloną ograniczoną liczbę zadań mogących wykonywać się jednocześnie; pozostałe zadania użytkownika w systemie pozostają w stanie oczekiwania.

Podczas uruchamiania zadań należy pamiętać, że ilość dostępnej dla programu użytkownika pamięci operacyjnej w węźle, jest nieco mniejsza niż całkowita fizyczna pamięć.

Dodatkowe polecenia związane z limitami kolejek podane są na stronie systemu kolejkowego.

Środowisko użytkownika

Klaster obsługuje system operacyjny Linux (specjalna wersja systemu SLES).

Do ustawiania środowiska (ścieżki dostępu, biblioteki) służy narzędzie modules. Pełna dokumentacja dostępna jest po wydaniu polecenia: man module. Najważniejsze polecenia to:

module avail (Lista dostępnych modułów)

module list (Lista modułów aktualnie załadowanych przez użytkownika)

module load <nazwa modułu>

module unload <nazwa modułu>

Zainstalowane aplikacje

Pakiety naukowe są instalowane w drzewie katalogów /apps:


  • abinit
    • abinit/8.0.8
    • abinit/8.4.2
    • abinit/8.4.4



  • ansys
    • ansys/17.0
    • ansys/17.1
    • ansys/19.1


  • barkeleygw
    • barkeleygw/1.2.0_c
    • barkeleygw/1.2.0_r


  • cp2k
    • cp2k/2.6.2
    • cp2k/3.0





  • elk
    • elk/4.0.15
    • elk/4.3.6


  • espresso
    • espresso/5.2.1
    • espresso/5.3.0
    • espresso/5.3.0_slow
    • espresso/5.3.0_up
    • espresso/6.1
    • espresso/6.2.1



  • fluent
    • fluent/17.0
    • fluent/17.1
    • fluent/18.0
    • fluent/19.1


  • gromacs
    • gromacs/4.5.7
    • gromacs/5.0.4_plumed-2.1.1
    • gromacs/5.1.2
    • gromacs/5.1.4
    • gromacs/5.1.4-plumed2
    • gromacs/5.1.4_intel
    • gromacs/2016.1
    • gromacs/2016.4


  • lammps
    • lammps/30Jul16
    • lammps/31Mar17



  • namd
    • namd/2.11
    • namd/2.11_memopt


  • ncbi-blast
    • ncbi-blast/2.2.28
    • ncbi-blast/2.2.31
    • ncbi-blast/2.3.0



  • python
    • python/anaconda2.7
    • python/anaconda3.6


  • siesta
    • siesta/3.2
    • siesta/4.1




  • vasp
    • vasp/4.6.1
    • vasp/5.2.12
    • vasp/5.4.1
    • vasp/5.4.1_p2
    • vasp/5.4.1_p3
    • vasp/5.4.4
    • vasp/5.4.4_optics


Słowniczek

(w języku angielskim)

  1. x86_64 - architektura procesorów
  2. Hyper Threading - sprzętowa implementacja wielo-wątkowości
  3. Cray XC Network - sieć o topologii Dragonfly
  4. little-endian - kolejnośc zapisu bitów
  5. Non-uniform memory access - sposób dostępu procesorów do pamięci głównej
  6. Intel Sandy Bridge - mikroarchitektura procesorów Intel
  7. Intel Haswell - mikroarchitektura procesorów Intel
  8. Lustre - rozproszony system plików