Tải bản đầy đủ (.pdf) (87 trang)

Kỹ thuật tính toán song song trong một số ứng dụng cơ học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.16 MB, 87 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
----------------------------------

LUẬN VĂN THẠC SỸ KHOA HỌC
NGÀNH: CƠ HỌC KỸ THUẬT

KỸ THUẬT TÍNH TỐN SONG SONG
TRONG MỘT SỐ ỨNG DỤNG CƠ HỌC

NGHIÊM BẢO LONG

HÀ NỘI 2006


1

DANH MỤC HÌNH

28TU

28TU

Hình 1.1.1: Luật Moore về tốc độ của bộ xử lý _______________________ 7
U28T

Hình 1.1.2: Hiệu năng tính tốn của các cấp độ trung tâm tính tốn song song

U28 T

_____________________________________________________________ 9


28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU


28TU

Hình 3.1: Mơ hình máy tính cá nhân gồm một bộ xử lý và một bộ nhớ ___ 15
U28T

Hình 3.2: Mơ hình máy tính song song bộ nhớ chia sẻ ________________ 16
U28T

Hình 3.3: Sơ đồ đơn giản kiến trúc máy tính lõi đơi của Pentium ________ 16
U28 T

Hình 3.4: Sơ đồ kiến trúc máy tính lõi tứ của Pentium ________________ 17
U28 T

Hình 3.5: Mơ hình máy tính song song bộ nhớ phân tán _______________ 18
U28 T

Hình 3.6: Hệ thống mạng kết nối từng cặp máy tính với nhau __________ 19
U 28T

Hình 3.7: Hệ thống mạng dạng lưới hai chiều _______________________ 20
U28 T

Hình 3.8: Hệ thống mạng siêu lập phương ba chiều __________________ 21
U28 T

Hình 3.9: Phân rã theo miền cho bài tốn trong khơng gian ba chiều. _____ 21
U28 T

Hình 3.10: Hệ thống mạng siêu lập phương bốn chiều ________________ 22

U28 T

Hình 3.11: Hệ thống mạng máy trạm ______________________________ 23
U28 T

Hình 3.12: Hệ thống máy tính Beowulf ____________________________ 23
U28 T

Hình 3.13: Số lượng cố định các tiến trình độc lập trong _______________ 24
U28T

Hình 3.14: Lượng tiến trình động, độc lập trên nền PVM ______________ 25
U28 T

Hình 3.15: Mơ hình thực hiện của các tiến trình thu được trên nền PVM __ 25
U28T

Hình 3.16: Đồng bộ hóa các tiến trình theo thuật giải butterfly sử dụng hàm

barrier _______________________________________________________ 26
U2 8T

28TU

28TU

Hình 3.17: Tính tổng của 16 số hạng sử dụng giải thuật butterfly ________ 27
U28 T

Hình 3.18: Tính tích phân số bằng tổng diện tích các hình thang ________ 28

U28 T


2

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU


28TU

28TU

28TU

28TU

28TU

Hình 3.19: Tính số pi theo cơng thức tổng diện tích hình thang _________ 28
U28 T

Hình 3.20: Kỹ thuật tính tốn song song pipeline ____________________ 29
U28T

Hình 3.21: Mơ hình hóa bài tốn giải phương trình truyền nhiệt hai chiều _ 30
U28T

Hình 3.22: Mơ hình tính tốn hệ số tăng tốc ________________________ 31
U28T

Hình 4.1: Cấu trúc cơ bản của một chương trình sử dụng giao thức MPI __ 34
U28 T

Hình 4.2: Các tập hợp truyền thơng trong MPI ______________________ 35
U28T

Hình 4.3: Chi tiết mơ hình truyền thơng điểm tới điểm ________________ 37

U2 8T

Hình 4.4: Mơ hình quảng bá truyền thơng __________________________ 39
U28T

Hình 4.5: Mơ hình tổng hợp truyền thơng __________________________ 40
U28 T

Hình 4.6: Mơ hình tập hợp dữ liệu truyền thơng _____________________ 41
U28T

Hình 4.7: Mơ hình tích hợp quảng bá và tổng hợp truyền thơng _________ 42
U28 T

Hình 4.8: Mơ hình phân tán dữ liệu truyền thơng ____________________ 43
U28 T

Hình 4.9: Tổng kết một số mơ hình gói truyền thơng _________________ 44
U28T

Hình 5.1: Các thư viện tính tốn song song thơng dụng _______________ 50
U28T

Hình 5.2: Phân tán thành các tiến trình độc lập ______________________ 52
U28 T

Hình 5.3: Song song hóa Matlab với giao thức truyền thơng điệp MPI ____ 54
U28 T

Hình 5.4: Tính tốn hiệu năng cao qua dịch vụ sử dụng các siêu máy tính _ 56

U28 T

Hình 5.5: Mơ hình biên dịch mã Matlab thành mã thư viện tính tốn song

song ________________________________________________________ 58
U28 T

28TU

28TU

Hình 5.6: Lượng băng thơng của hệ thống song song sử dụng Matlab ____ 61
U28 T

Hình 5.7: Hiệu quả tăng tốc của MatlabMPI khi so với thuật giải tuần tự tốt

U28 T

____________________________________________________________ 62
28TU

Hình 5.8: So sánh chi phí lập trình với hiệu quả tính tốn của các cơng cụ lập

trình song song ________________________________________________ 63
U28T

28TU

28TU


28TU

Hình 6.1: Rời rạc hóa miền khảo sát để giải phương trình vi phân _______ 67
U28T

Hình 6.2: Sơ đồ tính tốn tuần tự giải thuật lặp đơn __________________ 72
U28T

Hình 6.3: Sơ lược về các bước thiết kế giải thuật song song ____________ 73
U28T


3

28TU

28TU

28TU

28TU

Hình 6.4: Phân rã tối đa, mỗi tiến trình xử lý một nút _________________ 74
U28T

Hình 6.5: Truyền thơng giữa các tiến trình láng giềng _________________ 75
U28T

Hình 6.6: Tích tụ bài tốn vào p tiến trình, mỗi tiến trình xử lý m nút ____ 76
U28 T


Hình 6.8: Kết quả tính tốn số tại một vài bước lặp của mơ hình tính tốn

song song ____________________________________________________ 78
U28 T

28TU

28TU

28TU

28TU

28TU

28TU

28TU

28TU

Hình 6.9: Giao diện chương trình điều khiển tiến trình ________________ 79
U28 T

Hình 6.10: Nhập vào tệp cần thực hiện ____________________________ 80
U28T

Hình 6.11: Nhập cấu hình máy phân tán ___________________________ 80
U28T


Hình 6.12: Nhập cấu hình một máy _______________________________ 80
U28 T

Hình 6.13: Danh sách các máy đã được khởi tạo _____________________ 81
U28 T

Hình 6.14: Kết quả sau khi tính tốn ______________________________ 81
U28T

Hình 6.15: Lỗi khi khơng nhập tệp cần thực hiện ____________________ 82
U28 T

Hình 6.16: Lỗi khi khơng nhập vào cấu hình máy tính song song ________ 82
U28 T


4

DANH MỤC BẢNG

28TU

28TU

28TU

Bảng 3.1: Một số hệ thống siêu máy tính giá rẻ hiện đang được sử dụng __ 23
U28 T


Bảng 4.1: Các kiểu dữ liệu điển hình trong giao thức MPI _____________ 35
U28 T

Bảng 4.2: Kiểu dữ liệu tương ứng với các tham số truyền vào các hàm MPI

U28 T

____________________________________________________________ 36
28TU

28TU

Bảng 4.3: Các mơ hình gửi thơng điệp MPI hỗ trợ ___________________ 38
U28 T

Bảng 4.4: Các thao tác tổng hợp dữ liệu hàm MPI_Reduce có thể thực hiện

được ________________________________________________________ 40
U28T

28TU

28TU

28TU

28TU

Bảng 5.1: Bảng các câu lệnh được cung cấp với mpd _________________ 47
U28 T


Bảng 5.2: Bảng các lựa chọn được cung cấp với smpd ________________ 47
U28 T

Bảng 5.3: Các lựa chọn với câu lệnh mpiexec _______________________ 48
U28T

Bảng 5.4: Bảng các phần mềm hỗ trợ phân tán các tiến trình độc lập trên

Matlab ______________________________________________________ 53
U28 T

28TU

28TU

28TU

Bảng 5.5: Bảng các phần mềm hỗ trợ truyền thông điệp trên Matlab _____ 55
U28T

Bảng 5.6: Bảng các dịch vụ hỗ trợ tính tốn song song trên Matlab ______ 57
U28T

Bảng 5.7: Bảng các phần mềm giúp dịch và ứng dụng các chương trình song

song mã Matlab _______________________________________________ 59
U28 T



5

Mở đầu
Khoảng hai năm trở lại đây, chúng ta bắt đầu nghe nhiều đến bộ xử lý lõi kép
của Intel. Bộ xử lý này chính làm một trong những kiến trúc máy tính song
song đang được thương mại hố bởi cả Intel và AMD, hai nhà sản xuất chíp
lớn. Điều đó vẫn chưa cho ta thấy rõ rằng đã có các siêu máy tính tích hợp
đến hơn mười ngàn bộ xử lý do các công ty khổng lồ như IBM hay HP thiết
kế để thực hiện các dự án trọng điểm quốc gia. Hiệu ứng nghiên cứu tính tốn
song song lan rất rộng khi xuất hiện các mơ hình tính tốn song song sử dụng
mạng máy tính kết nối hàng ngàn bộ xử lý đơn để giải quyết một bài toán.
Các bài toán cơ học hiện đại thực hiện ngày càng nhiều trên máy tính.
Phương pháp phần tử hữu hạn, phương pháp số hay phương pháp phần tử
biên ngày càng tăng nhu cầu tính tốn khi giải quyết các bài toán cỡ lớn (số
phần tử lớn) hay các bài toán phi tuyến. Nhu cầu tất yếu là tìm một phương
pháp tính tốn có hiệu năng cao hơn để giải quyết các bài tốn này.
Luận văn trình bày về các kỹ thuật tính tốn song song và cách thức sử
dụng kỹ thuật này giải các bài tốn cơ học sau đó đưa vào các kiến trúc máy
tính song song chi phí thấp để thực hiện.
Luận văn gồm gồm sáu chương, trình bày và đánh giá sự phát triển của
kỹ thuật tính toán song song cũng như nhu cầu ngày càng lớn của việc ứng
dụng tính tốn song song vào các bài tốn kỹ thuật nói chung và các bài tốn
cơ học nói riêng. Ngồi ra luận văn mơ tả chi tiết và khá đầy đủ về các kỹ
thuật tính tốn song song hiện tại từ đơn giản đến phức tạp hơn. Ngồi việc
xây dựng một thư viện các mơ đun ma trận sử dụng giải thuật tính tốn song
song, luận văn cịn giải quyết một bài tốn cơ học cụ thể, bài tốn này có thể
áp dụng vào thực tiễn ngay hay phát triển thêm để tận dụng triệt để hơn các


6


lợi thế của tính tốn song song hay tận dụng được cơ sở hạ tầng cơng nghệ
thơng tin hiện có. Ln văn cũng có mục đích phát triển tính tốn song song
theo một hướng mới là sử dụng Matlab được song song hoá để giải quyết các
bài toán kỹ thuật.
Chương một trình bày sơ lược về nhu cầu tính tốn song song trên thế
giới hiện nay, qua đó mơ tả sự cần thiết áp dụng các kỹ thuật tính tốn song
song vào các bài toán thực tế là rất cấp thiết.
Chương hai trình bày một bài tốn dao động cơ bản, phân tích phương
pháp ma trận dạng riêng quen thuộc để tìm các yếu tố có khả năng phân rã,
qua đó tìm được phương pháp áp dụng tính tốn song song vào bài toán trên.
Để hiểu được các khái niệm cũng như sử dụng được các kỹ thuật sẵn có,
chương ba, chương bốn, chương năm lần lượt trình bày các kiến trúc, mơ hình
lập trình và các tài ngun tính tốn song song sẵn có. Phần này chủ yếu trình
bày các thơng tin để có thể lập trình tính tốn song song theo tiêu chuẩn hiện
hành và các trào lưu mới nhất hiện có. Luận văn mơ phỏng phần này bằng
một số ví dụ như tính tích phân số, nhân ma trận với một véc tơ, nhân hai ma
trận và giải phương trình truyền nhiệt hai chiều.
Chương sáu trình bày cụ thể cách giải quyết bài toán đã nêu ra trong
chương một. Các bước từ chọn cấu hình phần cứng, thiết kế và cài đặt chương
trình được trình bày rất kỹ. Chương này tổng hợp và sử dụng các lý thuyết và
tài nguyên của năm chương trước. Ngoài ra chương sáu cũng trình bày một
bảng điều khiển được lập trình để chạy các ứng dụng trong toàn bộ luận văn.


7

CHƯƠNG 1
NHU CẦU TÍNH TỐN SONG SONG
TRONG KHOA HỌC TÍNH TOÁN

VÀ CƠ HỌC
1.1 Định luật Moore về sự phát triển tốc độ của bộ xử lý
Ngay từ những ngày đầu trong q trình phát triển của máy tính điện tử, năm
1965, Gordon Moore đã đưa ra định luật nêu rằng tốc độ xử lý của máy tính
sẽ tăng lên gấp đơi sau mỗi một năm. Đây chính là luật Moore nổi tiếng
Số lượng đèn điện tử
Bộ xử lý Pentium® 4
Bộ xử lý Pentium® III
Bộ xử lý Pentium® II
Bộ xử lý Pentium®
Bộ xử lý 486TM DX

LUẬT MOORE

Bộ xử lý 386TM

Hình 1.1.1: Luật Moore về tốc độ của bộ xử lý

Ban đầu máy tính điện tử tỏ ra khá mạnh khi giải quyết các bài toán kỹ
thuật đương thời, tuy nhiên nhu cầu tính tốn đã phát triển nhanh hơn tốc độ


8

phát triển của vi xử lý theo định luật Moore. Gần như ngay sau đó các ý tưởng
về tính tốn song song đã xuất hiện, tuy nhiên phải đến thập niên 90 thì các
ứng dụng tính tốn song song mới tỏ ra hiệu quả trên các siêu máy tính đắt
tiền của các hãng máy tính nổi tiếng như IBM hay HP. Đến thời điểm hiện
nay số lượng đèn điện tử tích hợp trong một chíp điện tử gần như bão hồ
(kích thước chíp điện tử đã đạt đến 60 nanomet và có khả năng khó phát triển

thêm thì các nhà cung cấp chíp bắt đầu xu hướng tích hợp nhiều lõi trong một
bộ xử lý như bộ xử lý Intel dual core hay AMD dual core. Rõ ràng ta thấy xu
hướng áp dụng tính tốn song song là xu hướng khó đảo ngược.
1.2 Trong vật lý và cơ học
Rất nhiều bài tốn vật lý hiện nay u cầu lượng tính tốn rất lớn, điển hình là
bài tốn mơ phỏng hệ nhiều vật trong không gian. Mỗi vật đều chịu tương tác
là lực hấp dẫn của các vật thể còn lại trong khơng gian. Do đó nếu có N vật
thì ta phải tính tới N 2 phép tính cho mỗi vật. Trong ngân hà có 10 11 ngơi sao,
P

P

P

P

giả sử mỗi phép tính chỉ tiêu tốn 1μs thì phải mất tới 10 9 năm để tính tốn. Đã
P

P

có những cơng trình nghiên cứu áp dụng tính tốn song song thành cơng và có
kết quả bước đầu về bài tốn này.
Đơn giản hơn, các bài tốn mơ phỏng rơ bốt có bậc tự do lớn hơn 6 cũng
u cầu lượng tính tốn lớn và để đảm bảo thời gian thực thì yêu cầu về tính
tốn song song là rất lớn.
Trong phương pháp số các bài tốn u cầu lượng tính tốn lớn như giải
hệ phương trình đại số tuyến tính cỡ lớn, giải hệ phương trình đại số phi
tuyến, giải phương trình vi phân tuyến tính và phi tuyến cũng rất cần ứng
dụng tính tốn song song.



9

Các bài toán về phương pháp phần tử hữu hạn hay phần tử biên cũng địi
hỏi lượng lớn tính tốn khi số phần tử trong bài toán lớn, làm cho số ẩn cần
giải quyết tăng theo.
Trên đây chỉ là những ứng dụng có thể áp dụng tính tốn song song theo
tầm hiểu biết của tác giả, còn rất nhiều ứng dụng khác nữa như trong cơng
nghệ nano, hố học, y tế, năng lượng, quân sự đều đòi hỏi kỹ thuật tính tốn
hiệu năng cao. Bằng chứng là sự phát triển của các siêu máy tính của các cơ
quan quốc phịng của Mỹ là rất mạnh mẽ. Sau đây là mô hình phát triển tính
tốn song song tại Mỹ.

Trung tâm nghiên cứu
quốc gia
Viện nghiên cứu lớn

Bộ phận
nhóm nghiên cứu
Hình 1.1.2: Hiệu năng tính tốn của các cấp độ trung tâm tính tốn song song

Trong đó
1 flops là một phép tính thực hiện trên một giây
- 1Teraflops ≈ 10 9 flops
P

P

- 1Petaflops ≈ 10 12 flops

P

P

Máy tính cá nhân mạnh hiện nay tính được khoảng 10 4 flops
P

P


10

CHƯƠNG 2
PHÂN TÍCH KHẢ NĂNG SONG SONG
TRONG DAO ĐỘNG CƯỠNG BỨC
KHƠNG CẢN CỦA HỆ n BẬC TỰ DO
Phương trình vi phân mô tả dao động cưỡng bức không cản của hệ nhiều bậc
tự do

 + Cq =
Mq
f (t)

(2.1)

Trong đó
- M là ma trận khối lượng
- C là ma trận độ cứng
M và C là các ma trận vuông cấp n có các phần tử là hằng số. Trong nhiều bài
tốn thực tế, chúng là các ma trận thực đối xứng.

2.1 Các véc tơ riêng và các ma trận dạng riêng
2.1.1 Các khái niệm
Xét dao động tự do không cản của hệ nhiều bậc tự do

 + Cq =
Mq
0

(2.2)

Nghiệm của phương trình (2.2) được tìm dưới dạng hàm điều hịa

=
q a sin (ω t + α )

(2.3)

Thế biểu thức (2.3) vào (2.2) sau đó đơn giản đi số hạng sin(ωt+α) ta thu
được phương trình

0
(C − ω M ) a =
2

(2.4)


11

Để cho phương trình đại số tuyến tính thuần nhất (2.4) có nghiệm khơng tầm

thường, điều kiện cần là

det ( C − ω 2M ) =
0

(2.5)

Phương trình (2.5) là phương trình đại số bậc n đối với ω 2 và được gọi là
P

P

phương trình đặc trưng.
Các nghiệm ω k (k = 1, …, n) của phương trình đặc trưng (2.5) được gọi là các
R

R

tần số riêng.
Thế n giá trị ω k (k = 1, …, n) lần lượt vào (2.5) ta thu được n phương trình
R

R

đại số tuyến tính thuần nhất. n nghiệm a k (k = 1, …, n) của n hệ phương trình
R

R

tuyến tính này sai khác nhau một hằng số nhân. Gọi n nghiệm a k (k = 1, …, n)

R

R

vừa tìm được là n véc tơ v k (k = 1, …, n).
R

R

v k = [ v1k , v1k ,..., v nk ]

T

(2.6)

v k là véc tơ riêng của hệ dao động và có ý nghĩa là dạng dao động riêng thứ k
R

R

của hệ dao động.
Sắp xếp n véc tơ v k thành n cột của ma trận V ta thu được
R

R

 v11
v
=
V [=

v1 , v 2 ,..., v n ]  21
 

 v n1

v12  v1n 
v 22  v 2n 

   

v n 2  v nn 

(2.7)

Ma trận V được gọi là ma trận dạng riêng của hệ dao động. Ý nghĩa của V
đơn giản là cho ta biết tất cả các dạng dao động riêng có thể của hệ dao động.
2.1.2 Tính chất trực giao của các véc tơ riêng
Nếu phương trình dao động tự do khơng cản của hệ n bậc tự do (2.2) có các
ma trận khối lượng M và ma trận độ cứng C là các ma trận thực đối xứng thì
các véc tơ riêng v k tương ứng với các tần số riêng ω k sẽ trực giao với ma trận
R

R

khối lượng M và ma trận độ cứng C.

R

R



12

 v Tj Mv i = 0 nÕu ωi ≠ ω j
 T
 v j Cv i = 0 nÕu ωi ≠ ω j

(2.8)

2.2 Phương pháp ma trận dạng riêng giải bài tốn dao động cưỡng bức
khơng cản của hệ nhiều bậc tự do
Phương pháp ma trận dạng riêng được áp dụng rộng rãi để giải bài toán dao
động cưỡng bức không cản của hệ nhiều bậc tự do. Phương pháp ma trận
dạng riêng cố gắng đưa phương trình dao động của cơ hệ (2.1) về một hệ
phương trình vi phân độc lập.
Đổi tọa độ

q = Vp

(2.9)

Trong đó
- V là ma trận dạng riêng của hệ (2.1)
- p được gọi là véc tơ các tọa độ chính của hệ (2.1)
Áp dụng phép biến đổi tọa độ (2.9) vào hệ (2.1) ta thu được hệ sau

 + CVp =
MVp
f (t)


(2.10)

Nhân bên trái của phương trình (2.10) với ma trận chuyển vị của ma trận dạng
riêng(V T ) ta có:
P

P

 + V TCVp =
V T MVp
V Tf ( t )

(2.11)

Các ma trận V T MV và V T CV theo (2.8) sẽ là các ma trận đường chéo có
P

P

P

P

dạng

V T MV

 µ1 0  0 
0 µ  0 
2

=

V TCV

   


 0 0  µn 

Vế phải có dạng một véc tơ

γ 1 0
0 γ
2

 

0 0

 0
 0
 (2.12)
 

 γn


13

 v11

v
T
V=
f ( t )  12


 v1n

v n1   f1 
vn 2  f2 
=
 
 
 
v nn  f n 

v 21
v 22
v 2n

 v1T 
 T
 v 2 =
f (t)
 
 T
 vn 

 v1Tf 
 T 

v2 f 
=
 
 T 
 vn f 

 h1 
h 
 2  (2.13)
 
 
h n 

với
T
=
h i v=
( i 1,2,...,n )
if

(2.14)

Thế các hệ thức (2.12) và (2.13) vào phương trình (2.11) ta thu được hệ n
phương trình vi phân độc lập như sau

=
( i 1,2,...,n )


µ=

hi
i pi + γ i pi

(2.15)

Các phương trình vi phân (2.15) là các phương trình vi phân cấp tuyến tính
cấp hai
2.3 Bài toán dao động cưỡng bức chịu cản Rayleigh của hệ nhiều bậc tự
do
Phương trình vi phân mơ tả dao động cưỡng bức có cản của hệ nhiều bậc tự
do

 + Bq + Cq =
Mq
f (t)

(2.16)

Trong đó B là ma trận cản của cơ hệ
Trong một số bài toán thực tế ma trận cản B thường được biểu diễn dưới dạng
ma trận cản Rayleigh

=
B αM + δ C

(2.17)

Trong đó α và δ là các hằng số, ma trận (2.17) được gọi là ma trận cản
Rayleigh. Khi đó các véc tơ riêng v k tương ứng với các tần số riêng ω k cũng
R


R

R

R

sẽ trực giao với ma trận cản B.

βi = v iT Bv i

(2.18)

Lặp lại tương tự như hệ dao động cưỡng bức không cản ta thu được hệ n
phương trình vi phân tuyến tính.


14


µipi + β=
hi
i pi + γ i pi

=
( i 1,2,...,n )

(2.19)

Khi xử lý các phương trình (2.15) và (2.19) trên máy tính, ta có thể sử dụng

phương pháp số để giải quyết. Thuật giải tuần tự cho các hệ phương trình này
là rất phổ biến nhưng ta nhận xét rằng các phương trình trên hệ (2.15) và
(2.19) là độc lập với nhau nên khi tính tốn song song ta có thể sử dụng kỹ
thuật ánh xạ bài toán thành các tiến trình độc lập để xử lý song song bài tốn
này. Mặt khác ta có thể song song hố thuật giải khi giải hệ phương trình vi
phân cấp hai bằng cách song song hoá thuật giải lặp đơn. Chi tiết của thuật
giải này được mô tả kỹ trong chương cuối.


15

CHƯƠNG 3
SƠ LƯỢC VỀ TÍNH TỐN SONG SONG
3.1 Các khái niệm cơ bản
3.1.1 Kiến trúc máy tính song song
a)

Máy tính cá nhân

Các máy tính cá nhân thơng dụng thường có cấu trúc gồm hai bộ phận chính
bộ xử lý và bộ nhớ. Bộ xử lý sẽ nhận các chỉ thị lệnh, các dữ liệu từ bộ nhớ,
sau khi tính tốn thì lại lưu lại bộ nhớ.

Bộ nhớ

Dữ liệu
Dịng lệnh

Bộ xử lý
Hình 3.1: Mơ hình máy tính cá nhân gồm một bộ xử lý và một bộ nhớ


Bộ nhớ của máy tính sử dụng một khơng gian địa chỉ. Một khơng gian
địa chỉ lưu trữ được 2 n địa chỉ từ 0 ÷ 2 n – 1. Trong đó n là số bit nhị phân
P

P

P

P

được sử dụng để lưu trữ không gian địa chỉ.


16

b)

Hai kiểu máy tính song song cơ bản

 Máy tính đa xử lý bộ nhớ chia sẻ

Các bộ nhớ thành phần
Một không gian
địa chỉ
Hệ thống mạng

Các bộ xử lý thành phần
Hình 3.2: Mơ hình máy tính song song bộ nhớ chia sẻ


Máy tính đa xử lý chia sẻ bộ nhớ mơ phỏng theo kiến trúc của máy tính
cá nhân bình thường. Các thành phần bộ nhớ tách rời nhau nhưng sử dụng chỉ
một không gian địa chỉ. Bất kỳ bộ xử lý nào cũng có thể truy cập vào bất kỳ
phần nào của bộ nhớ. Chính vì vậy ta gọi là máy tính chia sẻ bộ nhớ.
Máy tính lõi đơi và lõi tứ của Pentium là loại máy tính đặc trưng cho loại hình
máy tính song song này.
Các bộ xử lý thành phần

Các bộ nhớ thành phần

Hình 3.3: Sơ đồ đơn giản kiến trúc máy tính lõi đơi của Pentium


17

Bộ xử lý
Cache L1

Bộ xử lý
Cache L1

Bộ xử lý
Cache L1

Bộ xử lý
Cache L1

Cache L2

Cache L2


Cache L2

Cache L2

Ghép bus

Ghép bus

Ghép bus

Ghép bus

bus xử lý
bus bộ nhớ
Bộ điều khiển bộ nhớ

Vào ra

bus vào ra
Chia sẻ bộ nhớ

Bộ nhớ

Hình 3.4: Sơ đồ kiến trúc máy tính lõi tứ của Pentium

Máy tính lõi đơi (dual core) đã được sử dụng rộng rãi trong tính tốn 32
bít và 64 bít, máy tính lõi tứ (quad core) cũng sẽ được phổ cập chỉ trong một
hai năm nữa. Sử dụng các mơi trường lập trình song song trên nền các hệ
thống này đạt kết quả khá tốt. Đây là mơ hình đơn giản, chi phí thấp và đang

có xu hướng phát triển mạnh.
Máy tính lõi đơn và máy tính lõi tứ là các loại máy tính chia sẻ bộ nhớ
phổ dụng mà ta có thể tiếp xúc. Trên thực tế có rất nhiều loại máy tính chia sẻ
bộ nhớ với lượng bộ xử lý tích hợp và lượng bộ nhớ lớn, các máy tính chia sẻ
bộ nhớ có ưu điểm nổi bật là có sẵn hệ thống điều khiển phần cứng do nhà sản
xuất cung cấp và tốc độ truyền thông của hệ thống máy này là lớn do sử dụng
các bus địa chỉ để truyền thông chứ không sử các giao thức mạng thông
thường.


18

 Máy tính đa xử lý bộ nhớ phân tán

Thơng điệp

Hệ thống mạng

Bộ xử lý
Bộ nhớ
dịa phương
Các máy tính
Hình 3.5: Mơ hình máy tính song song bộ nhớ phân tán

Máy tính đa xử lý với bộ nhớ phân tán là loại máy tính song song rất phổ
biến, loại siêu máy tính này có giá thành rẻ hơn rất nhiều so với máy tính chia
sẻ bộ nhớ có cùng số lượng bộ xử lý vào bộ nhớ. Do đó loại máy tính phân
tán được sử dụng rất mạnh để nghiên cứu tính tốn song song. Ngồi ra hiệu
năng của chúng cũng rất cao trong những máy tính có mạng truyền thơng tốc
độ cao. Loại máy tính này cịn có ưu điểm là có thể nâng cấp các đời bộ xử lý

mới một cách đơn giản với số lượng ít sự biến đổi hệ thống.
Do tính linh hoạt và đa dạng của loại hình siêu máy tính này mà người sử
dụng phải tự xây dựng hệ thống quản lý phần cứng và các tiến trình giải quyết
trên các phần cứng đó.
Có nhiều hệ thống giúp ta phần nào công việc quản lý tiến trình trên hệ
thống máy này như PVM tuy nhiên khơng thể quản lý hết do đó người sử
dụng phải thâm nhập vào các hệ thống mã nguồn mở này để thay đổi nhằm
khai thác hiệu quả cấu hình hệ thống máy tính hiện có.


19

3.1.2 Kiến trúc mạng tĩnh
Các máy tính trong một hệ thống xử lý song song được kết nối với nhau bằng
các đường dẫn trực tiếp từ máy này sang máy khác theo các cấu trúc khác
nhau.

Máy tính

Hệ thống mạng liên
kết các máy tính

Hình 3.6: Hệ thống mạng kết nối từng cặp máy tính với nhau

Các liên kết này được phân bổ theo một mơ hình cho trước nhằm sử
dụng hiệu quả được các thuật giải truyền thơng qua đó giảm bớt thời gian
truyền thơng và giảm chi phí xây dựng hệ thống khi tiết kiệm được dây dẫn
cũng như diện tích của chúng.
Sau đây chúng ta sẽ tìm hiểu một vài hệ thống mạng thông dụng trong
các hệ thống phân tán.



20

- Hệ thống mạng dạng lưới hai chiều

Đường kết nối

Máy tính/
Bộ xử lý

Hình 3.7: Hệ thống mạng dạng lưới hai chiều

Mỗi một máy tính (hay bộ xử lý) được nối với nhau theo mơ hình một
mảng hai chiều. Quản lý dưới dạng này khá đơn giản nhưng chỉ sử dụng được
với một lớp các bài toán hai chiều là hiệu quả, các bài tốn ba chiều trở lên sử
dụng mơ hình này khá bất tiện.


21

- Hệ thống mạng lập phương:

Hình 3.8: Hệ thống mạng siêu lập phương ba chiều

Hệ thống mạng lập phương được sử dụng nhiều khi ánh xạ các bài toán
phân rã ba chiều. Ta sẽ xem xét lớp bài toán được phân rã theo miền để tìm
hiểu quá trình ánh xạ bài tốn vào các mạng phân tán

Hình 3.9: Phân rã theo miền cho bài tốn trong khơng gian ba chiều.


Bài tốn phân rã trong khơng gian ba chiều có thể đơn giản hiểu là mỗi
một máy tính thành phần (bộ xử lý) thực hiện một nhiệm vụ. Liên kết giữa
các nhiệm vụ tương tự liên kết giữa các máy tính trong mạng, lúc này việc
ánh xạ tỏ ra đơn giản và hiệu quả.


22

- Hệ thống mạng siêu lập phương bốn chiều

Hình 3.10: Hệ thống mạng siêu lập phương bốn chiều

Vậy các bài tốn sau khi phân rã các nhiệm vụ có số chiều lớn hơn ba thì
sao? Hoặc ta có thể ánh xạ trên các mơ hình mạng lưới hai chiều hay lập
phương ba chiều như trên, tuy nhiên cách này khá phức tạp do phát sinh các
phép toán trước khi truyền thơng cũng như tăng chi phí khi khơng thể truyền
trực tiếp trên các máy tính cần và cung cấp dữ liệu. Mơ hình siêu lập phương
được cung cấp nhằm giảm thiểu các q trình truyền dữ liệu thừa qua đó giảm
chi phí truyền thơng.
3.1.3 Mơ hình bó máy tính mơ phỏng hệ thống máy tính song song
Mơ hình bó máy tính để mơ phỏng hệ thống máy tính song song trở nên rất
phổ biến vì
- Người sử dụng có thể tiếp cận được với các tính năng ưu việt của tính tốn
hiệu năng cao với chi phí thấp hơn nhiều so với một cấu hình máy tính
song song thực.
- Các bộ xử lý đời mới có thể dễ dàng được cập nhật vào nền tảng hệ thống
bó máy tính hiện có để có thể nâng cấp hiệu năng tính tốn dễ dàng.



23

- Các phần mềm hiện đang sử dụng có thể kế thừa vì kiến trúc bó máy tính
gần như vẫn được giữ ngun.
Có hai mơ hình bó máy tính thơng dụng và hiệu quả được sử dụng hiện nay
được mô tả sơ lược theo bảng sau
Bảng 3.1: Một số hệ thống siêu máy tính giá rẻ hiện đang được sử dụng

Bó siêu máy tính có thành phần là các Bó siêu máy tính Beowulf
máy trạm
Máy trạm

Máy trạm

Máy trạm

Nút

Nút

Nút

Máy trạm

Máy trạm

Máy trạm

Nút


Nút

Nút

Máy trạm

Máy trạm

Máy trạm

Nút

Nút

Nút

Máy trạm

Máy trạm

Máy trạm

Nút

Nút

Nút

Máy trạm


Máy trạm

Máy trạm

Nút

Nút

Nút

Máy trạm

Máy trạm

Máy trạm

Nút

Nút

Nút

Máy trạm

Máy trạm

Máy trạm

Nút


Nút

Nút

Máy trạm

Máy trạm
Hạ tầng mạng

Máy trạm

Nút

Nút

Nút

Định
tuyến
Điều khiển

Điều khiển

Bó siêu máy tính

Điều khiển

Giao diện
máy trạm


Định tuyến

Nút chủ

Giao diện
máy trạm

Hình 3.11: Hệ thống mạng máy trạm

Thành phần của
Beowulf

Giao diện Beowulf

Hạ tầng mạng

Hình 3.12: Hệ thống máy tính Beowulf

Các hệ thống bó máy tính trên sử dụng mạng nội bộ tốc độ cao Gigabit để kết
nối các máy thành phần. Ngoài ưu điểm về tốc độ, các mạng này còn rất dễ
dàng trong việc cập nhật thêm các thành phần mới do đó rất dễ dàng trong việc
nâng cấp hệ thống.


24

3.2 Một số kỹ thuật áp dụng
3.2.1 Ánh xạ thành các tiến trình độc lập
Có hai mơ hình ánh xạ trên hai mơi trường PVM và MPI, các mơ hình này
khác nhau lớn nhất ở chỗ, mơ hình trên PVM có khả năng cấp phát động số

lượng các tiến trình cũng như quản lý, kết thúc các tiến trình trong bất cứ thời
điểm nào cịn trên mơi trường MPI thì khơng, các tiến trình (kể cả tiến trình
chủ) phải đồng thời được khởi tạo và đồng thời kết thúc.
Môi trường MPI
Tất cả các tiến trình
khởi động đồng thời

Dữ liệu khởi tạo

Các tiến trình thực hiện

Tiến trình chủ

Kết quả nhận được
Hình 3.13: Số lượng cố định các tiến trình độc lập trong


×