AdminVietnam Logo
Hệ thống

Siêu máy tính – Xử lý song song với MPICH2 trên Ubuntu

Đào Xuân HưngĐào Xuân Hưng
8 phút đọc
Siêu máy tính – Xử lý song song với MPICH2 trên Ubuntu

MPICH là phần mềm hỗ trợ xử lý song song được sử dụng rộng rãi nhất thế giới. Được sử dụng trên 9 trong tổng số 10 siêu máy tính mạnh nhất (xếp hạng tháng 6 năm 2015). Trong đó có siêu máy tính mạnh nhất thế giới: Thiên Hà 2.

Bài viết này sẽ hướng dẫn các bạn cài đặt MPICH theo cách dễ nhất.

Sơ đồ mạng

Sơ đồ hệ thống xử lý song song
Sơ đồ hệ thống xử lý song song

Hệ thống của chúng ta có bốn máy Ubuntu Server. Master server đảm nhiệm vai trò phân phối xử lý trên các nút.
Trước tiên, ta tạo một user để chạy MPI program, ta gọi user này là “mpi”

root@Master:~$ adduser mpi

Tạo user tương tự trên các nút.
Cài đặt SSH Server trên các máy

root@Master:~$ apt-get install openssh-server
root@Node1:~$ apt-get install openssh-server

Sau đó, cài đặt Network File System để chia sẻ thư mục /home/mpi trên máy master đến tất cả các nút (nhớ định nghĩa các hostname trong /etc/hosts) OK, bây giờ chúng ta tạo SSH key cho user mpi trên Master server, key này sẽ được share đến tất cả các nút thông qua NFS và ta chỉ dùng key này đế ssh đến tất cả các nút.

root@Master:~$ su mpi
mpi@Master:~$ ssh-keygen -t rsa

Enter Enter Enter ,. bla bla bla
Đừng tạo passphrase nếu bạn không muốn phải nhập nó mỗi khi chạy MPICH2

mpi@Master:~$ cd .ssh
mpi@Master:~/.ssh$ cat id_rsa.pub >> authorized_keys

Ta ssh vào từng node.

mpi@Master:~/.ssh$ ssh Node1
mpi@Master:~/.ssh$ ssh Node2
mpi@Master:~/.ssh$ ssh Node3

thoát ra, thế thôi.

Sau đó, cài MPICH2 và GCC để biên dịch MPI programs

root@Master:~$ apt-get install mpich2 build-essential -y

Bây giờ, MPICH2 đã sẵn sàng.

Nhưng ta còn phải định nghĩa các nút sẽ tham gia quá trình xử lý.
Tạo một file với tên tùy ý.

su mpi
mpi@Master:~$ nano nodes

và thêm những dòng này vào:

Node1
Node2:2
Node3

(*)Con số phía sau mỗi hostname là số lượng các tiến trình ta muốn chạy trên host đó. Thường thì nó bằng với số nhân của mỗi nút.

Cuối cùng là test một chương trình thử nghiệm.

mpi@Master:~$ nano test.c
#include <stdio.h>
#include <mpi.h>

int main(int argc, char** argv) {
    int myrank, nprocs;

    MPI_Init(&argc, &argv);
    MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
    MPI_Comm_rank(MPI_COMM_WORLD, &myrank);

    printf("Hello from processor %d of %d\n", myrank, nprocs);

    MPI_Finalize();
    return 0;
}

Lưu và biên dịch

mpi@Master:~$ mpicc test.c -o test

và chạy thử (tham số -n quy định số lượng processes sẽ được chạy).

mpi@Master:~$ mpiexec -n 8 -f nodes ./test

Kết quả tương tự như:

Hello from processor 0 of 8
Hello from processor 1 of 8
Hello from processor 2 of 8
Hello from processor 3 of 8
Hello from processor 4 of 8
Hello from processor 5 of 8
Hello from processor 6 of 8
Hello from processor 7 of 8

Đào Xuân Hưng – AdminVietnam.org

Thẻ bài viết:

#linux#mpich2#parallel processing#siêu máy tính#super computer#ubuntu#xử lý song song
Đào Xuân Hưng

Đào Xuân Hưng

Tác giả tại AdminVietnam. Chia sẻ các bài viết kỹ thuật hữu ích về quản trị hệ thống, tối ưu hóa hạ tầng IT và an toàn thông tin.

Bài viết liên quan

Các lệnh thường dùng trên Kali Linux
Bảo mật

Các lệnh thường dùng trên Kali Linux

Đây là hướng dẫn cho người mới bắt đầu sử dụng giao diện Kali.&nbsp;Bài viết của tôi sẽ hướng dẫn một số lệnh đơn giản thường được sử dụng. Lưu ý: Chúng&hellip;

Tony NhanTony Nhan
5 phút đọc
Cấu hình ip tĩnh trên Parrot
Bảo mật

Cấu hình ip tĩnh trên Parrot

Giới thiệu sơ lượt về Parrot Parrot OS được phát hành lần đầu vào năm 2013. Nó đã phát triển liên tục và nhanh chóng. Parrot OS hiện cung cấp nhiều tính&hellip;

Tony NhanTony Nhan
5 phút đọc
CẤU HÌNH XAMPP TRÊN CentOS7
CentOS

CẤU HÌNH XAMPP TRÊN CentOS7

Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin. Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho&hellip;

Tran Van ThaoTran Van Thao
5 phút đọc
Siêu máy tính – Xử lý song song với MPICH2 trên Ubuntu | AdminVietnam