Page tree
Skip to end of metadata
Go to start of metadata

 

Czas obliczeniowy to miara zużycia zasobów przez zadania użytkownika. Jest on obliczany jako iloczyn czasu trwania obliczeń, liczby wykorzystanych przez nie rdzeni oraz współczynnika normalizacji rdzeni.

Idea normalizacji

Normalizacja polega na uwzględnieniu wydajności używanych procesorów w rozliczaniu zadań. Jej celem jest sprawiedliwe rozliczenie użytkownika, który uruchamia zadania na maszynach o różnej wydajności.

W Infrastrukturze PLGrid normalizację zasobów obliczeniowych wdrożono w dniu 1.01.2014 - od tego dnia jednostką czasu obliczeniowego jest godzina znormalizowana. Dotyczy to zarówno czasu przyznanego w grancie testowym, jak i czasu przyznanego w grantach właściwych.

Przykład

Dwa zadania zlecone na węzły o różnej mocy, wykonane w takim samym czasie, będą miały przypisane różne wykorzystanie godzin. Zadanie wykonane na węźle szybszym zużyje więcej godzin znormalizowanych niż zadanie wykonane na węźle wolniejszym. Różnica będzie proporcjonalna do różnicy mocy węzłów.

Realizacja normalizacji w Infrastrukturze PLGrid

Współczynnik normalizacji

W celu wyliczenia, jaka ilość znormalizowanego czasu obliczeniowego została wykorzystana przez zadanie, mnoży się czas obliczeniowy zadania (więcej informacji w definicjach metryk obliczeniowych na stronie Metryki dotyczące zasobów) oraz tzw. współczynnik normalizacji charakterystyczny dla węzła, na którym wykonywało się zadanie.

znormalizowany czas obliczeniowy =  czas obliczeniowy * współczynnik normalizacji

Węzły obliczeniowe składają się z rdzeni obliczeniowych. W celu uzyskania współczynnika normalizacji dla węzła dzieli się moc pojedynczego rdzenia węzła przez średnią ważoną moc rdzenia w Infrastrukturze (wyrażoną w jednostce GFlops). Wynik jest liczbą, wyrażającą stosunek mocy każdego rdzenia w tym węźle do średniej mocy rdzenia w Infrastrukturze - im ta liczba większa, tym szybszy jest rdzeń i tym więcej czasu znormalizowanego pochłonie zadanie, wykonujące się na tym rdzeniu.

współczynnik normalizacji = moc rdzenia węzła / średnia ważona moc rdzenia w całej Infrastrukturze

Współczynniki normalizacji dla klastrów

CYFRONET-ZEUS
Procesor węzłaTagi klasy węzłów w systemie kolejkowymLiczba rdzeni w węźleWspółczynnik normalizacji
Intel(R) Xeon(R) CPU L5420 @ 2.50GHzintel L5420 mhz2500 core8 mem16gb harpertown_2500mhz81,01
Intel(R) Xeon(R) CPU X5670 @ 2.93GHzintel X5670 mhz2933 core12 mem72gb gpgpu infiniband gpgpu2 terachem westmere_2933mhz_tesla_2050121,31
Intel(R) Xeon(R) CPU L5640 @ 2.27GHzintel L5640 mhz2267 core12 mem16gb ib_ql ib_all westmere_2267mhz120,97
Intel(R) Xeon(R) CPU X5650 @ 2.67GHzintel X5650 mhz2667 core12 mem24gb ib_mlx ib_all infiniband westmere_2667mhz121,15
Intel(R) Xeon(R) CPU X5650 @ 2.67GHzintel X5650 mhz2667 core12 mem96gb ib_mlx ib_all infiniband bigmem westmere_2667mhz121,15
Intel(R) Xeon(R) CPU E5645 @ 2.40GHzmhz2400, mem24gb, core12, ib_mlx, ib_all, infiniband121,04
Intel(R) Xeon(R) CPU E5645 @ 2.40GHzmhz2400, mem192, core12, ib_mlx, ib_all, infiniband, bigmem121,04
Intel(R) Xeon(R) CPU E5645 @ 2.40GHzintel E5645 mhz2400 core12 mem96gb gpgpu infiniband gpgpu8 terachem westmere_2400mhz_tesla_2090121,04
AMD Opteron(TM) Processor 6276amd opteron6276 mhz2300 core64 mem256gb ib_mlx ib_all infiniband bigmem bulldozer_2300mhz640,84
CYFRONET-PROMETHEUS
Nazwa węzłaTagi klasy węzłów w systemie kolejkowymLiczba rdzeni w węźleWspółczynnik normalizacji
Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHzhaswell_2500mhz243,84
Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHzhaswell_2500mhz,tesla_k40d243,84
ICM
Nazwa węzłaTagi klasy węzłów w systemie kolejkowymLiczba rdzeni w węźleWspółczynnik normalizacji
Six-Core AMD Opteron(tm) Processor 2435istanbul_2600mhz, ib120,99
AMD Opteron(tm) Processor 6174magnycours_2200mhz480,88
Intel(R) Xeon(R) CPU X5660 @ 2.80GHzwestmere_2800mhz, ib121,21
AMD Opteron(tm) Processor 6134magnycours_2300mhz_fermi_480160,87
Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHzhaswell_2600mhz283,84
Intel Xeon CPU E5-2650L v2 @ 1.70GHzivybridge_1700mhz_tahiti_7970200,87
PCSS
Nazwa węzłaTagi klasy węzłów w systemie kolejkowymLiczba rdzeni w węźleWspółczynnik normalizacji
* AMD Opteron(tm) Processor 6164 HE 240,55
AMD Opteron(TM) Processor 6234intelagos_2400mhz240,85
* Intel(R) Xeon(R) CPU E5345 @ 2.33GHz 80,9
* Intel(R) Xeon(R) CPU E5410 @ 2.33GHz 80,96
* Intel(R) Xeon(R) CPU E5530 @ 2.40GHz 81,1
Intel Xeon E5-2697 v3 @ 2.60GHzhaswell_2600mhz280,85
Intel Xeon E5-2620 @ 2.00GHzsandy_bridge_2000mhz120,85
TASK
Nazwa węzłaTagi klasy węzłów w systemie kolejkowymLiczba rdzeni w węźleWspółczynnik normalizacji
Intel(R) Xeon(R) CPU L5640 @ 2.27GHzwestmere_2266mhz120,95
Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHzhaswell_2300mhz243,79
WCSS-BEM
Nazwa węzłaTagi klasy węzłów w systemie kolejkowymLiczba rdzeni w węźleWspółczynnik normalizacji
Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHzhaswell_2300mhz243,74
Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.60GHzhaswell_2600mhz283,74

* - klasy węzłów wycofane w marcu 2016 r.

Klasy maszyn

Użytkownik, zlecając zadanie obliczeniowe, może wskazać klasę maszyn, na której chciałby, żeby jego zadanie się uruchomiło. W tym celu, przy zlecaniu zadań za pomocą systemu kolejkowego PBS, należy skorzystać z parametru -l i podać charakterystykę żądanych zasobów. Charakterystyka zasobów Infrastruktury dostępna jest na stronie Opis zasobów. Aby zlecić zadanie na konkretną klasę maszyn, należy wyspecyfikować co najmniej minimalną ilość parametrów, które jednoznacznie określają klasę maszyn - te parametry można znaleźć w kolumnie strony Opis zasobów: "Oznaczenie w systemie kolejkowym".

Przykład zlecania zadania z parametrem -l

qsub -l nodes=1:ppn=8:mhz2500

Wyspecyfikowane powyżej parametry to: liczba węzłów (nodes), liczba rdzeni alokowanych dla zadania (ppn - nie może być większa niż ilość rdzeni na węzeł danej klasy), oznaczenie klasy węzłów charakteryzujące zasoby.

Powyższa specyfikacja oznacza, że zadanie uruchomi się na jednym węźle klastra Zeus, na 8 rdzeniach węzła, na klasie maszyn z procesorami Intel Xeon L5420 (co specyfikuje własność węzła: mhz2500).

W przypadku niepodania klasy maszyn zadanie uruchomi się na losowym węźle.

W przypadku, gdy węzeł, na którym uruchomi się zadanie, nie jest przypisany do żadnej klasy maszyn (np. jest nowy i jeszcze nie został sklasyfikowany), zadanie zostanie potraktowane jako wykonujące się na najwolniejszym węźle na klastrze (obliczony czas znormalizowany będzie korzystny dla użytkownika). Jeśli żadna maszyna na klastrze nie posiada współczynnika normalizującego, wówczas za współczynnik dla całego klastra przyjmuje się 1 (czas znormalizowany jest równy czasowi zegarowemu).

Prezentacja wyniku normalizacji (Accounting)

Od dnia 1 stycznia 2014 tabele wykorzystania zasobów, znajdujące się w systemie accountingowym PLGrid wyświetlają wykorzystanie zasobów w godzinach znormalizowanych.

Normalizacja obejmuje jedynie wykorzystanie zasobów po 1 stycznia 2014, co znaczy, że zadania, które rozpoczęły się wcześniej, nie podlegały normalizacji (dla nich współczynnik normalizacji wynosi 1).

Słownik

Węzeł obliczeniowy - maszyna dedykowana do wykonywania obliczeń. W Infrastrukturze PLGrid występują węzły dwu- lub więcej procesorowe. Wstawiając zadanie do kolejki (w systemie kolejkowym PBS za pomocą komendy qsub), można - za pomocą parametrów - wyspecyfikować węzeł, na jakim zadanie ma się policzyć.

Rdzeń obliczeniowy - część procesora, wchodzącego w skład węzła obliczeniowego. W Infrastrukturze PLGrid występują węzły co najmniej 8-rdzeniowe. Wstawiając zadanie do kolejki (w systemie kolejkowym PBS za pomocą komendy qsub), można wyspecyfikować ilość rdzeni, jaką może zająć zadanie. 

  • No labels