GNU/Linux >> Znalost Linux >  >> Linux

Vysoce výkonný výpočetní cluster v cloudovém prostředí

High Performance Computing (HPC) umožňuje vědcům a výzkumníkům řešit složité problémy, které vyžadují mnoho výpočetních schopností. HPC typicky používá rozhraní pro předávání zpráv (MPI) ke komunikaci mezi různými uzly.

HPC v cloudu

V současné době většina projektů vyžadujících HPC stále běží na starších systémech UNIX®. Migrace těchto projektů do cloudové instalace je velmi jednoduchá a nevyžaduje mnoho dalšího nastavení. Tento výukový program vytváří HPC cluster s Open MPI na Rackspace Cloud a spouští Open MPIapplication na vrcholu clusteru. Na konci tohoto tutoriálu byste měli vědět, jak využít cloud k rychlému vybudování a škálování HPC clusteru pro zpracování dat v reálném čase a zároveň odstranit závislost na fyzické infrastruktuře.

Otevřít MPI

K dosažení vysokého výkonu clusteringu v cloudu můžete použít OpenMPI, což je projekt Message Passing Interface (MPI). Poskytuje paralelní zpracování, bezpečnost a souběžnost vláken, dynamické vytváření procesů a odolnost vůči síti a chybám. Tuto knihovnu používají nejrychlejší superpočítače na světě a knihovna pohání mnoho petaflopů. Chcete-li se dozvědět více o knihovně Open MPI, navštivte jejich stránky.

Cíl

Tento tutoriál vám ukáže, jak vytvořit HPC cluster pomocí následujících nástrojů:

  • Čtyři cloudové servery Rackspace
  • Otevřít MPI

Výukový program nastaví čtyřuzlový cluster, spustí na něm aplikaci a změří výkon, jak ukazuje následující obrázek:

Obrázek 1 – HPC v cloudové architektuře vysoké úrovně

Předpoklady

K úspěšnému dokončení tohoto kurzu potřebujete následující tři položky:

  • Účet Rackspace Cloud.
  • Klient Secure Shell (SSH). Uživatelé Windows® mohou používat PuTTY.
  • Základní znalost Linuxu® a Open MPI.

Výukový program

Výukový program pokrývá následující úkoly:

  1. Vytvořte cloudový server.
  2. Nainstalujte Open MPI.
  3. Povolte shlukování.
  4. Nakonfigurujte HPC.
  5. Vytvořte a nasaďte image cloudového serveru.
  6. Nainstalujte a spusťte ukázkovou aplikaci Open MPI.

Vytvořte cloudový server

Přihlaste se do Cloud Control Panel a vytvořte aCloud Server z webového rozhraní s následujícími atributy:

  • Název serveru:vaše jméno-HPC-uzel-01
  • Oblast:Dallas (DFW)
  • Obrázek (Rackspace):Ubuntu 12.04 LTS (Precise Pangolin)
  • Velikost:2 GB RAM nebo vyšší

Klikněte na Vytvořit server a začíná proces vytváření cloudového serveru. Během vytváření se ve vyskakovacím okně zobrazuje vaše heslo cloudového serveru. Poznamenejte si heslo pro budoucí použití. Zavřete vyskakovací okno a počkejte na dokončení sestavení serveru. Jakmile bude IP adresa nového serveru k dispozici, zaznamenejte si ji.

Instalovat Open MPI

Poté, co server dokončí sestavování a bude v Dostupný stav, SSH na server a přihlaste se pomocí IP adresy a hesla, které jste si zaznamenali dříve.

ssh root@<Your Server IP>

Po přihlášení spusťte následující příkazy pro instalaci Open MPI:

apt-get update
apt-get install build-essential -y
apt-get install openmpi-bin openmpi-checkpoint openmpi-common openmpi-doc libopenmpi-dev -y

Povolit shlukování

Open MPI usnadňuje komunikaci mezi uzly pomocí SSH, takže pro SSH musíte povolit přihlašování na základě klíče.

Chcete-li to provést, spusťte následující příkazy:

chmod 700 ~/.ssh
echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -C "Open MPI"

Výstup těchto příkazů by měl vypadat podobně jako v následujícím příkladu:

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
35:85:97:3c:98:89:8d:bc:58:96:97:41:ad:0b:a6:c8 Enter an optional comment about your key
The key's randomart image is:
+--[ RSA 2048]----+
|       . *oX..   |
|        B O.*    |
|       + ooo .   |
|      . +...     |
|   . . oS. .     |
|    E .   .      |
|                 |
|                 |
|                 |
+-----------------+

Poznámka: Během tohoto procesu budete vyzváni k zadání přístupové fráze. Nechte jej prázdné.

Spuštěním následujících příkazů zkopírujte klíč do složky autorizovaných klíčů a změňte oprávnění tak, aby umožňovala přihlášení SSH:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Konfigurace HPC

Nyní nakonfigurujte primární uzel HPC vytvořením souboru hostitele. Chcete-li to provést, ujistěte se, že jste přihlášeni k prvnímu uzlu přes SSH a vytvořte následující soubor, kde <Your Server IP> je IP adresa, kterou jste použili pro SSH do počítače:

cd ~/
echo <Your Server IP> >> mpi_hosts

Chcete-li ověřit soubor, spusťte následující příkaz:

cat mpi_hosts

Měli byste vidět následující výsledek:

<Your Server IP>

Pro ověření konfigurace použijte hello_c.c z příkladů zahrnutých s Open MPI.

Chcete-li to provést, postupujte podle těchto příkazů:

mkdir /root/samples
cd /root/samples
wget https://svn.open-mpi.org/svn/ompi/tags/v1.6-series/v1.6.4/examples/hello_c.c
mpicc hello_c.c -o hello
mpirun ./hello

Výsledkem by měl být následující výsledek:

Hello, world, I am 0 of 1

Nyní, když to funguje, spusťte následující příkazy a otestujte připojení:

wget https://svn.open-mpi.org/svn/ompi/tags/v1.6-series/v1.6.4/examples/connectivity_c.c
mpicc connectivity_c.c -o connectivity
mpirun ./connectivity

Měli byste vidět následující výstup:

Connectivity test on 1 processes PASSED.

To potvrzuje, že první uzel je online a funkční.

Vytvoření a nasazení obrazu cloudového serveru

Po vytvoření prvního uzlu jste připraveni nastavit cluster. Chcete-li začít, vytvořte kopie uzlu, který jste právě vytvořili. Chcete-li vytvořit animaci, postupujte takto:

  1. Přihlaste se do Cloud Control Panel.
  2. V horní navigační liště klikněte na Vybrat produkt> Rackspace Cloud .
  3. Vyberte Servery> Cloudové servery .
  4. V seznamu serverů vyberte server, který jste vytvořili pro první uzel.
  5. Klikněte na Akce rozbalovací nabídka.
  6. Klikněte na tlačítko Vytvořit obrázek .
  7. Po zobrazení výzvy zadejte smysluplný název.
  8. Nakonec klikněte na Vytvořit obrázek a počkejte několik minut, než se obrázek vytvoří.

Po vytvoření bitové kopie nasaďte nový cloudový server pomocí předchozího postupu s následující výjimkou:po zobrazení výzvy k zadání bitové kopie klikněte na tlačítko Uloženo a vyberte svůj obrázek. Opět zadejte smysluplný název serveru a poznamenejte si heslo a IP adresu nového serveru.

Chcete-li přidat nový uzel do clusteru, spusťte následující příkazy (za předpokladu, že IP vašeho nového serveru je 10.20.30.40 a IP/název hostitele vašeho prvního serveru je <Your Server IP> ):

SSH to your first server
cd ~/
cat >> mpi_hosts <<EOF
10.20.30.40
EOF

Nyní by váš hostitelský soubor měl vypadat jako následující příklad:

<Your Server IP>
10.20.30.40

Chcete-li otestovat konektivitu mezi uzly, spusťte následující příkaz:

mpirun -v -np 2 --hostfile ~/mpi_hosts /root/samples/connectivity

Pokud se neobjeví žádné chyby, právě jste úspěšně vytvořili a otestovali svůj vlastní cloudový cluster. Chcete-li zvětšit velikost clusteru, přidejte další dva uzly pomocí stejného postupu.

Chcete-li otestovat připojení v rámci klastru se čtyřmi uzly, spusťte následující příkaz:

mpirun -v -np 4 --hostfile ~/mpi_hosts /root/samples/connectivity

Nainstalujte a spusťte ukázkovou aplikaci s podporou Open MPI

Nyní, když máte otevřený cluster MPI, zkontrolujte, jak funguje. K porovnání výkonu použijte aplikaci pro jednoduché sledování paprsků, která může běžet na jediném uzlu nebo na otevřeném clusteru MPI.

Nejprve nainstalujte aplikaci na všechny uzly clusteru. Chcete-li to provést, zadejte SSH do primárního uzlu a spusťte následující příkaz:

for i in `cat mpi_hosts`; do ssh root@$i "curl -l https://openstack.prov12n.com/files/tachyon.sh | bash"; done
cd ~/tachyon/compile/linux-mpi

Tachyon Parallel/Multiprocessor Ray Tracing System přichází s několika ukázkovými datovými soubory ve scénách složku, kterou můžete použít ke spuštění testů. Nejprve spusťte test na jednom uzlu pomocí následujícího příkazu:

cd ~/tachyon/compile/linux-mpi
./tachyon ../../scenes/teapot.dat

Měli byste vidět následující výstup:

Tachyon Parallel/Multiprocessor Ray Tracer   Version 0.99
Copyright 1994-2011,    John E. Stone <[email protected]>
------------------------------------------------------------
Scene Parsing Time:     0.0221 seconds
Scene contains 2330 objects.
Preprocessing Time:     0.0052 seconds
Rendering Progress:       100% complete
  Ray Tracing Time:     2.1399 seconds
    Image I/O Time:     0.0174 seconds

Spusťte následující příkaz a všimněte si doby sledování paprsku, abyste ji mohli porovnat s paralelním spuštěním:

mpirun -np 4 --hostfile ~/mpi_hosts ./tachyon ../../scenes/teapot.dat -format BMP

Měli byste vidět následující výstup:

Tachyon Parallel/Multiprocessor Ray Tracer   Version 0.99
Copyright 1994-2011,    John E. Stone <[email protected]>
------------------------------------------------------------
Scene Parsing Time:     0.0230 seconds
Scene contains 2330 objects.
Preprocessing Time:     0.0052 seconds
Rendering Progress:       100% complete
  Ray Tracing Time:     0.6048 seconds
    Image I/O Time:     0.0182 seconds

Váš cluster se skládá ze čtyř uzlů a jednoho CPU pro každý z nich. Zlepšení výkonu je tedy téměř čtyřikrát větší. Měli byste vidět významná zlepšení, i když nemáte více uzlů a místo toho spouštíte svou aplikaci pouze na jednom uzlu s OpenMPI pomocí obou CPU.

Je důležité, abyste svůj server vytvořili s alespoň 2 GB RAM, protože velikosti 2 GB a vyšší mají přístup alespoň ke 2 CPU. Další informace o velikostech naleznete v části Cloudové servery.

Chcete-li tento kód spustit na více procesorech jednoho serveru, spusťte následující příkaz:

mpirun -np 2 ./tachyon ../../scenes/teapot.dat -format BMP

Měli byste vidět následující výstup:

Tachyon Parallel/Multiprocessor Ray Tracer   Version 0.99
Copyright 1994-2011,    John E. Stone <[email protected]>
------------------------------------------------------------
Scene Parsing Time:     0.0222 seconds
Scene contains 2330 objects.
Preprocessing Time:     0.0050 seconds
Rendering Progress:       100% complete
  Ray Tracing Time:     1.0888 seconds
    Image I/O Time:     0.0181 seconds

Všimněte si, že i když běží na jediném uzlu, ale využívá Open MPI, výkon se téměř zdvojnásobil. Chcete-li si přečíst více o této aplikaci sledování paprsků, navštivte https://jedi.ks.uiuc.edu/~johns/raytracer/.

Přehled

V tomto tutoriálu jste se naučili vytvářet a zobrazovat cloudové servery. Také jste se naučili, jak nastavit HPC cluster pomocí Open MPI. Po nastavení a konfiguraci clusteru jste nainstalovali malou aplikaci pro sledování paprsků, abyste demonstrovali výhody použití více uzlů místo jednoho uzlu.


Linux
  1. Nevýhoda při použití Chrootu ve vysoce výkonných počítačích?

  2. Cloud9 – cloudové vývojářské prostředí pro webové projekty

  3. 10 nugetů ze statistik cloud computingu za rok 2015

  1. Propojení cloud computingu s vaší starší infrastrukturou

  2. Co dělá z cloud computingu tak výkonnou technologii?

  3. Řešení problémů zabezpečení cloud computingu pomocí Private Cloud

  1. HPL (High Performance Linpack):Srovnávání Raspberry PI

  2. Firmy využívající internet věcí prostřednictvím cloud computingu

  3. Private Cloud je RAD:Jak využít Private Cloud pro rychlý vývoj aplikací