Cỏc phần mềm sử dụng trong hệ thống song song phõn cụ m

Một phần của tài liệu Luận văn: Đánh giá hiệu năng hệ thống song song phân cụm potx (Trang 29 - 74)

Giỏ thành rẻ là lợi thế của hệ thống tớnh toỏn song song phõn cụm thỡ việc triển khai phần mềm trờn hệ thống này lại phức tạp. Nhưng phần mềm cho hệ

thống tớnh toỏn song song phõn cụm lại rất đa dạng và sẵn dựng, thậm chớ cú cả những giải phỏp hoàn chỉnh. Cỏc hệ thống phõn cụm thường được triển khai trờn cỏc hệđiều hành dũng Unix như Linux, Unix, Solaris.Với sự ra đời của Linux và xu hướng lập trỡnh mó nguồn mở, hiện nay cú rất nhiều cụng cụ, thư viện mó nguồn mở và cỏc thành phần phần mềm khỏc hỗ trợ việc triển khai hệ thống song song phõn cụm với khả năng tuỳ biến cao.

Cỏc thành phần phần mềm dựng trong hệ thống tớnh toỏn song song phõn cụm cú thể chia thành 3 nhúm chớnh sau : Thư viện và mụi trường lập trỡnh, cỏc phần mềm quản lý tài nguyờn và phõn tải, cỏc thư viện truyền thụng điệp. a)Thư viện và mụi trường lập trỡnh

Lập trỡnh song song trong cỏc hệ thống tớnh toỏn song song phõn cụm là phức tạp hơn cỏc hệ thống mỏy tớnh khỏc. Hệ thống song song phõn cụm là mụ hỡnh

đa mỏy tớnh nờn cỏc chương trỡnh song song trờn cỏc hệ thống đa mỏy tớnh cú thể tương thớch với hệ thống phõn cụm, nhưng trong một số trường hợp hiệu năng thực hiện của chương trỡnh khụng được tối ưu do hệ thống song song phõn cụm cú một sốđặc điểm riờng biệt.

Hệ thống tớnh toỏn song song phõn cụm là hệ thống mỏy tớnh cú bộ nhớ phõn tỏn, do vậy truyền thụng giữa cỏc nỳt trong quỏ trỡnh tớnh toỏn thường là truyền thụng điệp. Cỏc thư viện truyền thụng điệp dành cho hệ thống phõn cụm hiện nay cú thể kể đến là MPI, PVM, Active Message và CMMD (Connected Machine Message...), trong đú MPI với nhiều ưu điểm cú thể coi là sự lựa chọn tốt cho cỏc hệ thống tớnh toỏn song song phõn cụm. Hiện nay, cú nhiều phiờn bản cài đặt cho MPI với cỏc chức năng chuẩn của MPI 1.2 và một số chức năng mở rộng riờng. LAM MPI là bản cài đặt đó hỗ trợ đầy đủ

chuẩn MPI 2.0.

Tuy nhiờn, bờn cạnh sự phỏt triển mạnh mẽ của mụ hỡnh truyền thụng điệp, mụ hỡnh dữ liệu song song cũng đang được nghiờn cứu, triển khai và ỏp dụng trong hệ thống tớnh toỏn song song phõn cụm. Do đặc thự của mụ hỡnh dữ liệu song song là cần cú một trỡnh biờn dịch chuyờn dụng, để tạo ra cỏc chương trỡnh song song cú dữ liệu phõn tỏn, nờn việc phỏt triển cỏc trỡnh biờn dịch song song là yếu tố cơ bản của mụ hỡnh này. Cỏc trỡnh biờn dịch này dựa trờn một số ngụn ngữ lập trỡnh thụng dụng như C/C++, Fortran, Java. Sự kết hợp của trỡnh biờn dịch song song và ngụn ngữ lập trỡnh tạo lờn một ngụn ngữ lập

trỡnh song song cho cỏc hệ thống tớnh toỏn phõn cụm. Cỏc ngụn ngữ lập trỡnh song song tiờu biểu hiện nay là: HPF (Hight Performance Fortran), Titanium (kế thừa từ Java), Para++, ABC+, Split-C, BSP…

Một trong những thành phần quan trọng của cỏc chương trỡnh tớnh toỏn song song phõn cụm núi riờng và cỏc hệ thống tớnh toỏn song song núi chung là cỏc giải thuật song song. Hiện nay, cỏc thư viện giải thuật song song rất sẵn dựng và hầu hết là mó nguồn mở. Cỏc thư viện này chưa phải là cỏc giải phỏp song song hoàn chỉnh nhưng nú là nền tảng cho việc phỏt triển cỏc chương trỡnh tớnh toỏn song song với cỏc đặc thự riờng. Cú thể núi sự phỏt triển của cỏc thư

viện này rất mạnh mẽ cả về số lượng lẫn chất lượng. Chỳng là kết quả của cỏc

đề tài nghiện cứu trong cỏc trường đại học, cỏc viện ngiờn cứu trờn toàn thế

giới. Cỏc thư viện cú thể kể đến là: LAPACK, BLAS, ARPACK, ScaLAPACK, PETS

b) Cỏc phần mềm quản lý tài nguyờn và phõn tải

Trong khi cỏc thư viện và cỏc ngụn ngữ lập trỡnh song song tạo ra cho người lập trỡnh mụi trường lập trỡnh trờn hệ thống tớnh toỏn song song phõn cụm, cỏc phần mềm quản lý tài nguyờn và phõn tải lại tạo ra một mụi trường tớnh toỏn hiệu quả và ổn định. Cỏc phần mềm này càng cú ý nghĩa khi số lượng cỏc nỳt tớnh toỏn càng lớn và số lượng cỏc chương trỡnh thực hiện trờn hệ thống là nhiều. Phõn tải là việc phõn bổ cỏc tiến trỡnh tớnh toỏn trờn tài nguyờn hệ

thống sao cho hiệu năng hoạt động của hệ thống là tối ưu. Do đú trong chớnh cỏc phần mềm phõn tải phải sử dụng cỏc phần mềm quản lý tài nguyờn và lập lịch. Phần mềm quản lý tài nguyờn cũn được sử dụng bởi người sử dụng trong việc quản trị hệ thống, đỏnh giỏ hiệu năng hệ thống. Một số sản phẩm phõn tải và quản lý tài nguyờn thường được sử dụng trong cỏc hệ thống tớnh toỏn song song phõn cụm là:

- PBS (Portable Batch System) : hệ thống phõn tải và quản lý tài nguyờn rất mạnh do NASA phỏt triển. Hệ thống này được sử dụng rất phổ biến trong cỏc hệ thống tớnh toỏn hiệu năng cao. Chức năng chớnh của hệ thống là tiếp nhận cỏc cụng việc từ người sử dụng, bảo vệ cụng việc đú cho đến khi nú được thực hiện, thực hiện cụng việc và trả lại kết quả cho người sử dụng. PBS cú thểđược cấu hỡnh chạy trờn một hệ thống đơn hoặc một hệ thống đa mỏy tớnh. Sự linh động này làm cho PBS cú khả năng đỏp ứng cho nhiều hệ thống tớnh toỏn.

- CODINE : phần mềm phõn tải dựng cho cỏc hệ thống mỏy tớnh mỏy tớnh

đồng bộ như SMP hoặc cỏc siờu mỏy tớnh dạng vector. Phần mềm này cũn cung cấp cỏc cơ chế để quản lý cỏc chớnh sỏch của hệ thống phõn cụm và cõn bằng tải động cho cỏc cụng việc.

- CONDOR : thường dựng để phõn tải tài nguyờn và lập lịch cho cỏc cụng việc trờn hệ thống mỏy trạm (workstations). Nú hỗ trợ sử dụng cỏc điểm kiểm tra (checkpoint) và chuyển giao cỏc cụng việc giữa cỏc mỏy trạm.

c) Cỏc thư viện truyền thụng điệp

Truyền thụng điệp (message passing) là cơ chế giao tiếp phổ biến trong tớnh toỏn song song. Cỏc chương trỡnh theo mụ hỡnh truyền thụng điệp sẽ cú một trong hai dạng đơn lệnh – đa dữ liệu (SIMD) và đa lệnh – đa dữ liệu (MIMD). Truyền thụng điệp được sử dụng nhiều vỡ nú là cơ chế song song đơn giản, sử

dụng cỏc trỡnh biờn dịch hiện cú như C/C++, Fotran, Java… khụng cần sự hỗ

trợ của một trỡnh biờn dịch đặc biệt nào. Hơn nữa, cỏc thư viện truyền thụng

điệp rất linh hoạt và sẵn dựng, người lập trỡnh cú thể tự điều khiển việc song song của chương trỡnh, tối ưu nú để tăng hiệu năng thực hiện. Cỏc thư viện truyền thụng điệp phổ biến hiện nay cú thể kể đến là MPI (Message Passing Interface), PVM (Parallel Virtual Machine) và Active Message. Mỗi thư viện

điệp ổn định, hiệu quả, linh hoạt và thớch hợp cho cỏc chương trỡnh theo mụ hỡnh truyền thụng điệp.

MPI là một chuẩn được phỏt triển bởi MPIF (Message Passing Interface Forum). Nú định ra một giao diện lập trỡnh thớch hợp cho việc viết cỏc chương trỡnh theo mụ hỡnh truyền thụng điệp với mục tiờu linh hoạt và hiệu quả. MPIF, với sự tham gia của hơn 40 tổ chức, bắt đầu đưa ra chuẩn này từ năm 1992 với phiờn bản 1.0. Hiện nay tồn tại hai thư viện truyền thụng điệp theo chuẩn MPI phổ biến là LAM và MPICH.

2.5 Kiến trỳc hệ thống tớnh toỏn song song phõn cụm BKCLUSTER.

BKCluster là hệ thống tớnh toỏn song song phõn cụm được xõy dựng tại Trung Tõm Tớnh Toỏn Hiệu Năng Cao trường Đại Học Bỏch Khoa Hà Nội. Hệ thống cú mục đớch chớnh làm dịch vụ tớnh toỏn để thực hiện cỏc bài toỏn kỹ thuật cú yờu cầu tớnh toỏn lớn.

2.5.1 Kiến trỳc phần cứng của hệ BKCLUSTER

- Hệ thống BKLUSTER được xõy dựng theo mụ hỡnh song song phõn cụm với 1 mỏy tớnh đúng vai trũ mỏy chủ, 32 mỏy tớnh đúng vai trũ mỏy trạm, cỏc mỏy tớnh được nối với nhau theo kiểu Ethernet – thụng qua switch. (adsbygoogle = window.adsbygoogle || []).push({});

Cấu hỡnh phần cứng của cỏc mỏy trong hệ thống :

Mỏy chủ :

• HP NetServer LH6000

• 6 x CPU Intel Pentium III Xeon 700 MHz

• Bộ nhớ trong : 1GB SDRAM

• NetWork Card : 10/100 TX NIC

Mỏy trạm :

• CPU Intel Pentium III 500 MHz

• Bộ nhớ trong : 256 MB SDRAM

Switch : BayStack 450-24T 10/100/1000 Switch

-Trung tõm mỏy tớnh trường Đại học Bỏch Khoa Hà Nội nơi thực tập tin đại cương cho cả trường, thực tập nõng cao và đào tạo cỏc lớp ngắn hạn.

Hàng năm được bổ sung một số thiết bị mới nhằm đỏp ứng nhu cầu thực hành của sinh viờn.

Được sự giỳp đỡ của trung tõm hiệu năng cao, trung tõm đó xõy dựng phũng thực tập nõng cao sử dụng cụng nghệ song song phõn cụm cluster.

Cấu hỡnh phần cứng của hệ thống:

Mỏy chủ:

Server IBM xSeries 260

2x CPU Intel Xeon 3.16 MHz 2 GB RAM DDR2

3 x 36 GB HDD- 15K RPM HostSwap Drive Support RAID 0,1,5

Network Controller Integrated: 10/100/1000 Gigabit

Mỏy trạm:

IBM Lenovo ThinkCentre E50

CPU P4 3.0 GHz With Hyper Theading Technology 512 MB RAM DDR

80GB HDD 7200RPM SATA. Ethernet 10/100 Mbps Mỏy trạm

FPT CPU PIII 800MHz

Hỡnh 2.8 Kiờn trỳc phần cứng của hệ thống BKCLUSTER 2.5.2 Kiến trỳc phần mềm cài đặt trong hệ BKCluser

Cỏc mỏy chủ và mỏy trạm trong hệ thống BKSupComp đều cài đặt hệ điều hành RedHat Linux 7.3. Giao diện phỏt triển ứng dụng Thư viện truyền thụng điệp Hệ thống quản lý phõn tải HĐH LINUX Cỏc nỳt tớnh toỏn Bảng 2.1 Kiến trỳc phần mềm hệ thống

a) Thư viện và mụi trường lập trỡnh :

Trỡnh biờn dịch C : gcc, cc Trỡnh biờn dịch C++ : g++ Trỡnh biờn dịch Fortran : g77

Thư viện tớnh toỏn : Linpack, Scalapack

b) Phần mềm quản lý tài nguyờn và phõn tải (adsbygoogle = window.adsbygoogle || []).push({});

OpenPBS là hệ thống phõn tải của NASA phỏt triển. Phiờn bản OpenPBS là phiờn bản mó nguồn mở. PBS ra đời sau cỏc hệ thống phõn tải khỏc như DQS, Condor nờn khắc phục được một số nhược điểm của hệ thống trờn, hơn nữa PBS được thiết kế theo hướng mở cú khả năng thay đổi và tối ưu cho phự hợp với hệ thống.

c)Thư viện truyền thụng điệp

Hệ thống BKCluster là hệ thống tớnh toỏn song song phõn cụm theo mụ hỡnh truyền thụng điệp.

Hệ thống sử dụng thư viện MPICH phiờn bản 1.2.4. Khỏc với đa số cỏc thư

viện truyền thụng điệp đó được biờn dịch thành dạng cỏc gúi RPM để cú thể

dễ dàng cài đặt, MPICH là thư viện duy nhất được cung cấp dưới dạng mó nguồn mở. Do đặc tớnh mó nguồn mở, khi cài đặt MPICH yờu cầu cỏc bước cấu hỡnh và thiết lập tham số tương đối phức tạp, tuy nhiờn người sử dụng cú thể sửa đổi mó lệnh của MPICH để cú thể xõy dựng riờng một thư viện truyền thụng điệp cú thờm những đặc tớnh phự hợp với hệ thống của mỡnh. Trờn thế

giới đó cú một số dự ỏn nghiờn cứu xõy dựng mụi trường truyền thụng điệp cú khả năng chịu lỗi (Fault Tolerant Message Passing Interface – FTMPI) dựa trờn nền thư viện MPICH mà tiờu biểu là MPICH-V1 và MPICH-V2. Một yờu cầu đặt ra với hệ BKCluster là phải cú khả năng chống lỗi cho nờn đó sử dụng thư viện MPICH thay cho thư viện LAM -MPI là thư viện cú sẵn khi cài đặt hệđiều hành Linux 7.3.

Hỡnh 2.9 Hai phần mềm PBS và MPICH trong hệ thống BKCluster 2.6 Quy trỡnh đỏnh giỏ hiệu năng của hệ thống BKCluster

Một số phần mềm đo hiệu năng thụng dụng sử dụng mó nguồn mở để đỏnh giỏ hiệu năng của hệ BKCluster. Cỏc phần mềm này sẽ được biờn dịch và chạy trờn toàn bộ hệ thống, đểđưa ra những thụng số về tốc độ tớnh toỏn, tốc

độ truy cập bộ nhớ trong, tốc độ truyền thụng, và tốc độ gửi thụng điệp của thư viện MPICH. Từ những thụng số trờn, ta cú thể đỏnh giỏ một cỏch tổng quỏt về hệ thống tớnh toỏn song song phõn cụm BKCluster. Việc triển khai cài

Mục đớch Tờn phần mềm đỏnh giỏ hiệu năng

Đỏnh giỏ hiệu năng tớnh toỏn của CPU

đơn trờn cỏc mỏy trạm

Linpack

Đỏnh giỏ hiệu năng tớnh toỏn của toàn bộ hệ thống

Nasa Parallel Benchmark

Đỏnh giỏ hiệu năng truy cập bộ nhớ

trong trờn cỏc mỏy trạm

Stream

Đỏnh giỏ hiệu năng truyền thụng mạng NetPerf

Đỏnh giỏ hiệu năng của thư viện MPICH

NetPIPE

Hỡnh 2.10 Quy trỡnh đo hiệu năng hệ BKCluster 2.6.1 Đo hiệu năng tớnh toỏn (năng lực của CPU)

Do mục đớch chớnh của hệ thống là thực hiện việc tớnh toỏn kỹ thuật nờn cần phải xỏc định cỏc sốđo phản ỏnh tốc độ thực hiện cỏc phộp toỏn. Quỏ trỡnh đo sẽđược thực hiện trờn hai mặt sau của hệ thống :

a) Đo hiệu năng tớnh toỏn của từng mỏy trạm : quỏ trỡnh này sẽ đưa ra tốc

độ tớnh toỏn của một mỏy trạm riờng lẻ. Bài toỏn được thực hiện một cỏch tuần tự, núi một cỏch khỏc là ta tỏch rời khỏi hệ thống để xỏc định năng lực tớnh toỏn độc lập của mỏy trạm .

Phần mềm đo hiệu năng được sử dụng là Linpack, phiờn bản viết bằng ngụn ngữ Fortran. Phần mềm này sẽ gọi hai hàm của thư viện Lapack là một trong những thư viện phộp toỏn kỹ thuật cú sử dụng trong hệ thống BKCluster. Chương trỡnh Linpack sẽđược biờn dịch bằng trỡnh biờn dịch g77 và chạy trờn cỏc mỏy trạm, kết quả thu được dưới dạng MFLOPS.

b) Đo hiệu năng tớnh toỏn của toàn bộ hệ thống : quỏ trỡnh này sẽ đưa ra tốc độ tớnh toỏn của toàn bộ hệ thống đối với một số bài toỏn song song như

một mỏy tớnh duy nhất. Quỏ trỡnh đo hiệu năng được tiến hành bằng cỏch chạy một số chương trỡnh song song và đo tốc độ tớnh toỏn trờn cỏc mỏy của hệ thống với sự thay đổi về số lượng mỏy trạm và độ lớn của bài toỏn.

Gúi phần mềm đo hiệu năng được sử dụng là NPB (Nasa Parallel Benchmark) của NASA. Gúi phần mềm này gồm 5 chương trỡnh hạt nhõn EP, CG, MG, FT, IS và 3 chương trỡnh mụ phỏng ứng dụng LU, BT, SP. Mỗi chương trỡnh trong gúi phần mềm cú một đặc thự riờng : (adsbygoogle = window.adsbygoogle || []).push({});

EP - Embrassingly Parralel : hạt nhõn này được dựng để đo khả năng tớnh toỏn độc lập của cỏc vi xử lý trong một hệ thống mỏy tớnh song song. Chương trỡnh này hạn chế việc sử dụng cỏc thao tỏc trao đổi dữ liệu giữa cỏc vi xử lý, do đú kết quả thu được cú thể xem là hiệu năng cực đại về khả năng tớnh toỏn mà mọi chương trỡnh ứng dụng cú thểđạt được.

MG – MultiGrid : đõy là hạt nhõn đo hiệu năng của hệ thống về mặt truyền thụng với dữ liệu truyền thụng cú tớnh cấu trỳc.

CG - Conjugate Gradient : thực hiện cỏc phộp toỏn trờn ma trận thưa. Cỏc giỏ trị của ma trận thưa được sinh ngẫu nhiờn. Kết quả đo của hạt nhõn này phản ỏnh hiệu năng về mặt truyền thụng của bài toỏn khi dữ liệu là phi cấu trỳc.

FT - 3 D Fast Fourier Transformation : sử dụng phộp biến đổi Fourier nhanh sang miền tần số trong khụng gian 3 chiều trờn tập cỏc giỏ trị cho trước. Kết quả của hạt nhõn này phản ỏnh hiệu năng về mặt truyền thụng của hệ thống.

IS - Integer Sort : hạt nhõn này sinh ra tập cỏc giỏ trị nguyờn, phõn bố đều, sau đú là thực hiện sắp xếp. Sự phõn bố ban đầu của cỏc số nguyờn là ảnh hưởng đến hiệu năng của hệ thống.

Ba chương trỡnh mụ phỏng LU, BT, SP được xõy dựng nhằm biểu diễn chức năng của chương trỡnh tớnh toỏn hoạt động của chất lỏng CFD –

Một phần của tài liệu Luận văn: Đánh giá hiệu năng hệ thống song song phân cụm potx (Trang 29 - 74)