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:
- Buat Server Cloud.
- Instal Open MPI.
- Aktifkan pengelompokan.
- Konfigurasikan HPC.
- Membuat dan menerapkan image Cloud Server.
- 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:
- Masuk ke Panel Kontrol Cloud.
- Di bilah navigasi atas, klik Pilih Produk> Rackspace Cloud .
- Pilih Server> Server Awan .
- Dalam daftar server, pilih server yang Anda buat untuk node pertama.
- Klik pada Tindakan menu tarik-turun.
- Klik Buat Gambar .
- Jika diminta, berikan nama yang bermakna.
- 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 <john.stone@gmail.com>
------------------------------------------------------------
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 <john.stone@gmail.com>
------------------------------------------------------------
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 <john.stone@gmail.com>
------------------------------------------------------------
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.