Khóa luận Nghiên cứu hệ thống cụm máy tính xử lý song song Rocks và ứng dụng

ĐẠI HC QUC GIA HÀ NI  
TRƢỜNG ĐẠI HC CÔNG NGHỆ  
Bùi Ngọc Linh  
NGHIÊN CU HTHNG  
CM MÁY TÍNH XLÝ SONG SONG  
ROCKS  
NG DNG  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
HÀ NI - 2010  
ĐẠI HC QUC GIA HÀ NI  
TRƢỜNG ĐẠI HC CÔNG NGHỆ  
Bùi Ngọc Linh  
NGHIÊN CU HTHNG  
CM MÁY TÍNH XLÝ SONG SONG  
ROCKS  
NG DNG  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Cán bộ hƣớng dn: TS. Nguyn Trí Thành  
HÀ NI - 2010  
LI CẢM ƠN  
Trƣớc hết, tôi xin bày tlòng kính trng và biết ơn sâu sắc ti Tiến sNguyn Trí Thành,  
ngƣời đã trực tiếp ging dy và tận tình giúp đỡ tôi trong quá trình làm khóa lun.  
Tôi xin chân thành cảm ơn toàn thể các thầy cô giáo trƣờng Đại hc Công ngh- Đại hc  
Quc gia Hà Nội đã tận tình chbo, dy dtôi trong suốt 4 năm học va qua.  
Tôi xin chân thành cảm ơn thƣ viện Đại hc Quc gia Hà Nội, thƣ viện Hi sinh viên  
trƣờng Đại hc Công ngh- Đại hc Quc gia Hà Nội đã giúp đỡ tôi rt nhiu tài liu  
quý báu trong quá trình hc tp và nghiên cu.  
Cui cùng, tôi xin chân thành cảm ơn gia đình và bạn bè, những ngƣời đã luôn động viên,  
giúp đỡ tôi trong hc tập cũng nhƣ trong cuộc sng.  
i
 
TÓM TT NI DUNG  
Tài liu này gii thiệu sơ lƣợc vcông nghxlý song song nói chung và công  
nghxlý song song phân cụm nói riêng, sau đó tập trung nghiên cu mt hthng cm  
máy tính xlý song song tiêu biu: Rocks. Các ni dung chính đƣợc trình bày là: Các  
kiến trúc xlý song song SISD, SIMD, MISD, MIMD (theo phân loi ca Flynn), cùng  
các hthống tính toán đa nhân, các hệ thống đa xử lý đối xng, các hthng tính toán  
lƣới, tính toán cm và các hthng xlý song song cc lớn (Chƣơng 2); gii thiu tng  
quan vkiến trúc và thành phn ca hthống Rocks, hƣớng dẫn cài đt, nghiên cu kiến  
trúc hthng và cách qun trị (Chƣơng 3); hƣớng dn lập trình MPI căn bản, phƣơng  
pháp xây dng ng dụng MPI để đạt hiu qucao, tn dụng đƣợc tài nguyên hthng  
(Chƣơng 4);  
Chƣơng 5 của khóa lun trình bày chi tiết mt ng dng xlý song song tiêu biu,  
cùng cách thc thiết lp môi trƣờng và hƣớng dn biên dch.  
Phn cui ca tài liu có trình bày 4 phlục, xem nhƣ là các nội dung mrng cho  
nhng phn đã trình bày trong các chƣơng.  
ii  
 
MC LC  
LI CẢM ƠN ........................................................................................................................................i  
TÓM TT NI DUNG........................................................................................................................ii  
MC LC........................................................................................................................................... iii  
DANH MC BNG BIU ...............................................................................................................vii  
DANH MC HÌNH V................................................................................................................... viii  
CHƢƠNG 1. GIỚI THIU..................................................................................................................1  
CHƢƠNG 2. CÁC KIẾN TRÚC VÀ CÁC HTHNG XLÝ SONG SONG...........................4  
2. 1.  
2. 1. 1.  
2. 1. 2.  
Các kiến trúc xlý song song...........................................................................................4  
SISD............................................................................................................................6  
SIMD ..........................................................................................................................7  
MISD ..........................................................................................................................7  
MIMD .........................................................................................................................8  
2. 1. 3.  
2. 1. 4.  
2. 2.  
2. 2. 1.  
2. 2. 2.  
2. 2. 3.  
Các hthng xlý song song...........................................................................................8  
Các hthống tính toán đa nhân.................................................................................8  
Các hthống đa xử lý đi xng ................................................................................9  
Các hthng tính toán phân tán..............................................................................10  
2. 2. 3. 1. Các hthống tính toán lƣới...............................................................................10  
2. 2. 3. 2. Các hthng xlý song song cc ln .............................................................12  
2. 2. 3. 3. Các hthng tính toán cm ..............................................................................12  
iii  
 
CHƢƠNG 3. HỆ THNG ROCKS ..................................................................................................16  
3. 1. Gii thiu..........................................................................................................................16  
3. 1. 1.  
3. 1. 2.  
3. 1. 3.  
3. 2.  
3. 2. 1.  
3. 2. 2.  
3. 2. 3.  
3. 3.  
3. 3. 1.  
3. 3. 2.  
3. 3. 3.  
3. 4.  
3. 4. 1.  
3. 4. 2.  
3. 4. 3.  
Tng quan.................................................................................................................16  
Kiến trúc ca HPC Cluster sdng Rocks ............................................................17  
Rocks và Rolls..........................................................................................................18  
Cài đặt...............................................................................................................................20  
Cu hình....................................................................................................................20  
Cài đặt frontend........................................................................................................20  
Cài đặt hàng lot các compute node .......................................................................24  
Kiến trúc hthng ...........................................................................................................25  
Quy tắc đặt tên ca Rocks .......................................................................................25  
Về cơ sở dliu cluster ...........................................................................................28  
Về sơ đồ cơ sở, file cơ sở và quá trình cài đặt mt compute node .......................34  
Qun tr.............................................................................................................................39  
Tng quan.................................................................................................................39  
Frontend qun trị cluster nhƣ thế nào? ...................................................................40  
Các tác vqun trị cơ bản .......................................................................................43  
3. 4. 3. 1. Cài đặt li mt compute node trong ln boot PXE tiếp theo ..........................43  
3. 4. 3. 2. Xem và thay đổi các cu hình mng ................................................................48  
CHƢƠNG 4. LẬP TRÌNH SONG SONG VI MPI .......................................................................50  
4. 1.  
4. 1. 1.  
4. 1. 2.  
Các mô hình lp trình song song ....................................................................................50  
Mô hình bnhchia s...........................................................................................50  
Mô hình đa luồng.....................................................................................................51  
iv  
4. 1. 3.  
4. 1. 4.  
Mô hình truyn thông điệp ......................................................................................52  
Mô hình song song dliu ......................................................................................53  
4. 2.  
4. 2. 1.  
4. 2. 2.  
Các ƣu điểm ca mô hình truyền thông điệp .................................................................54  
Phbiến....................................................................................................................54  
Khả năng mô tả ........................................................................................................54  
Dglỗi hơn............................................................................................................55  
Hiệu năng..................................................................................................................55  
4. 2. 3.  
4. 2. 4.  
4. 3.  
4. 4.  
4. 5.  
4. 6.  
4. 7.  
4. 8.  
4. 9.  
Gii thiu vMPI ............................................................................................................55  
Mc tiêu ca MPI ............................................................................................................56  
Các đặc điểm ca MPI ....................................................................................................56  
Khác bit gia các bản cài đặt bng C và C++ ca MPI...............................................58  
MPI trên Rocks................................................................................................................58  
Viết chƣơng trình Hello World.......................................................................................59  
Các hàm MPI cơ bản .......................................................................................................64  
4. 8. 1.  
4. 8. 2.  
Hàm MPI_Init......................................................................................................64  
Hàm MPI_Finalize............................................................................................65  
Hàm MPI_Comm_size .........................................................................................65  
Hàm MPI_Comm_rank .........................................................................................65  
4. 8. 3.  
4. 8. 4.  
4. 10. Giá trtrvca các hàm MPI .......................................................................................66  
4. 11. Vcác khái nim Nhóm, Ngcnh và Bliên lc........................................................66  
4. 12. Liên lc gia các tiến trình..............................................................................................67  
4. 13. Xây dng mt ng dng ttr........................................................................................70  
v
4. 14. Vmi quan hgiữa kích thƣớc bài toán và chi phí tính toán .....................................75  
4. 15. Phƣơng hƣớng xây dng mt ng dng MPI ................................................................77  
CHƢƠNG 5. CÀI ĐẶT THNGHIM NG DNG TRÊN HTHNG ROCKS..................78  
5. 1.  
5. 2.  
5. 3.  
5. 4.  
Thiết lập môi trƣờng........................................................................................................78  
Mã ngun ng dng.........................................................................................................79  
Biên dch và chy ng dng............................................................................................86  
Kết quthnghim .........................................................................................................86  
CHƢƠNG 6. KẾT LUN..................................................................................................................89  
PHLỤC 1. SƠ LƢỢC VCÁCH PHÁT TRIN ROLL MI ...................................................90  
PHLC 2. LIÊN LC GIA CÁC TIN TRÌNH MPI..............................................................99  
PHLC 3. SDỤNG MPI ĐỂ TÍNH TÍCH PHÂN.................................................................102  
PHLC 4. SDỤNG MPI ĐỂ TÍNH TOÁN SPI ................................................................104  
TÀI LIU THAM KHO................................................................................................................109  
vi  
DANH MC BNG BIU  
Bng 1 – Tƣơng ứng các hàm MPI trong C và C++ ........................................................................58  
Bng 2 Các hng stoán t..........................................................................................................106  
vii  
 
DANH MC HÌNH VẼ  
Hình 1 – Các lĩnh vực ng dng ca xlý song song........................................................................2  
Hình 2 - SISD........................................................................................................................................4  
Hình 3 - SIMD ......................................................................................................................................5  
Hình 4 - MISD ......................................................................................................................................5  
Hình 5 - MIMD.....................................................................................................................................6  
Hình 6 Xử lý đƣờng ống 5 giai đoạn................................................................................................6  
Hình 7 Mô hình bxlý 2 nhân.......................................................................................................9  
Hình 8 - SMP ........................................................................................................................................9  
Hình 9 – Mô hình lƣới tính toán ........................................................................................................11  
Hình 10 - MPP ....................................................................................................................................12  
Hình 11 Thng kê vkiến trúc ca 500 siêu máy tính..................................................................13  
Hình 12 Mô hình ca HPC Cluster.................................................................................................14  
Hình 13 Rockstar cluster.................................................................................................................15  
Hình 14 Kiến trúc ca Rocks..........................................................................................................17  
Hình 15 Mt báo cáo sinh bi Ganglia ..........................................................................................19  
Hình 16 Màn hình khởi đng..........................................................................................................21  
Hình 17 La chn Roll (1)..............................................................................................................22  
Hình 18 La chn Roll (2)..............................................................................................................23  
Hình 19 - Phân chia .........................................................................................................................24  
Hình 20 La chn appliance type...................................................................................................25  
Hình 21 Vai trò trung tâm của cơ sở dliu SQL.........................................................................29  
viii  
 
Hình 22 Thao tác trc tiếp với cơ sở dliu cluster .....................................................................32  
Hình 23 Minh ha trc quan mt phn của sơ đồ cơ sở ...............................................................35  
Hình 24 – Quá trình sinh file cơ sở ...................................................................................................36  
Hình 25 Nhn din appliance mi..................................................................................................37  
Hình 26 – Đã thêm appliance vào cơ sở dliu...............................................................................37  
Hình 27 – Đã yêu cầu thành công file cơ sở .....................................................................................38  
Hình 28 – File cơ sở ...........................................................................................................................39  
Hình 29 Các node trong cluster ......................................................................................................40  
Hình 30 To cp khóa private, public trong lần đầu khởi động terminal ....................................41  
Hình 31 SSH ti compute-0-0 ........................................................................................................42  
Hình 32 Giá trtham saction vi các node trong cluster............................................................43  
Hình 33 Các bootaction hin có......................................................................................................44  
Hình 34 Thêm bootaction................................................................................................................45  
Hình 35 Các thuc tính ca node compute-0-0 .............................................................................46  
Hình 36 – Thay đổi giá trtham sinstallaction...............................................................................46  
Hình 37 Giá trtham số installaction thay đổi...............................................................................47  
Hình 38 Loi bmt bootaction.....................................................................................................48  
Hình 39 Xem các cng ethernet......................................................................................................49  
Hình 40 Mô hình bnhchia s.....................................................................................................51  
Hình 41 – Mô hình đa luồng..............................................................................................................52  
Hình 42 Mô hình truyền thông điệp ...............................................................................................53  
Hình 43 Mô hình song song dliu ...............................................................................................54  
Hình 44 MPI trên Rocks .................................................................................................................59  
ix  
Hình 45 Output của chƣơng trình Hello World (1) .......................................................................61  
Hình 46 Output của chƣơng trình Hello World (2) .......................................................................62  
Hình 47 Output của chƣơng trình Hello World (3) .......................................................................63  
Hình 48 Output của chƣơng trình Hello World (4) .......................................................................64  
Hình 49 – Trƣc khi chy ng dng..................................................................................................87  
Hình 50 Sau khi chy ng dng .....................................................................................................88  
Hình 51 Output ca hg clone ..........................................................................................................90  
Hình 52 Repository cc b..............................................................................................................91  
Hình 53 – Thƣ mục scratch ca các Roll ..........................................................................................92  
Hình 54 – Thƣ mục scratch ca Roll java.........................................................................................93  
Hình 55 Mt phần sơ đồ cơ sở........................................................................................................95  
Hình 56 Minh ha vic liên lc gia các tiến trình .....................................................................101  
Hình 57 Tính tích phân..................................................................................................................103  
Hình 58 Tính toán sPI ................................................................................................................104  
x
CHƢƠNG 1. GII THIU  
“Đạt ti tốc độ tính toán 1 teraflop là bài toán ln nht trong khoa hc máy tính  
trong 2 thp kqua. Chmới 10 năm trước đây, những nhà lãnh đạo đáng tin cậy nht  
trong ngành công nghip tính toán còn nói rằng điều đó là không thể.” (Gil Weigand)  
[45]  
Nếu chúng ta đã từng dùng Google để tìm kiếm thông tin trên Internet, thì hn scó  
lúc chúng ta phi ngạc nhiên trƣớc tốc độ xlý ca cmáy tìm kiếm này. Mi mt giây  
qua đi, Google tiếp nhn ti hàng nghìn yêu cu tìm kiếm, và mi yêu cu tìm kiếm đó  
cn phải đƣợc xlý qua hàng chc tphép tính với lƣợng dliu truy cập lên đến hàng  
trăm Megabytes. Ngoài một hthống cơ sở dliệu đƣợc thiết kế đặc bit, cùng vi  
nhng thut toán khai phá dliệu đƣợc tối ƣu hóa, thì bí mật đằng sau tốc độ xlý ca  
Google chính là hthng các cluster vi tng cng khong 15000 máy tính trên toàn thế  
gii. Google ti thiu hóa thi gian xử lý đối vi mi yêu cu tìm kiếm bng cách tiến  
hành xlý song song mi yêu cầu đó. Điều này cũng có nghĩa là Google sẽ xử lý đƣợc  
nhiu yêu cu tìm kiếm hơn trong cùng một khong thi gian [6].  
Google chính là mt ví dụ điển hình vvai trò và sthành công ca xlý song song  
trong ngành công nghip tính toán nói riêng và trong cuc sng nói chung. Trong thời đại  
thông tin bùng nổ, con ngƣời càng ngày càng trnên bn rn thì nhu cu ca xlý song  
song ngày càng đƣợc nâng cao nhm xử lý đƣợc một lƣợng dliu ln nht trong thi  
gian nhanh nht có th. Xử lý song song ngày càng đƣợc quan tâm trên thế gii vì 2 lý do  
chính sau đây:  
Đạt đƣợc hiệu năng cao hơn trong khi tiết kiệm đƣợc thi gian và tin bc. Vlý  
thuyết, càng đầu tƣ nhiều tài nguyên cho mt nhim vụ nào đó thì càng rút ngắn  
đƣợc thi gian thc hin nhim vụ đó, đồng thi tiết kiệm đƣợc càng nhiu chi  
phí. Hơn nữa, nhiu hthng xlý song song có thể đƣợc xây dng tnhng  
thành phn rtin và phbiến.  
Khả năng xử lý các bài toán ln. Nhiu bài toán trong thc tế đòi hỏi tài nguyên  
tính toán lớn đến mc không mt máy tính đơn lẻ nào có thể đáp ứng ni. Chng  
1
 
hn, các bài toán dng "Grand Challenge" (Thách Thc Ln) [16] nhƣ dự báo thi  
tiết, gii mã bộ gene ngƣời, ... yêu cu những tài nguyên tính toán đƣợc tính bng  
PetaFlops và PetaBytes [23].  
Hình 1 – Các lĩnh vực ng dng ca xlý song song  
Ngun: [4]  
Nhng nhu cầu này đã dẫn ti những cơ hội ln cho xlý song song, song nhng  
thách thức đi kèm cũng không hề nh. Cth, sẽ khó khăn hơn trong việc phát trin các  
phn mm phc vcho xlý song song do thiếu các môi trƣờng phát trin và các mô  
hình lp trình thng nht và hiu qu. Vic phát trin thuật toán cũng khó khăn hơn do sự  
phc tp ca vic xlý các tác vụ đồng thời. Đó là chƣa kể đến sphát trin nhanh  
chóng ca công nghphn cng dn ti slc hu nhanh chóng ca các kiến trúc xlý  
song song. Hqugián tiếp của điều này chính là khả năng mở rng ca hthng bgii  
hn, do các thut toán xlý song song hin hành có thkhông còn phù hp vi các kiến  
trúc phn cng của tƣơng lai.  
Ti Vit Nam, đã có một vài hthng xử lý song song đƣợc nghiên cu thành công  
và đƣa vào ứng dng, đem lại hiu quả bƣớc đầu, nhƣ hệ thng máy tính bó song song do  
CADPRO thiết kế cho Trung tâm Quc gia dự báo khí tƣợng thủy văn [2], hoc các trung  
2
 
tâm dliu của FPT Telecom, CMC Telecom, Ngân hàng Sài Gòn Thƣơng tín –  
Sacombank, Ngân hàng Đông Nam Á [3], … Tuy nhiên, số lƣợng không nhiu các hệ  
thng xlý song song kiểu này đã chứng txử lý song song chƣa thực sphát trin mnh  
mẽ ở Vit Nam.  
Xét vmt công ngh, vic xây dng, qun trng dng mt hthng xlý song  
song cũng không phi ddàng. Thông thƣờng, chi phí phi trcho vic qun trmt hệ  
thng xử lý song song trong 1 năm còn cao hơn nhiều so vi chi phí bỏ ra để mua chệ  
thng. Ví d, mt cluster có tốc độ tính toán 1 TeraFlops có chi phí vào khong 100  
nghìn US$, gn bng chi phí phi trcho một ngƣời qun trhthng trong một năm  
[39].  
Nghiên cu vxlý song song vì vy không chỉ mang ý nghĩa khoa học, mà còn có  
ý nghĩa thực tin rt ln. Vic nghiên cu vxlý song song, tlý thuyết cho đến ng  
dng, không chgiúp chúng ta nắm đƣợc nn tng công ngh, mà còn giúp chúng ta nhìn  
thy tiềm năng to lớn ca xlý song song trong công nghệ nói riêng và các lĩnh vực kinh  
tế quc dân nói chung.  
Khóa lun này tp trung nghiên cu tng quan vxlý song song nói chung và  
nghiên cu cách thức cài đặt, qun tr, kiến trúc hthng và ng dng ca hthng cm  
máy tính xlý song song Rocks nói riêng. Ngoài ra, tài liu còn đƣợc đi kèm với mt số  
ng dng MPI tiêu biểu, trong đó có ứng dng chuyển đổi video mà nội dung chƣơng 5  
chính là mô tchi tiết.  
3
CHƢƠNG 2. CÁC KIN TRÚC VÀ CÁC HTHNG XỬ  
LÝ SONG SONG  
2. 1.  
Các kiến trúc xlý song song  
Vào năm 1966, Michael Flynn đã đƣa ra cách phân loại các kiến trúc xlý song  
song da trên skhác nhau vcác dòng trong tiến trình tính toán. Mt dòng là mt chui  
các đối tƣợng (nhƣ dữ liu), hoặc hành động (nhƣ các chỉ dn). Các dòng là độc lp vi  
nhau. Mi mt phn ttrong dòng có thcha mt hoc nhiều đối tƣợng hoc hành  
động. Trên cơ sở 2 dòng chính là dliu và chdẫn, Flynn đã đƣa ra 4 tổ hợp, đại din  
cho 4 kiu kiến trúc xlý song song khác nhau [8]:  
SISD (Single Instruction, Single Data Stream - Đơn dòng chỉ dẫn, đơn dòng  
dliu). Đây thực cht chính là kiến trúc Von Neumann [1, 43].  
Hình 2 - SISD  
Ngun: [22]  
SIMD (Single Instruction, Multiple Data Stream - Đơn dòng chỉ dẫn, đa  
dòng dliu). Kiến trúc này bao gm các bxvectơ cũng nhƣ các bxử  
lý song song cc ln (MPP).  
4
     
Hình 3 - SIMD  
Ngun: [22]  
MISD (Multiple Instruction, Single Data Stream - Đa dòng chỉ dẫn, đơn  
dòng dliu).  
Hình 4 - MISD  
Ngun: [22]  
MIMD (Multiple Instruction, Multiple Data Stream - Đa dòng chỉ dẫn, đa  
dòng dliu). Kiến trúc này bao gm các hệ đa vi xử lý truyn thống cũng  
nhƣ các mạng máy trm.  
5
   
Hình 5 - MIMD  
Ngun: [37]  
Mi mt thp trên đây đặc trƣng cho một lp kiến trúc máy tính, đồng thời tƣơng  
ng vi mt hình thc xlý song song.  
2. 1. 1. SISD  
Kiến trúc SISD là kiến trúc quen thuc nhất, cũng là kiến trúc ít song song nht.  
Các hthng kiu này chyếu xlý theo kiểu đƣờng ng, trong đó các giai đoạn khác  
nhau ca tiến trình xlý mt chdn đƣợc thc thi song song (kiến trúc này không song  
song hóa các tiến trình mà song song hóa các giai đoạn ca vic thc thi tiến trình).  
Hình 6 Xử lý đường ống 5 giai đoạn  
Ngun: [37]  
Công nghệ cài đặt song song hóa các tiến trình xlý chdn đƣợc gi là song song  
hóa mc chdn (ILP Instruction Level Parallelism). Hai trong scác kiến trúc bxử  
lý sdụng phƣơng pháp này là superscalar (siêu thang bc) và VLIW (Very Long  
Instruction Word - Kích thƣớc word ln). Các kiến trúc này lp lch cho các tác vkhác  
nhau để thc thi mt cách song song bng cách phân tích sphthuc ln nhau gia các  
tác vtrong cùng mt dòng chdn. Vi kiến trúc superscalar, việc phân tích đƣợc thc  
6
     
hin động vào thời điểm chy, còn vi VLIW, vic phân tích là tĩnh vào thời điểm biên  
dch. Chai kiến trúc này đều có scân bng giữa độ linh động (adaptability) và độ phc  
tp (complexity) các bxử lý superscalar linh động nhƣng phức tp, còn các bxlý  
VLIW không linh động nhƣng cũng không phức tp. C2 kiến trúc đều sdng các  
phƣơng pháp biên dịch nhƣ nhau nhằm đạt đƣợc hiệu năng cao.  
Xu hƣớng hin tại đối vi các bxử lý SISD là hƣớng ti kiến trúc superscalar  
nhm tn dng các công nghILP sn có.  
2. 1. 2. SIMD  
Lp kiến trúc SIMD ca các bxlý bao gm các bxlý mng (Array  
Processors) và bxvectơ (Vector Processors). Các bxlý này là câu trli tự  
nhiên cho vic sdng các cu trúc dliệu thƣờng gặp nhƣ vectơ và ma trn.  
Mt bxlý mng bao gm nhiu khi xlý (PU - Processor Unit) hoạt động song  
song trên nhiu thành phn dliu. Mt bxvectơ bao gm mt khi xlý hot  
động tuyến tính trên nhiu thành phn dliu. C2 loi bxử lý đều sdng mt phép  
toán (operation) để thc thi nhiều hành động (action). Mt bxlý mng phthuc vào  
kích thƣớc ln ca tp dliệu đầu vào để đạt đƣợc hiệu năng cao (vì vậy thƣờng các bộ  
xử lý này thƣờng đƣợc gi là các bxlý song song cc ln (Massively Parallel  
Processors)). Mt bxlý mảng đặc trƣng bao gồm từ hàng trăm đến hàng chc nghìn  
khi xlý hoạt động cùng nhau. Mt bxvectơ cũng phụ thuc vào sự đơn điu ca  
các hành động tƣơng tự nhƣ bộ xlý mảng, nhƣng trên một tp dliu nhỏ hơn, đồng  
thi dựa vào phƣơng pháp đƣờng ng (pipelining) và nhịp đồng hcao nhm giảm đtrễ  
ca các phép toán.  
Trên thị trƣờng hiện nay chƣa có nhiều bxử lý đƣợc phát trin theo kiến trúc mng  
do nhu cu không cao và hn chế vsố lƣợng ng dụng. Trong khi đó rất nhiu bxlý  
theo kiến trúc vectơ đã đƣợc phát triển, đồng thi các bxvectơ hiện đại là các bxử  
lý có hiệu năng cao, có thể tuân theo các kiến trúc SIMD hoc MIMD.  
2. 1. 3. MISD  
Theo Flynn thì không tn ti máy tính theo kiến trúc này [1].  
7
   
2. 1. 4. MIMD  
Kiến trúc MIMD là kiến trúc song song quen thuc nhất, cũng là hình thức cơ bản  
nht ca các bxlý song song. Các bxlý MIMD bao gm nhiu khi xđƣợc kết  
ni vi nhau. Không ging nhƣ các bộ xlý SIMD, mi khi xlý trong bxlý MIMD  
thực thi hoàn toàn độc lp (mc dù cùng một chƣơng trình).Mặc dù vlý thuyết các khi  
xlý không cn phi giống nhau, nhƣng thực tế hu hết các hthng MIMD bao gm  
các khi xlý ging nhau.  
Vic liên lc gia các khi xđƣợc thc hin thông qua một không gian địa chỉ  
dùng chung (không gian địa chnày có thlà toàn cục, cũng có thể đƣợc phân chia gia  
các khi x, khi đó nó có tên gọi là bnhchia sphân tán (Distributed Shared  
Memory) để phân bit vi bnhphân tán (Distributed Memory)). Cách xlý này dn  
đến 2 vấn đề: Mt là tính ổn định (consistency) và hai là tính thng nht (coherence) ca  
dliu. Tính ổn định nói đến vic tham chiếu bnhớ – trên c2 phm trù là trong mt  
khi xlý và gia các khi xlý. Tính thng nht yêu cu tt ccác khi xđều phi  
“nhìn thấy” cùng 1 giá trị đối với cùng 1 địa chvùng nh. Tính ổn định là hin, trong khi  
tính thng nht là ẩn đối với ngƣời lập trình. Thƣờng thì tính ổn định có thgii quyết  
bng mt sphi hp gia các kthut vphn cng và phn mm, trong khi tính thng  
nht lại đƣợc gii quyết bng các kthut vphn cng.  
Các hthng tuân theo kiến trúc MIMD bao gm tcác bxlý truyn thống đến  
các bxử lý độc lp hoạt động thông qua mt mng máy tính. Skhác nhau gia các hệ  
thng này chyếu là gia cách kết ni gia các khi xlý trên mt bxlý và cách kết  
ni gia các bxlý trên mt mng WAN. Tuy nhiên, c2 kiu hthống đều có scân  
bng giữa độ trtrong liên lc và gii hạn kích thƣớc ca hthng.  
2. 2.  
Các hthng xlý song song  
2. 2. 1. Các hthng tính toán đa nhân  
Vi xử lý đa nhân (Multicore Processor) là vi xlý bao gm nhiu khi chức năng  
(Functional Unit, Execution Unit, hay “nhân”). Các vi xử lý đa nhân khác các vi xử lý  
siêu thang bc (Superscalar Processor) ch, các vi xử lý đa nhân có thể thc thi nhiu  
chdn tnhiu ngun trong mt chu ktính toán, còn các vi xlý siêu thang bc có thể  
8
     
thc thi nhiu chdn tmt ngun trong mt chu ktính toán. Mi nhân trong vi xlý  
đa nhân có thể là mt vi xlý siêu thang bậc con, theo nghĩa mỗi nhân này có ththc thi  
nhiu chdn tmt ngun trong mt chu ktính toán.  
Hình 7 Mô hình bxlý 2 nhân  
Ngun: [36]  
2. 2. 2. Các hthng đa xử lý đối xng  
Hình 8 - SMP  
Ngun: [1]  
Các hthng đa xử lý đối xng (SMP - Symmetric Multiprocessing) thuc mô hình  
song song kiu bnhdùng chung (Shared Memory). Mt hthng SMP có t2 bxử  
9
     
lý ging nhau trlên, các bxlý này dùng chung bnhvà hthng vào ra, đồng  
thời đƣợc điều khin bi mt hệ điều hành duy nht.  
Tính đối xng ca các hthng SMP thhin ch, thi gian truy cp bnhlà  
bng nhau vi các bxlý, quyn truy cp (read / write) ti bnhca các bxlý  
cũng là nhƣ nhau.  
Các hthng SMP có nhiu ng dng trong khoa hc, công nghip và kinh doanh.  
Tuy nhiên, nhng ng dng phbiến nhất nhƣ các hệ xử lý văn bản hoặc các trò chơi  
trên máy tính thì lại đƣợc viết theo cách không tn dụng đƣợc li thế tcác hthng xử  
lý đồng thi. Chng hn, với các trò chơi trên máy tính, nếu nhƣ đƣợc viết để có thchy  
tt trên các hthng SMP, thì li khiến hiệu năng giảm sút trên các hthống đơn vi xử lý  
(uniprocessor).  
Các hthống đơn vi xử lý và các hthng SMP yêu cầu hai phƣơng pháp lập trình  
khác nhau để đạt đƣợc hiệu năng cao nhất. Vì thế nhà phát trin có thsphi phát trin  
và bo trì c2 phiên bn ca cùng 1 ng dng. Các ng dng chy trên các hthng  
SMP có thể đạt đƣợc hiệu năng cao hơn so với khi chy trên các hthống đơn vi xlý,  
ngay cả khi chúng đƣợc viết ra dành cho các hthống đơn vi xử lý. Nguyên nhân là vì  
các ngt phn cứng thƣờng tm dng vic thc thi ng dng, trong khi ng dng có thể  
tiếp tục đƣợc thc thi trên mt bxlý ri. Đối vi mt số ứng dụng, đặc bit là các trình  
biên dch và các dán tính toán phân tán, hiệu năng của ng dụng đƣợc tăng lên khi thêm  
mi mt bxlý.  
Trong trƣờng hp có nhiu ng dng cùng chy mt lúc, mt hthng SMP có thể  
cho hiệu năng tốt hơn một hthống đơn vi xử lý, do các ng dng có thể đƣợc đồng thi  
thc thi trên các bxlý một cách đồng thi.  
2. 2. 3. Các hthng tính toán phân tán  
Các hthng tính toán phân tán (Distributed Computing) là các hthống trong đó  
các đơn vị xử lý đƣợc kết ni vi nhau qua mt mng. Các hthng kiu này có khả năng  
mrng rt cao.  
2. 2. 3. 1. Các hthống tính toán lƣới  
10  
   
Các hthống tính toán lƣới (Grid Computing) là hình thức “phân tán” nhất ca tính  
toán song song. Các hthng này bao gm các máy tính hoàn chỉnh (có đầy đủ CPU, bộ  
nh, ngun nuôi, card mng) kết ni vi mt mng (có thlà mng riêng, mng chung  
hoc thm chí là mng internet), sdng các giao din mng truyn thống nhƣ Ethernet.  
Đây là điểm khác bit so vi các siêu máy tính: Mt siêu máy tính bao gm nhiu bxử  
lý đƣợc kết ni vi nhau bi mt mng cc bbao gm các bus máy tính tốc độ cao.  
Hình 9 – Mô hình lưới tính toán  
Ngun: [44]  
Ƣu điểm ln nht của tính toán lƣới đó là các điểm lƣới (các máy tính tham gia tính  
toán) có thlà các máy tính phbiến, cu hình trung bình, giá thành rẻ. Sau khi đƣợc ni  
vi nhau thành một lƣới tính toán thì hthống lƣới này có thcung cp mt hthng tài  
nguyên tính toán tƣơng đƣơng với một siêu máy tính nhƣng giá rẻ hơn nhiều.  
Trong khi đó, nhƣợc điểm ln nht của tính toán lƣới li nm kết ni gia các  
điểm lƣới. Tuy nhiên, các ng dụng đƣợc xlý song song trên nhiều điểm lƣới mt cách  
độc lp có thể đạt hiệu năng cao trên lƣới, do mỗi điểm lƣới không yêu cu các kết quả  
trung gian từ các điểm lƣới khác.  
11  
 
2. 2. 3. 2. Các hthng xlý song song cc ln  
Các hthng xlý song song cc ln (MPP Massive Parallel Processing) là các  
hthng lai gia 2 mô hình bnhchia s(Shared Memory) và bnhphân tán  
(Distributed Memory). Các hthng MPP khc phục nhƣợc điểm ca mô hình bnhớ  
chia s: Các CPU có bộ đệm (Cache) và bnhớ (Memory) riêng nên tránh đƣợc xung đột  
bnh. Đồng thời, MPP cũng khắc phục nhƣợc điểm ca mô hình bnhphân tán:  
Đƣờng mng kết ni có tốc độ cao hơn, độ trthp, các bộ đệm cũng đƣợc kết ni vi  
nhau và sdng phn cng htr.  
Hình 10 - MPP  
Ngun: [1]  
Cách đây một vài năm, các siêu máy tính mạnh nhất đều là các hthng MPP [30],  
nhƣ Earth Simulator, Blue Gene, ASCI,… với sbxlý lên ti hàng nghìn [1].  
2. 2. 3. 3. Các hthng tính toán cm  
Cm (Cluster) là khái niệm dùng để chỉ các máy tính độc lập đƣợc kết ni vi nhau  
thành mt hthng thng nht thông qua vic sdng các phn mm và các công nghệ  
12  
     
kết ni mng thích hp. mức độ đơn giản nht, khi hai hoc nhiều hơn máy tính đƣợc  
sdng cùng vi nhau để gii quyết mt vấn đề nào đó, hệ thng hai hoc nhiu máy  
tính này đƣợc xem nhƣ một cluster. mức độ tng quát, ta có thể định nghĩa cluster nhƣ  
là một nhóm các máy tính độc lp có khả năng làm việc cùng nhau nhƣ một máy tính duy  
nht, nhm mc tiêu tăng cƣờng sc mnh tính toán, khả năng đáp ứng và gim ri ro khi  
xy ra li cc bcho các ng dng hoc các dch v.  
Trong s500 siêu máy tính (danh sách cp nht mi nht là vào tháng 11 / 2009) thì  
hu hết đều là các hthng cluster.  
Hình 11 Thng kê vkiến trúc ca 500 siêu máy tính  
Ngun: [45]  
HPC Cluster, viết tt ca High Performance Computing Cluster, là loại cluster đƣợc  
sdụng để tăng cƣờng hiệu năng cho các ứng dng tính toán phc tp bng cách "chia  
nh" các tác vtính toán này ra các máy con trong cluster. Các cluster kiểu này thƣờng  
chạy các chƣơng trình đƣợc thiết kế đặc biệt để tn dng khả năng tính toán song song  
ca hthống. Chúng đƣợc tối ƣu hóa cho các tiến trình đƣợc thực thi đồng thi trên các  
máy con trong cluster, nhƣng có "liên lạc" trong quá trình thc thi; các tiến trình này bao  
gm cnhng tác vtính toán phthuc ln nhau (kết qutính toán tmáy con này có  
tác động đến kết qutính toán tiếp theo ca máy con khác).  
13  
 
HPC Cluster thƣờng đƣợc dùng cho các bài toán khoa hc nên còn có tên khác là  
Scientific Cluster. Ngoài ra, có mt loại HPC Cluster đặc thù sdng Linux làm hệ điều  
hành và các phn mm miễn phí để cung cp khả năng tính toán song song. Loại HPC  
Cluster này đƣợc gi là Beowulf Cluster. "Các phn mm miễn phí" nói đến ở đây bao  
gm ccác API messaging phbiến nhƣ Message Passing Interface (MPI) hoặc Parallel  
Virtual Machine (PVM) [29].  
Hình 12 Mô hình ca HPC Cluster  
Ngun: [5]  
Các hthng HPC Cluster đạt đƣợc hiệu năng cao là nhờ tăng cƣờng đƣợc băng  
thông và giảm đƣợc độ trễ trên đƣờng truyn. Sở dĩ nhƣ vậy là vì chúng thƣờng không sử  
dng nhng giao thc mạng nhƣ TCP/IP. Mặc dù TCP/IP rất lý tƣởng cho mng Internet,  
nhƣng nó không thực sphù hp khi áp dng cho mt hthng các máy tính rt gn  
nhau, đặc biệt là khi các máy tính trong cluster đƣợc biết vshin din ca nhau. Thay  
vì đó, nhiều hthng HPC tiến hành truy cp bnhtrc tiếp (DMA - Direct Memory  
Access) gia các máy con trong cluster. Các máy con trong cluster có thsdng chung  
14  
 
mt hthng bnhớ phân tán, đồng thi sdng mt hthng truyền thông điệp đƣợc  
tối ƣu hóa nhằm liên lc gia các máy trong cluster.  
MPI (Message Passing Interface) là mt trong nhng hthng truyền thông điệp  
phbiến nhất trong các cluster, đƣợc dùng nhƣ tầng liên lc gia các hthng cluster  
song song. MPI có nhiu biến thể nhƣng sử dng chung mt API nhm giúp các  
developer ddàng phát trin các ng dng tính toán song song mà không cn phi quan  
tâm đến chi tiết cài đặt ca hthng. Các hthống Beowulf đƣợc nói bên trên là mt  
trong nhiu hthng HPC sdng MPI làm tng liên lc trong cluster.  
Mt trong scác hthng cluster tiêu biu chính là Rocks. Rocks ra đời tại Đại hc  
California vi mục tiêu đơn giản hóa quá trình xây dng mt cluster [18]. Rocks là mt  
hthng tính toán cm hết sc mnh mẽ đã có lch sử 10 năm phát triển [18] và 1632  
cluster đã đăng ký [41]. Sdng Rocks, các nhà phát trin có thxây dng mt HPC  
Cluster hết sc nhanh chóng (cluster Rockstar (đứng th201 trong danh sách 500 siêu  
máy tính, sliu tháng 11/2003) đƣợc xây dựng trong vòng dƣới 2 gi[39]). Đây cũng là  
lý do khóa lun nàyxem Rocks nhƣ một hthng xlý song song tiêu biu.  
Hình 13 Rockstar cluster  
Ngun: [39]  
15  
 
CHƢƠNG 3. HTHNG ROCKS  
3. 1.  
Gii thiu  
3. 1. 1. Tng quan  
Rocks là mt trong nhng gii pháp mã ngun mtt nht hiện nay để xây dng  
mt HPC cluster. Rocks do Đại hc California phát trin da trên CentOS vi mt mc  
tiêu đơn giản: "Make Clusters Easy" [18].  
Một cluster đƣợc xây dng bi Rocks sbao gm 2 thành phn: Thành phn  
frontend (frontend node), đƣợc dùng để qun lý các gói phn mm và các tác vtính toán  
trên cluster, và thành phn compute (compute node), cung cp sc mnh tính toán cho  
cluster.  
Quá trình xây dng mt cluster bng Rocks có rt nhiu thun lợi nhƣ dƣới đây:  
Tt ccác máy con (frontend node hoặc các compute node) đều yêu cu tài  
nguyên mc trung bình, có thdễ dàng đáp ứng đƣợc bi mt máy tính có cu  
hình phbiến hin nay. Rocks yêu cu ti thiu 30GB cng và 1GB bnhcho  
mỗi máy con. Ngoài ra, đối vi máy frontend, Rocks yêu cu 2 cng ethernet.  
Việc cài đặt máy frontend có ththc hin gần tƣơng tự nhƣ cài đặt mt máy  
Linux thông thƣờng, toàn bcác package cần cho quá trình cài đặt đƣợc cha gn  
trong mt DVD không quá ln về kích thƣớc nếu nhƣ so với các DVD phân phi  
ca các distro ni tiếng nhƣ Fedora hay CentOS.  
Việc cài đặt các máy compute đƣợc thc hin gần nhƣ tự động, do đó cho phép cài  
đặt hàng lot các compute node, rút ngn quá trình xây dng cluster.  
Ngoài nhng thun li về quá trình cài đặt, Rocks đem lại nhiu li thế trong vic  
xây dng mt cluster HPC, bao gm:  
Rocks có thtùy biến. Rocks không lthuc vào các gii pháp ca mt nhà cung  
cp cthể nào. Trong quá trình cài đặt, có thsa li cu trúc ổ đĩa cho phù hợp  
vi nhu cu. Thậm chí, ngƣời dùng còn có thtùy biến kernel của Rocks để sử  
16  
     
dng. Nếu ngƣời dùng muốn thay đổi nhiều hơn nữa, chcn chnh sa mt file  
XML, build lại và sau đó cài đặt li các máy con.  
Rocks sdng các Roll vi mi Roll nhƣ là một tp các package cn thiết để thi  
hành mt loi hình tính toán hay tin ích cth.  
Rocks làm gim ti sự khó khăn trong việc qun lý cluster bng cách cung cp sn  
nhiu công cụ khác nhau để trgiúp cho ngƣi qun trhthng, chng hn, mi  
cluster scó mt trang web cho biết trng thái hin ti ca cluster.  
3. 1. 2. Kiến trúc ca HPC Cluster sdng Rocks  
Xem xét sơ đồ dƣới đây, chúng ta có thể thy frontend node đóng vai trò nhƣ là  
giao din giữa cluster và ngƣời sdng.  
Hình 14 Kiến trúc ca Rocks  
Ngun: [5]  
17  
   
Frontend node yêu cu 2 kết ni: Mt kết ni private, ni vi mng các compute  
node (qua switch chng hn), mt kết ni public, cho phép các máy tính tngoài cluster  
có thtruy cập đến.  
3. 1. 3. Rocks và Rolls  
Mt Roll thc cht là mt hoc mt tp các gói phn mm nhm thc thi mt loi  
tác vnhất định nào đó, bao gồm các tác vtruyn thng ca mt HPC Cluster (các tác  
vtính toán), và các tác vchung cho tt ccác cluster (các tác vqun lý cluster). Mt  
hthống cluster Rocks cơ bản bao gm 4 roll: Kernel, OS, Web Server và Base. Các roll  
khác cung cp các tác vnâng cao vtính toán, qun trcác tác vtính toán và qun trị  
cluster, nhƣ:  
Roll SGE (SUN Grid Engine): Đây là một trong nhng Roll quan trng nhất đƣợc  
phân phi kèm theo Rocks [7]. Roll này chu trách nhim lp lịch, điều hƣớng và  
qun lý các tác vcủa ngƣời dùng trên toàn cluster. SGE đƣợc sdng rt rng rãi  
trong các cluster hoc các hthống tính toán lƣới. SGE giúp tn dng tối đa sức  
mnh xlý song song trong hthng. Vic quản lý SGE đƣợc thc hin hoàn toàn  
bằng command line, nhƣng cũng có thể đƣợc hin thị dƣới dng hình nh, chng  
hn thông qua Roll Ganglia.  
Roll Ganglia cho phép ngƣời qun trị và ngƣời dùng hthng có thqun trhiu  
năng của cluster thông qua giao din web trên máy frontend. Các báo cáo sinh bi  
Ganglia bao gm số lƣợng node đang hoạt động và tlCPU và bnhớ đƣợc sử  
dng. Ngoài ra Ganglia cũng cho phép ngƣời dùng xem các tác vụ đang nằm trong  
hàng đợi ca cluster.  
18  
 

Tải về để xem bản đầy đủ

pdf 186 trang yennguyen 16/04/2025 110
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Nghiên cứu hệ thống cụm máy tính xử lý song song Rocks và ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_nghien_cuu_he_thong_cum_may_tinh_xu_ly_song_song_r.pdf