GNU/Linux >> Belajar Linux >  >> Linux

Cluster Komputasi Kinerja Tinggi di lingkungan cloud

High Performance Computing (HPC) memungkinkan para ilmuwan dan peneliti untuk memecahkan masalah kompleks yang membutuhkan banyak kemampuan komputasi. HPC biasanya menggunakan message passing interface (MPI) untuk berkomunikasi antara node yang berbeda.

HPC di awan

Saat ini, sebagian besar proyek yang membutuhkan HPC masih berjalan di sistem UNIX® lawas. Migrasi proyek-proyek ini ke instalasi berbasis cloud sangat sederhana dan tidak memerlukan banyak pengaturan tambahan. Tutorial ini membangun cluster HPC dengan Open MPI di Rackspace Cloud dan menjalankan aplikasi Open MPI di atas cluster. Di akhir tutorial ini, Anda akan mengetahui cara memanfaatkan cloud untuk membangun dan menskalakan klaster HPC dengan cepat untuk pemrosesan data waktu nyata sambil menghilangkan ketergantungan pada infrastruktur fisik.

Buka MPI

Untuk mencapai pengelompokan kinerja tinggi di cloud, Anda dapat menggunakan OpenMPI, yang merupakan proyek Message Passing Interface (MPI). Ini menyediakan pemrosesan paralel, keamanan dan konkurensi utas, pemijahan proses dinamis, dan toleransi jaringan dan kesalahan. Komputer super tercepat di dunia menggunakan perpustakaan ini, dan perpustakaan ini mendukung banyak petaflops. Untuk mengetahui lebih lanjut tentang perpustakaan Open MPI, kunjungi situs mereka.

Tujuan

Tutorial ini menunjukkan cara membangun cluster HPC dengan menggunakan alat berikut:

  • Empat Server Cloud Rackspace
  • Buka MPI

Tutorial menyiapkan cluster empat node, menjalankan aplikasi di atasnya, dan mengukur kinerjanya, seperti yang ditunjukkan pada gambar berikut:

Gambar 1 - HPC di Arsitektur Tingkat Tinggi Cloud

Prasyarat

Anda memerlukan tiga item berikut untuk berhasil menyelesaikan tutorial ini:

  • Akun Rackspace Cloud.
  • Klien Secure Shell (SSH). Pengguna Windows® dapat menggunakan Putty.
  • Pengetahuan dasar tentang Linux® dan Open MPI.

Tutorial

Tutorial mencakup tugas-tugas berikut:

  1. Buat Server Cloud.
  2. Instal Open MPI.
  3. Aktifkan pengelompokan.
  4. Konfigurasikan HPC.
  5. Membuat dan menerapkan image Cloud Server.
  6. Instal dan jalankan contoh aplikasi berkemampuan Open MPI.

Buat Server Cloud

Masuk ke Cloud Control Panel dan buat aCloud Server dari antarmuka web dengan atribut berikut:

  • Nama server:namaanda-HPC-node-01
  • Wilayah:Dallas (DFW)
  • Gambar (Ruang Rak):Ubuntu 12.04 LTS (Trenggiling Presisi)
  • Ukuran:RAM 2 GB atau lebih tinggi

Klik Buat Server dan proses build Cloud Server dimulai. Saat dibangun, jendela sembulan menampilkan kata sandi Server Cloud Anda. Catat kata sandi untuk referensi di masa mendatang. Tutup jendela pop-up dan tunggu hingga server selesai dibangun. Setelah alamat IP server baru tersedia, rekamlah.

Instal Open MPI

Setelah server selesai dibangun dan dalam Tersedia status, SSH ke dalam server dan login dengan menggunakan alamat IP dan password yang telah Anda rekam sebelumnya.

ssh root@<Your Server IP>

Setelah login, jalankan perintah berikut untuk menginstal 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

Aktifkan pengelompokan

Open MPI memfasilitasi komunikasi antar node dengan menggunakan SSH, jadi Anda perlu mengaktifkan login berbasis kunci untuk SSH.

Untuk melakukannya, jalankan perintah berikut:

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

Output dari perintah ini akan terlihat seperti contoh berikut:

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 .   .      |
|                 |
|                 |
|                 |
+-----------------+

Catatan: Anda akan dimintai kata sandi selama proses ini. Biarkan kosong.

Jalankan perintah berikut untuk menyalin kunci ke folder kunci resmi dan mengubah izin untuk mengizinkan login SSH:

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

Konfigurasi HPC

Sekarang konfigurasikan node HPC utama dengan membuat file host. Untuk melakukan ini, pastikan Anda masuk ke node pertama melalui SSH dan buat file berikut, di mana <Your Server IP> adalah alamat IP yang Anda gunakan untuk SSH ke mesin:

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

Untuk memverifikasi file, jalankan perintah berikut:

cat mpi_hosts

Anda akan melihat hasil berikut:

<Your Server IP>

Untuk memverifikasi konfigurasi Anda, gunakan hello_c.c dari contoh yang disertakan dengan Open MPI.

Untuk melakukannya, ikuti perintah berikut:

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

Ini akan menampilkan hasil berikut:

Hello, world, I am 0 of 1

Setelah berhasil, jalankan perintah berikut untuk menguji konektivitas:

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

Anda akan melihat output berikut:

Connectivity test on 1 processes PASSED.

Ini menegaskan bahwa simpul pertama online dan beroperasi.

Membuat dan menerapkan citra Server Cloud

Dengan node pertama yang dibuat, Anda siap untuk menyiapkan sebuah cluster. Untuk memulai, buat salinan dari simpul yang baru saja Anda buat. Ikuti langkah-langkah ini untuk membuat gambar:

  1. Masuk ke Panel Kontrol Cloud.
  2. Di bilah navigasi atas, klik Pilih Produk> Rackspace Cloud .
  3. Pilih Server> Server Awan .
  4. Dalam daftar server, pilih server yang Anda buat untuk node pertama.
  5. Klik pada Tindakan menu tarik-turun.
  6. Klik Buat Gambar .
  7. Jika diminta, berikan nama yang bermakna.
  8. Terakhir, klik Buat Gambar dan tunggu beberapa menit hingga gambar dibuat.

Setelah gambar dibuat, terapkan Server Cloud baru dengan menggunakan prosedur sebelumnya dengan pengecualian berikut:ketika diminta untuk gambar, klik tombol Tersimpan tab dan pilih gambar Anda. Sekali lagi, berikan nama server yang berarti dan catat kata sandi dan alamat IP server baru.

Untuk menambahkan node baru ke cluster, jalankan perintah berikut (dengan asumsi bahwa IP server baru Anda adalah 10.20.30.40 dan IP/hostname server pertama Anda adalah <Your Server IP> ):

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

Sekarang, file host Anda akan terlihat seperti contoh berikut:

<Your Server IP>
10.20.30.40

Untuk menguji konektivitas antar node, jalankan perintah berikut:

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

Jika Anda tidak mendapatkan kesalahan, Anda baru saja berhasil membuat dan menguji cluster cloud Anda sendiri. Untuk menambah ukuran cluster, tambahkan dua node lagi dengan menggunakan prosedur yang sama.

Untuk menguji konektivitas dalam cluster empat node, jalankan perintah berikut:

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

Instal dan jalankan contoh aplikasi Open MPI-enabled

Sekarang setelah Anda memiliki cluster Open MPI, periksa kinerjanya. Gunakan aplikasi penelusuran sinar sederhana yang dapat berjalan pada satu node atau pada kluster Open MPI untuk membandingkan kinerjanya.

Pertama, instal aplikasi di semua node cluster. Untuk melakukan ini, SSH ke node utama dan jalankan perintah berikut:

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

Sistem Pelacakan Sinar Tachyon Paralel/Multiprosesor dilengkapi dengan beberapa file data sampel di adegan folder, yang dapat Anda gunakan untuk menjalankan tes Anda. Pertama, jalankan pengujian pada satu node dengan menggunakan perintah berikut:

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

Anda akan melihat output berikut:

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

Jalankan perintah berikut dan perhatikan waktu ray tracing sehingga Anda dapat membandingkannya dengan lari paralel Anda:

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

Anda akan melihat output berikut:

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

Cluster Anda terdiri dari empat node dan satu CPU untuk masing-masing node. Oleh karena itu, peningkatan kinerjanya hampir empat kali lipat. Anda akan melihat peningkatan yang signifikan bahkan jika Anda tidak memiliki banyak node dan sebagai gantinya menjalankan aplikasi Anda hanya pada satu node dengan OpenMPI menggunakan kedua CPU.

Anda harus membuat server dengan RAM minimal 2 GB karena ukuran 2 GB dan lebih tinggi memiliki akses ke minimal 2 CPU. Untuk informasi lebih lanjut tentang ukuran, lihat Server Cloud.

Jalankan perintah berikut untuk menjalankan kode ini pada beberapa CPU dari satu server:

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

Anda akan melihat output berikut:

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

Perhatikan bahwa bahkan ketika berjalan pada satu node tetapi menggunakan Open MPI, kinerjanya hampir dua kali lipat. Untuk membaca lebih lanjut tentang aplikasi ray tracing ini, kunjungi https://jedi.ks.uiuc.edu/~johns/raytracer/.

Ringkasan

Dalam tutorial ini, Anda belajar cara membuat dan mencitrakan Server Cloud. Anda juga mempelajari cara menyiapkan klaster HPC menggunakan Open MPI. Setelah menyiapkan dan mengonfigurasi cluster, Anda menginstal aplikasi ray tracing kecil untuk mendemonstrasikan manfaat menggunakan beberapa node, bukan satu node.


Linux
  1. Kekurangan Saat Menggunakan Chroot Dalam Komputasi Kinerja Tinggi?

  2. Cloud9- Lingkungan Dev Berbasis Cloud untuk Proyek Web

  3. 10 Nugget dari Statistik Cloud Computing 2015

  1. Menghubungkan Cloud Computing ke Infrastruktur Lama Anda

  2. Apa yang Membuat Cloud Computing menjadi Teknologi yang Kuat?

  3. Atasi Masalah Keamanan Cloud Computing dengan Private Cloud

  1. HPL (Linpack Kinerja Tinggi):Pembandingan Raspberry PI

  2. Private Cloud adalah RAD:Cara memanfaatkan Private Cloud untuk Pengembangan Aplikasi yang Cepat

  3. Tutorial Clustering Linux (Ketersediaan Tinggi)