DAI HỌC QUOC GIA H À NỘI
K H O A ( ÔNC, N G H Ệ
NGUYỄN VIỆT ANH
XỬ LÝ SONG SONG TRÊN PVM
VÀ ỨNG DỰNG TRONG BÀI TOÁN BẢO MẬT THÔNG TIN
C HUYÊN NGÀNH:
C Ô N G N G H E T H Ô N G T IN
MÃ S ố : 1.01.10
LUẬN VĂN THẠC
■
•
s!
N G Ư Ờ I H Ư Ớ N G DẪN KHOA HỌC:
TSKH. PHẠM TRẰN NHU
V -L O / Z Z 1
HÀ NỘI -2003
M Ụ C LỤC
DANH MỤC CÁC TỪ VIẾT TẮT.
D A N H M Ụ C B Ả N G B IỂ U HÌNH V Ẽ
....................................................................................................................
4
M ớ Đ Â U ............. .......................................................................................................................... ............................................................ 5
C hư ơn g 1 T ổn g quan về
7
x ử lý s o n g s o n g ...........................
1 . 1 M á y t í n h s o n g s o n g ................... .................
.....................................................................................
1.2 P h â n l o ạ i m á y t í n h s o n g s o n g ......................................
1
.................................................................................. £
1.2.1 P h â n l o ạ i d ự a t r ê n c ơ c h ế đ i ề u k h i ể n c l m n g ................................................................................................8
a ) H ộ t h ố n g đ a x ử lý m ộ t d ò n g l ệ n h n h i ề u d ò n g d ữ
8
b) H ệ t h ố n g đ a x ử lý n h i ề u d ò n g l ệ n h n h i ề u d ò n g d ữ l i ệ u
..................9
1.2.2 C á c h p h â n l o ạ i d ự a t r ê n s ự t ư ơ n g t á c g i ữ a c á c B X L .
....................................................... 9
a) C h i a s è b ộ n h ớ c h u n g ................................................
......................................................................... JQ
..................................................................................J J
b ) T r u y ề n t h ô n g đ i ệ p ..... .................................................
1. 3 M ô h ì n h l ậ p t r ì n h s o n g s o n g .....................................
...........................................................................................I I
1.3.1 M ô h ì n h n h i ệ m v ụ - k c n l i l i ê n l ạ c .............................
12
..................................................................................................... ! í
a) T ố c đ ộ ..................... ............................... '
b ) T í n h đ ộ c l ậ p á n h x ạ ...............................................
I
c) T í n h m o d u l e .
d ) T í n h x á c đ ị n h ..........................................
14
1 . 3 . 2 M ô h ì n h c h i a SC b ộ n h ớ c h u n g .........................................
.............................................................................
1.4 H i ệ u n ă n g c ù a x ử lý s o n g s o n g .........7............................
14
.............................................................................
<5
..........................................................................
^
1.4.1 D ị n h l u ậ t A m d a h l ' s ........... ....................................
I
1.4.2 C â n b à n g t à i .....................................................
a ) C á c t h u ậ t t o á n c â n b ằ n g tài t ậ p t r u n g ...................................
](•’
b) C á c t h u ậ t t o á n c â n b à n g tài p h â n t á n h o à n l o à n ..............................
16
.
c) C á c t h u ậ t t o á n c â n b à n g tài p h â n t á n m ộ t n ử a ........................
17
d ) S ự b ế t ắ c ( D e a d l o c k ) ............................................... ...... ....................................................................................... I ý
C h ư ơ n g 2 S o n g s o n g h o á t hu ật t oá n t ự ................................ .
.
]<)
2.1 C á c c h i ê n l ư ợ c p h á t t r i ê n ứ n g d ụ n g s o n g s o n g ............
Ịọ
2. 1. 1 S o n g s o n g h o á t ự đ ộ n g ............ ....................... .................
............................................................................... ỊỌ
2 . 1 . 2 X â y d ự n g c á c t h ư v i ệ n s o n g s o n g ...............................
Ịọ
2 . 1.3 K ế t h ừ a c á c t h à n h p h ầ n c h í n h ....................................
2. 2 C á c b ư ớ c c ơ b à n s o n g s o n g h o á tl ni ật t o á n t u ầ n t ự
2. 2. 1 P h â n r ã .................................................
20
21
a) K ỹ t h u ậ t p h â n r ã t h e o m i ề n ...................................
21
b ) K ỹ t h u ậ t p h â n rã c h ứ c n ă n g ...........................................
22
c) T i ê u c h u â n đánli giá giai đ o ạ n p h â n
2 . 2 . 2 T r u y ề n t h ô n g ....... .. ..............................
r ã ..........................
23
......................................................................................................... 2 1
a ) T r u y ề n t h ô n g c ụ c b ộ .........................................................
........................................................................2 <5
......................................................................... 2C
b ) T r u y ề n t h ô n g t o à n c ụ c .............................................
c ) 1 r u y ề n t h ô n g đ ộ n g và k h ô n g c ó c ấ u t r ú c ...................................
27
d ) T r u y ề n t h ô n g k h ô n g d ồ n g b ọ .................................................
27
e) T i ê u c h u ẩ n đ á n h gia thiết kế t r u y ề n t h ô n g
ló
2 . 2 . 3 T ồ n g h ợ p .................................................................
29
a ) T ă n g k í c h t h ư ớ c n h i ệ m v ụ .......................................
3Q
b ) B à o đ ả m t í n h m ề m d e o ....................................
21
c ) G i ả m c h i p h í x â y d ự n g p h ầ n m ề m .................................... '
d ) T i ê u c h u ẩ n đ á n h g i á g i a i đ o a n t ổ n g h ợ p ..............
2.2.4 Ánh xạ..............................
>s r * '
1-i
I
.
.1
........
2.3 Các chicn lược thict ké .........................................
2.3.1 S o n g s o n g h o á k ế í q u á .................................................. .
2 . 3 . 2 S o n g s o n g h o n d ạ i d i ệ n ........................................................
....
'
.......... 31
ỳ)
.....
..........................
.......
.........
„
............................................................................. Y I
.................................................................. 3 g
7
2.3.3
S o n g s o n g h o á c h u y ê n b i ệ t ...........................................................................................
39
2 . 3 . 4 P h â n l ớ p c á c b à i t o á n á p d ụ n g c h i ế n l ư ợ c t h i ế t k ế ..................................................................................41
a) S o s á n h b a c h i ế n l ư ợ c t h i ế t k ể .......................................................................................
41
b ) P h â n l ớ p c á c b à i t o á n ........................................................................................................
41
2.4 Môi
t r ư ờ n g l ậ p t r i n h s o n g s o n g ..............................................................................................
43
2. 4. 1 M ộ t s ố m ô i t r ư ờ n g l ậ p t r ì n h p h ổ b i ế n ............................................................................................................ 4 3
a) M P I ( M e s s a g e P a s s i n g I n t e r f a c e ) .................................................................................................
b)
43
P V M ( P a r a l l e l V i r t u a l M a c h i n e ) ..........................................................................................................
44
c) S o s á n h g i ữ a M P I và P V M ................................................................................................................................ 4 4
2 . 4 . 2 M á y à o sone, s o n g ( P V M ) ........................................................................................................
45
a) K h á i q u á t c h u n g .....................................................................................................
45
b ) M ộ t s ố d ặ c đ i ể m c ù a P V M ....................................................................................................
46
c ) M ộ t s ố t h à n h p h ầ n c ù a P V M ..........................................................................................
46
d) N g u y ê n l ý h o ạ t đ ộ n g .............................................................................................................................................. 4 g
e ) M ộ t s ố m ô h ì n h á p d ụ n g t r o n g c á c ứ n g d ụ n g t r ê n P V M ......................................................................5 0
C h ư o ì i g 3 B à i t o á n b ả o m ậ t t h ô n g ( i n .............................................................................
SI
3.1 B à i t o á n m ã h o á t r o n g b à o m ậ t t h ô n g t i n ............................................................................................................... 51
3. 1. 1 B à i t o á n ....................................................................................................................................
51
3 . 1 . 2 M ộ t s ố h ệ m ã p h ổ b i ế n .............................................................................................................
52
a) H ệ m ã c h u ẩ n D E S ( D a t a E n c r y p t i o n S t a n d a r d ) ...................................................................................... 5 2
b ) H ệ m ã c ô n g k h a i ..................................................................................................................
52
3 . 2 T h u ậ t t o á n m ã h o á c ô n g k h a i R S A ......................................................................
53
3. 2. 1 T h u ậ t t o á n .......................................................................................................
53
3 . 2 . 2 Q u y t r ì n h m ã h o á v à gi ả i m ã v ớ i h ệ m ã R S A .............................................................................................53
a)T ạokho
b)
á ..............................................................................................................
53
M ã h o á t ệ p t i n ...................................................................................................
54
c ) G i ã i m ã t ệ p t i n ...............................................................................................
54
3 . 2 . 3 S o n g s o n g h o á t h u ậ t t o á n t ì m s ố n g u y ê n t ố ................................................................................................. 55
3. 3 T h ử n g h i ệ m .................................................................................................................
55
3 . 3 . 1 C à i đ ã t t h u ậ t t o á n t ì m s ổ t h e o h a c h i ế n l ư ợ c t h i ế t k ế ............................................................................. 5 5
a ) S o n g s o n g h o á k ế t q u à .............................................................................................................................................. 5 5
b) S o n g s o n g l i oá dại d i ệ n .......................................................................................................
c) S o n g s o n g h o n c h u y ê n b i ệ t ..........................................................................................................................
3 . 3 . 2 T h ử n g h i ệ m , đ á n h g i á k ế t q u ả .......................................................................................................................
56
57
58
a) T h ử n g h i ệ m ..................................... ...............................................................................................
58
b ) K ế t q u à ( h ử n g h i ệ m ......................................................................................................................
58
c) Đ á n h g i á , n h ậ n x c t ...............................................................................................................
3 . 3 . 3 C h ư ơ n g t r ì n h m ã h o á v ă n b à n v ớ i k l i o á R S A ......................
59
59
K É T L U Ậ N ........... ............................................. ...................................... .
T Ả I I.ĨỆŨ TI IA M
P H Ụ L Ụ C ......................... . . ^ . . . . . . . . . . . . . . Z Z Z Z Z Z Z Z [ " Z Z Z Z Z [ Z ' " Z Z Z Z Z Z Z Z Z m
6!
DANH MỤ C CÁC T Ừ VIÉT TẮT
Viêt tăt
BX L
PVM
TID
RSA
MPI
SIMD
M IM D
T iê ng Viêt
Bộ x ử lý
Máy ảo song song
Định danh nhiệm vụ
Ticng Anh
Processor
Parallel Virtual Machine
Task Identifier
Rivert Shamir Adle man
Message Passing Interface
Single Intruction Multiple Data
Multi Intruction Multiple Data
4
DANH MỤC BẢNG BIÉƯ HÌNH VẼ
B à n g 1 M ố i q u a n h ệ g i ữ a ti ến t r ì n h v à
n h i ệ m v ụ ...........................................................................................................41
B á n g 2 C ấ u t r ú c c l u r ơ n g t r i n h ..................................................................................................................................................... 41
B à n g 3 So sánh m ộ t số tính n ă n g giữ a
P V M v à MPI ......................................................................................................4 5
H ì n h 1-1 H ệ t h ố n g m ộ t d ò n g l ệ n h n h i ề u d ò n g d ữ
l i ệu ( S I M D ) ..................................................................................9
H ỉ n h 1-2 H ệ t h ố n g n h i ề u d ò n g l ệ n h n h i ề u d ò n g d ữ l i ệu ( M I M D ) ...........................................................................9
H ì n h 1-3
M á y t í n h s o n g s o n g c h i a s ẻ b ộ n h ớ c h u n g ..................................................................................................10
H ì n h 1-4 M á y t í n h s o n g s o n g c ó b ộ n h ớ p h â n t á n ...................................................................................................... 11
H ì n h 1-5
S ự p h ụ t h u ộ c t h ờ i g i a n v à o s ố l ư ợ n g B X L c ù a đ ị n h l u ậ t A m d a h l ................................................. 15
H ì n h 1- 6 B X L P|( k ế t k h ố i đ ể g ử i X c h o Pj vì v ù n g đ ệ m c ủ a Pj đ ầ y ..................................................................18
H ì n h 2-1 S o n g s o n g h o á t ự đ ộ n g ................................................................................................................................................. 19
I í ì n h 2 - 2 X â y d ự n g c á c t l nr v i ệ n s o n g s o n g .........................................................................................................................2 0
H ì n h 2 - 3 S ử d ụ n g lại c á c t h à n h p h ầ n c h í n h .........................................................................................................................2 0
H ì n h 2 - 4 M ỗ i n h i ệ m v ụ đ ả m n h ậ n c ô n g v i ệ c tại đ i ể m l ư ớ i v à t r u y ề n t h ô n g v ớ i 4 lân c ậ n c ù a n ó .. 2 6
H ì n h 2- 5 M ỗ i t i ế n t r ì n h x ử lý m ộ t p h ầ n v i ệ c c ù a k ế t q u à ............................................................................................37
H ì n h 2 - 6 C á c t i ế n t r ì n h t h ự c h i ệ n s o n g s o n g t ừ n g c ô n g v i ệ c t h à n h p h ầ n ........................................................... 3 8
H ì n h 2 - 7 C ấ u t r ú c c ủ a T I D .............................................................................................................................................................4 7
H i n h 3-1 S ơ đ ồ k h ố i t h u ậ t t o á n t ạ o k h o á h ệ R S A .....................................................................................................
54
H ì n h 3-2 M ỗ i tiến trình “ đ à m đ ư ơ n g ” m ộ t n h i ệ m
v ụ ....................................................................................................5 6
] l ì n h 3- 3 N h i ề u t i ế n t r ì n h đ à m n h ậ n n h i ề u n h i ệ m
v ụ ............................................................................................... 5 6
H ì n h 3- 4 M ố i t i ế n t r ì n h d á m n h ậ n c h u y ê n b i ệ t k i ể m t r a m ộ t s ố n g u y ê n t ố ..................................................... 57
H ì n h 3- 5 K ế t q u à tliir n g h i ệ m c h i ế n l ư ợ c v ớ i s ố l ư ợ n g c á c B X L k h á c n h a u ................................................. 5 9
H ì n h 3 - 6 G i a o d i ệ n c h í n h c ù a c h ư ơ n g t r ì n h ......................................................................................................................... 6 7
H ì n h 3 - 7 T ạ o k h o á v ớ i 11= 1 2 3 4 ................................................................................................................................................ 6 7
H ì n h 3 - 8 T ệ p till d ù n g đ ể m ã h o á ...............................................................................................................................................6 9
H ì n h 3 - 9 T ệ p till đ ã đ ư ợ c m ã h o á v ớ i c ặ p k h o á ( e , n ) .....................................................................................................6 0
5
M Ở ĐÀU
Sự phát triển khoa học kỹ thuật thường dược thách thức bởi lớp bài toán lớn
cần phải giải quyết trong mọi lĩnh vực của đời sổng xã hội như dự báo thời tiết, khai
phá dữ liệu, xử lý ảnh, trí tuệ nhân tạo. an toàn dữ liệu, tự động hoá
V. . V.
Lớp các
bài toán này vừa đòi hỏi đáp ứng thời gian thực vừa yêu cầu xử lý trên khối lượng
dữ liệu không lô. Việc giải quyết lớp các bài toán này thườ ng đòi hỏi phải sử dụng
các bộ xử lý có hiệu năng cao.
Máy tính song song ra đời để đáp ứng đòi hỏi đó và x ử lý song song ra đời dựa
trên các máy tính loại này. Theo [14], [17] xử lý song song là thao tác xử lý thông
tin đồng thời trên các phần tử dữ liệu thuộc một hay nhiều tiến trình để giải quyết
một vấn đề nào đó. Máy tính song song đơn giản là một tập hợp các B X L (thường
là cùng kiểu) cỏ mối liên hệ với nhau theo một cách thức nhất định có khả năng xử
lý song song.
Xử lý song song phát triển với mục đích làm tăng khà năng tính toán của máy
tính băng cách kết hợp nhiều bộ xử lý tham gia vào quá trình tính toán thay vì sử
dụng các máy tính chuyên dụng đắt tiền.
Các xu hướn g VC ứng dụng, kiến trúc máy tính và m ạ n g cho thấy rằng trong
tương lai cơ chế song song sẽ được sir dụng không chỉ trong các sicii máy tính mà
ngay ca trong các trạm làm việc, máy tính cá nhân và mạ ng máy tính. Khi đó các
chương trình phải tận dụng được không những các B X L trcn cùng một máy tính mà
còn cả các BXL khác có thể sử dụng được trcn mạng. D o phần lớn các giải thuật
hiện nay là các giải thuật tuần tự nên cần có những giải thuật và cấu trúc dữ liệu
mới cho phép nhiều thao tác dược thực hiện đồng thời. Bởi vậy khả năng chạy dồng
thời đang trờ thành một trong những đòi hỏi cơ bản của các phần mềm.
Xử lý song song ngày càng thể hiện rõ sức mạnh của mình trong việc giải
quyết nhiều lớp bài toán và trong các ứng dụng cụ thể. Các bài toán về an toàn dữ
liệu cũng là một trong các ứng dụng đó.
Nhir chung ía bict an toàn và bào mật dữ liệu đã được quan tâm từ rốt sớm
Gần (tây với sự phát triển cùa mạng toàn cầu Internet, ván (lồ an toàn và bảo mật (lữ
liệu được đặt ra càng cấp bách hơn và nhu cầu ứng dụng xử lý song song trong lĩnh
6
vực này do cũng vậy cũng tăng lên.
Trong khuôn khổ luận văn “Xử lý song song trên P V M và ứng dụng trong bài
toán bảo mật thông tin” chúng tôi nghiên cứu, áp dụng xử lý song song làm tăng
hiệu quà thuật toán mã hoá công khai RSA - một trong thuật toán mà hoá phổ biến.
Luận văn dược trình bày trong ba chương:
Ch ươn g 1: Tổng quan về xử lý song song: trình bày tồng quan các khái niệm,
các mô hình má y tính, mô hình lập trình, vấn đề hiệu năng của xử lý song song. Các
vân đề được trình bày trong chương này là nền tảng cho các nghiên cứu của chúng
tôi trong suốt quá trình thực hiện đề tài.
Chương 2: Song song hoá thuật toán tuần tự: trình bày các bước cơ bản dể
song song hoá thuật toán tuần tự, từ những các bước cơ bản này tập trung nghicn
cứu một số bước quan trọng, nghicn cứu một số chiến lược thiết kế song song phổ
biến cùng với môi trường lập trinh song song Parallel Virtual Machine (PVM) để
tiến hành thử nghiệm bài toán. Thông qua thử nghiệm, cũng nh ư một số nghicn cứu
của các nhà khoa học khác, chúng tôi mạnh dạn đề xuất sự phân lớp các bài toán
dựa trcn tập dữ liệu kết quà dể sử dụng chiến lược thiết kể phù hợp.
C hư ơng 3: Bài toán hảo mật thông tin: Chún g tôi đề cập đến bài toán bảo mật
thông tin và tập trung vào bài toán mã lioá công khai RSA. Trong bài toán mã hoá
RSA chúng chúng tôi áp dụng xử lý song song giải thuật tìm số nguyên tố - là một
bước quan trọng trong giải thuật RSA. Chúng tôi tiến hành thử nghiệm cài đặt áp
dụng các chiến lược thiết kế đã trình bày trong chương 2. Từ kết quả thừ nghiệm,
tiến hành so sánh và chọn một giải pháp song song hoá tói ưu nhất để xây dựng
chương trình mã hoá tệp văn bản.
Phân kết luận, tóm tắt các vấn đề dã trinh bày trong các chương cũng như kết
quả đạt được. Ngoài ra phần két luận cũng chỉ ra một số vấn đề chưa được giải
quyêt thâu đáo trong quá trình thực hiện đc tài và hướng nghiên cứu trong tương lai
của chúng tôi.
7
Chương 1 Tổng quan về xử lý song song
1.1 Máy tính song song
Tốc độ của chiếc máy tính nhanh nhất dã tăng theo hàm mũ kể từ năm 1945
cho đen nay với tỷ lệ (rung bình là 10 lần trong 5 năm. Sự tăng trưởng này SC vẫn
tiếp diễn, do đã có sự thay đổi quan trọng trong kiến trúc máy tính là sự thay đổi từ
kiến trúc tuần tự sang kiến trúc song song nhàm duy trì được tốc độ tăng này.
Tốc độ của máy tính phụ thuộc vào thời gian cần thiết để thực hiện một thao
tác cơ bản và số iượng các thao tác cơ bản có thể được thực hiện đồng thời. Rõ ràng
là thời gian thực hiện một thao tác cơ bản sẽ bị giới hạn bởi chu kỳ đồng hồ của
BXL, nghĩa là thời gian để thực hiện thao tác nguycn tổ nhất. Tuy nhiên thời gian
cùa một chu ki đồng hồ đang giảm đi rất chậm và dườn g như sắp tiếp cận tới giới
hạn vật lý. Do vậy không thể dựa trên nhữ ng B X L nhanh hơn để làm tăng tốc độ
tính toán.
N ha m vượt qua những giới hạn này các nhà thiết kế đã sử dụng khả năng tính
toán song song trong một con chip, chẳng hạn tiến hành tính toán đồng thời trên cả
64 bit trong thao tác nhân hai số. Tuy nhiên một kết quả trong lý thuyết về dộ phức
tạp VLSI (Very Large Scale Inlergration) [14],[24] cho thấy ràng chiến lược này đòi
hỏi chi phí rất cao. Kct quả này được phát hiểu như sau: Với các tính toán truyền
dẫn (là các lính toán trong dó bất kì đầu ra nào cũng phụ thuộc vào tất cả đầu vào)
thì thời gian T dể một chip có diện tích A giải quyết một bài toán phải thoả mãn
điều kiện [AxT2J > f(N) (Í'(N) là một hàm phụ thuộc vào kích thước vấn đề, và N là
kích thước của vấn dề).
T ừ kết quả trên có thổ thấy việc xây dựng các thành phàn (Component) ricng
rẽ chạy nhanh hơn khônẹ những là nít khó khăn mà việc thực hiện diều (ló cũng
không kinh tế. Thay vào đó việc sử dụng dồng thời nhiều thành p h ầ n có tốc độ
chậm hơn có the SC rẻ hơn.
N h ữ n g nhà thiết kế máy tính cỏ thổ sử dụng nhiều kỹ thuật khác nhau để vượt
qua giới hạn này và làm tàng tốc độ một máy tính đơn như cơ chế pipeline, hay sir
dụng nhiều đơn vị tỉnh toán (Multi function units). Một xu hư ớn g nữa là các nhà
thiết kế sử dụng nhiều máy lính mà mỗi máy trong số chúng có BXL, bộ nhớ ricng
8
rẽ và được kêt nôi theo một logic nào đó. Cách tiếp cận này ngày càng trở ncn dễ
thực hiện hơn hời các kỹ thuật VLSI cho phép làm giảm số lượng thành phần cần
thiết cho một máy tính. Do giá cùa một máy tính tỷ lệ với sổ thành phần mà nó có
ncn khả năng tích hợp cho phép tăng số lượng B X L có trên một máy tính với cùng
giá như cu. Kêt quà là số lượng BX L trên một máy tính ngày càng tăng lên.
Sô lượng B X L trên một máy tính đang tiếp tục tăng và hiện tại trong một số
môi trường tỷ lệ tăng đang là hai lần trong một hoặc hai năm. Do đó các ứng dụng
có thể được sử dụng trên các máy tính có số lượng BX L ngày càng tăng trong vòng
đời cua chúng. Bởi vậy khả năng m ở rộng (scalability) (khả năng phần mề m tận
dụng được nhiều nhất các B X L có thể sử dụng) trờ thành một thuộc tính quan trọng
cho phép chuyển đổi và bảo vệ chi phí đầu tư cho ứng dụng.
1.2 Phân loại máy tính song song
Theo Flynn [14] phân loại kiến trúc máy tính dựa vào hai khái niệm dòng lệnh
(instruction stream) và dòng dữ liệu (data stream). Một dòng lệnh là một chuỗi các
lệnh được thực hiện hởi một máy tính. Một dòng dữ liệu là chuỗi dữ liệu được xử lý
bời một dòng lệnh. Dựa trcn hai ticu chí này, máy tính được phân loại dựa trên cơ
chê điều khiển chung. Ngoài ra một số cách phân loại máy tính khác dựa trcn sự
tương tác giữa các BXL, kiêu và sô lượng các BX L và việc thực hiện xử lý là đồng
bộ hay không đồng bộ [4],
1.2.1 Phân loại (lựa trên cơ chế diều khiển chung
Phân lớn các máy tính song song thường có một cơ chế điều khiển chung song
vân đề đặt ra ở dây là các hoạt dộng của máy lính dược điều khiển ở mức độ nào.
Xc m việc điêu khiên theo hai khái cạnh khác nhau, một khía cạnh, cơ chế điều
khiển chung chỉ được sử dụng để nạp chương trình và dữ liệu vào các B X L còn sau
đó các B X L hoạt động độc lập. Khía cạnh khác, cơ chế điều khiển được sử dụng để
hướn g dẫn cho các BXL các công việc phái làm tại mỗi bước. Giữa hai khía cạnh
này là những cơ chế điều khiển trung gian. Hai loại cơ chế điều khiển phổ biến nhất
!à
a) H ệ tliổng đa x ử lý một (lòng lệnh nhiều dòng (lữ liệu
Các m áy tính véc-tơ thuộc vào loại này, Mỗi máy tính véc-tơ có thể thực hiện
9
một dòng lệnh, tuy nhiên nỏ có nhiều BXL số học khác nhau mà mỗi B XL này có
khả năng nạp và xử lý dữ liệu ricng của nó. Bởi vậy trong hất kỳ thời điểm nào một
thao tác luôn ờ cùng trạng thái thực thi trên nhiều đơn vị xử lý mà mỗi trong sổ
chúng có the xử lý dữ liệu riêng rẽ. Một ví dụ là chiếc máy C M - 200
IIìiili 1-1 llộ (hống một dòng lệnh nhiều (lòng dữ liệu (SI1MD)
b) Hệ tliông đa x ử lý nhiêu (lòng lệnh nhiều dòng dí7' liệu
Phần lớn các máy tính da xử lý hiện nay đều thuộc vào loại này. Trong các
máy tính loại này nhiêu dòng lệnh có thể dược thực hiện cùn g mội lúc và mỗi dòng
lệnh có thê xử lý clữ liệu ricng biệt. Các máy tính M I M D ban đầu có rất ít tương lác
giữa các C PU song hiện nay phần lớn các máy tính đều đượ c thiết kế cho phép
tương tác giữa các C P U được thực hiện một cách hiệu quả. Có thể liệt kc một số
máy tính M I M D như Symmetry, TC2000, nCƯBE2, Paragon XP/S và Connection
Machine CM-5.
Hình 1-2 Hộ thống nhiều (lòng lộnli nhiều dòng ch! liệu ( M I M D )
1.2.2 Cách phân loại dựa trên sự tương tác giữa các BXL
Một trong những khía cạnh quan trọng cun các máy tính song song là vơ ché
trao đổi thông tin giữa các BXĨ., lĩai kiến trúc phổ biến là kiến trúc chia xẻ bộ nhớ
(shared memory) và kiên true truyền thông điệp (message passing).
10
a) Chìa sẻ bộ nhỏ' chung
Sử dụng một bộ nhớ chia sẻ toàn cục (global shared memory) mà tất cà các
BXL đều có thể truy nhập đến. Một B X L có thể trao đổi với một B XL khác bằng
cách ghi vào bộ nhớ toàn cục và BXL thứ hai sẽ đọc tại cùng vị trí đó trong bộ nhớ.
Điêu này cho phép giải quyết vắn đề trao đổi thông tin giữa các BXL, tuy nhiên lại
dẫn đến vấn đề về việc truy nhập dồng thời các vị trí khác nhau trong bộ nhớ bởi
nhiêu BXL. Có 2 cách tiếp cận chù yếu để xử lý vấn đề truy nhập bộ nhớ
là
sử dụng
hệ thống chuyển mạch (switching systems) hoặc các B X L truy nhập bộ nhớ thông
qua bus hệ thống.
Đối với các hộ thống truy nhập bộ nhớ thông qua bus chung, việc thiết ké
tương dối đan giản, song nếu có nhiều BXL thì bus có thể trở thành nút cổ chai khi
có nhiều B XL cùng truy nhập bộ nhở. Bởi vậy số lượng B X L trong các hệ thống
nay thường tương dôi nhỏ và cao nhất là vào khoảng vài chục B X L
Nhăm tránh các nut cổ chai khi truy nhập bộ nhớ, các nhà thiết kế sử dụng hộ
thông chuyển mạch để cung cấp nhiều dường truy nhập vào bộ nhớ toàn cục. Trong
những hộ thống này các BXL dược nối vào bộ nhở thông qua một hoặc nhiều lớp
chuyên mạch. Mặc dù cung cáp băng thông lớn hơn các hệ thống sử dụng bus song
khi có nhiều truy nhập đến bộ nhớ cùng sử dụng một chuyển mạch thì tốc độ truy
nhập cũng sẽ giám đi rắt nhiều. Một khó khăn nữa của việc sử dụng hệ thống
chuyên mạch là thời gian truy nhập bộ nhớ sẽ cao và k hôn g đồng bộ. Tuy nhiên
việc sử dụng kiến trúc này khiến cho việc thiết kế giải thuật trở nên đơn giản và ở
mức cao hơn bởi hệ thống được xử lý như là tất cả các B X L đều được nối trực tiếp
với nhau.
Hình 1-3 Máy lính song song chia
SẺ
bộ nhó chung
b) Truyền thông điệp
Ngược lại với với các máy tính chia xẻ bộ nhớ chu ng là các máy tính song
song có bộ nhớ phân tán trong đó không tồn tại bộ nh ớ chia sẻ chung mà mỗi BXL
có bộ nhớ cục bộ riêng của chúng. Với kiến trúc nh ư vậy việc m ở rộng các máy tính
có bộ nhớ phân tán trở nên đơn giản hơn rất nhiều. Kết quả là các nhà thiết kế có thể
dưa ra các hệ thống có tới hàng nghìn BXL mà không phải thay đổi nhiều trong cấu
trúc thiết kế. Tro ng các máy tính song song có hộ nh ớ phân tán các B X L liên lạc với
nhau băng các thông điệp (message) qua một m ạ ng liên kết (interconnection
network) gồm các liên kết truyền thông trực tiếp giữa một số cặp BXL. Một trong
những lựa chọn quan trọng trong thiết kế lúc đó sẽ là các cặp BXL nào được nối với
nhau. Tốc độ licn lạc là tối ưu khi các BXL được nối trực tiếp với nhau tuy nhiên
điều này thường là không khả thi do số lượng các liên kết là quá lớn đẫn đến việc
tăng giá thành của hệ thống. Cách thứ hai đưực sử dụng là các B X L liên lạc thông
qua một bus chia sẻ, điều này thường dẫn đến độ trễ cao khi số lượng BXL lớn do
vấn đồ tranh chap bus.
Hình 1-4 Máy tính song song cỏ hộ nhó phân tán
1.3 Mô hình lập trình song song
Việc dưa ra một mỏ hỉnh máy tính chung cho việc lập trình giúp cho việc thiết
kế giải thuật trờ nên dơn giàn hơn. Lập trình tuần tự đã có m ô hình truyền thống là
mô hình Vo nN eum an. Lập trình song song dưa thêm những khó khăn mới vào mô
hình lập trình tuần tự. Nếu chương trình được thực hiện ở m ứ c thấp nhất thì không
những số lệnh thực hiện là rắt lớn mà nó còn phải quàn lý trực liếp quá trình thực
12
hiện song song của hàng ngàn BXL và kết hợp hà ng triệu tương tác liên BXL. Bời
vậy khả năng trừu tượng và tính module là các đặc tính rất quan trọng trong lập
trình song song.
Vậy mức độ trừu tượng nào sẽ phù hợp với m ô hình lập trình song song. Rõ
ràng là mô hỉnh này cần cho phép đánh giá cụ thể về khả năng thực hiện đồng thời
cũng như tính cục bộ để cho phép phát triển các c hư ơn g trình có khả năng m ở rộng
và có tính module. Mô hình đó cũng cần phải đơn giản và phù hợp với mô hình kiến
trúc của máy tính song song.
Dưới đây chủng tôi trình bày hai mô hình đáp ứng được các yêu cầu nêu trên
là nhiệm vụ - kênh liên lạc (Task - channel) và mô hình chia sẻ bộ nhớ chung.
1.3.1 M ô hình nhiệm vụ - kênlí liên lạc
Mô hình nhiệm vụ/kênh licn lạc [15] có thế được lỏm tắt như sau:
❖ Một công việc tính toán song song hao gồm một hoặc nhiều nhiệm vụ.
Các nhiệm vụ có thể được thực hiện đồng thời, s ố lượng nhiệm vụ có
the thay đổi trong thời gian thực thi c hươ ng trình.
❖ Mồi nhiệm vụ là một chương trình tuần tự và có bộ nhớ cục bộ (có the
coi đó là một máy Vo nN eum an ào). Một tập các cổng vào và cổng ra
(ĩnports and oulports) được định nghĩa như giao diện của nó với môi
trường.
❖ Một nhiệm vụ có thẻ thực hiện 4 thao tác cơ bản ngoại trừ việc dọc và
ghi vào bộ nhớ cục hộ, dó là: gửi thông điệp tới các cổng ra, nhận thông
điệp từ các cổng vào, tạo ra nhiệm vụ mới và kết thúc viêc thực thi
c hư ơng trình.
❖ Thao tác gửi dữ liệu là không đồng bộ (nó dược hoàn thành ngay lập
tức). Thao tác nhận dữ liệu là đồng bộ theo nghĩa là nó khiến cho việc
thực thi của nhiệm vụ phải dừng lại cho đến khi nhận được thông diệp.
❖ Các cặp cổng vào/cổng ra cố thể được nối bởi một hàng thông điệp dược
gọi là một kcnh licn lạc. Các kcnh liên lạc có the được lạo ra lioặe xoa
di.
13
•> Các nhiệm vụ được ánh xạ vào các BXL vật lý theo nhiều cơ chế khác
nhau, cơ chế ánh xạ được sử dụng không làm ảnh hưởng tới ngữ nghĩa
của chươ ng trình. Có thể có nhiều nhiệm vụ được ánh xạ lên một B X L
Đặc điểm của mô hình nhiệm vụ - kênh
liên lạc
a) Tốc độ
Các khái niệm trừu tượng về lập trình tuần tự trong m ô hỉnh như khái niệm thù
tục và cấu trúc dữ liệu là hiệu quả bởi chúng có thể đượ c ánh xạ trực tiếp và đơn
giàn lên chiếc máy tính VonNeuman. Các khái niệm về nhiệm vụ và kênh liên lạc
cũng có thể được ánh xạ trực tiếp lên mô hình máy tính song song. Một nhiệm vụ
đại diện cho một đoạn mã được thực hiện tuần tự trên một BXL. Nếu hai nhiệm vụ
licn lạc với nhau qua một kcnh chung được ánh xạ lcn các B X L khác nhau thỉ kênh
liên lạc giữa chúng được thể hiện như truyền thông liên BXL, nếu chúng được ánh
xạ lẻn cùng một B X L thì một cơ chế hiệu quả hơn có thể được sử dụng.
b) Tỉnh độc lập ánh xạ
Trong mô hình trên các nhiệm vu tương tác với nhau sử dụng cùng một cơ
chế là kcnh licn lạc không tính đến vị trí cùa nhiệm vụ. Do đó kết quà đưa ra hởi
chương trình không phụ thuộc vào vị trí nhiệm vụ thực thi. Bởi vậy việc thiết kế các
giải thuật song song có thể được thực hiện mà không cần tính đến số lượng BX1,
trong thực tê. r h ô n g thường các thiết kế đều đưa đến sổ lượng nhiệm vụ tạo ra lớn
hơn sô lượng B X L có, khi đó việc đạt dược khả năng m ở rộng (scalability) là tương
đôi rõ ràng. Việc tạo ra nhiêu nhiệm vụ hơn số B X L cũng cho phép giảm bớt chi
phí truyền thông hởi khi một nhiệm vụ đang truy nhập dữ liệu ở xa thì một nhiệm
vụ khác có thể đang thực hiện công việc tính toán.
c) Tính m odule
Khi thiêt kê một chương trình có tính module, nhiều thành phần của chương
trinh có thể được phát triển như các module độc lập và sau đó đưc kết hợp lại để tạo
thành chương trình. Các module có thể được thay đổi mà không cần thay đổi các
thành phần khác. Các dặc tính của chương trình có thể đượ c xác định lừ các đặc tả
về các module và các mã lệnh nổi các module. Việc áp đụ ng có hiệu quả các thiết
kế module sẽ giúp giảm bớt độ phức tạp cùa chương trinh cũn g n hư cho phép tái sử
dụng các đoạn mà.
14
Khái niệm mội nhiệm vụ trong mô hình nhiệm vụ /kênh liên lạc phù hợp một
cách tự nhiên với một module trong quá trình thiết kế. Một nhiệm vụ ở đây bao gồm
cả dừ liệu và mã lệnh thao tác trên dữ liệu này, các cổn g m à nó gửi và nhận thông
điệp tạo nên giao diện của nó. Bởi vậy các ưu điểm của thiết kế module có thể được
áp dụng trực tiếp trong mô hình nhiệm vụ/kênh liên lạc.
Gi ưa mô hình n h i ệ m vụ/kênh liên l ạ c và c á c thuật n g ữ lập trinh hướng đối
tượng cũng có nhiêu điểm giống nhau. Các nhiệm vụ cũng giốn g như các đổi tượng
bao bọc dữ liệu và mã của nhiệm vụ thao tác trên dữ liệu đó. Sự khác biệt giữa
chúng là mô hình nhiệm vụ/kênh licn lạc cung cấp khả năng thực hiện đồng thời sử
dụng các kênh liên lạc chứ không phải các phươ ng thức để thực hiện các tương tác
và không hỗ trợ khả năng thừa kế.
d) Tính xác định
Một giải thuật hay một chương trình được coi là xác định nếu như sự thực thi
với một dữ liệu vào riêng biệt luôn đưa ra một két quả duy nhất. Nếu giải thuật là
khong xác đinh thì các lân thực thi khác nhau của ch ươn g trình sẽ đưa ra những kết
quà khác nhau. Mặc dù tính không xác định đôi khi là hữu ích và được hồ trợ việc
hỗ trợ tính xác định của chương trình trên mô hình lập trình song song giúp cho việc
viet chương trình trở ncn dê dàng hơn nhiêu. Một ch ươ ng trình xác định sẽ (lỗ hiểu
và dễ kiểm tra tính đúng đắn hơn,
Trong mô hình nhiệm vụ/kcnh liên lạc mỗi kênh có một nhiệm vụ gửi và một
nhiệm vụ nhận, nhiệm vụ ycu cầu dữ liệu phải ngừng thực thi cho đến khi có thông
diệp tới giúp cho việc đảm bảo tính xác định của chương trình.
1.3.2 Mô hình chia sẻ bộ nhớ chung
Trong mô hình bộ nhớ chung [ 15] các nhiệm vụ cùng chia xẻ một không gian
địa chỉ chung có thể được truy nhập đọc ghi theo ph ư ơ n g thức không dồng bộ. Các
cơ chê khác nhau n h ư khoá (Locks) và semaphore
được sử dụng để
điều khiển
việc truy nhập tới bộ nhớ chung. Xct theo quan điểm của lập trình viên thì ưu điểm
của m ô hình nảy là không có khái niệm sờ hữu (lữ liệu, nghĩa là không phải chỉ định
rỗ ràng quá trình truyền dữ liệu giữa nhiệm vụ gửi và nhiệm vụ nhận dữ liệu. Tính
chất này giúp cho việc phát triền chương trình dơn gián hơn. Tuy nhicn khi dó việc
hiểu và đảm hào lính cục hộ trờ nôn khó khăn và cũng dược chú ý nhiều nhắt trong
15
phần lớn các kiến trúc chia xẻ hộ nhớ chung. Việc viết các chươ ng trinh xác định
cũng trờ nên khó khăn.
1.4 Hiệu năng cùa xử lý song song
Trong phấn này chúng tôi trinh bày một số vấn đề liên quan đến hiệu năng cùa
xử lý song song bao gồm: k h ỉ năng tăng tốc độ lính toán, việc cân bằng tài (Load
balancing) và sự bế tắc (Deadlock).
1.4.1 Định luật A m dahl's
Trong nhiều ứng dụng thực tế đòi hòi thời gian thực, vấn đề cần giải quyết có
kích thước cố định, do đó khối lượng công việc phải làm cũng tlurờng xác định
được trước. Định luật (lo Amdahl [91 phát biểu (1967) nhàm đánh giá hiệu năng cùa
VICC tinh toán cho các bai toán thuộc dạng này
Khi tăng số lượng BXL trong hệ (hống máy song song, khói lượng công việc
đư ạ c phân phối cho nhiều BXL thực hiện. Mục tiêu chính là tìm được kết quả cùa
bài nhanh nhắt có thể hay nói một cách khác là giảm đến m ứ c tối đa thời gian tính
toán.
Định luật Amdahl: Gọi f là phần nhỏ của (hao tác tính toán trong quá trình tính
toán phải thực hiện một cách tuần tụ. 0 < f < 1. Tốc độ tối đa s có thể đạt được bằng
cách Sừ dụng máy tính song song với p BXL dược cho bởi côn g thức:
s < —— —?— ——
. / + 0 ~ /)/?
Thời gian cho phần việc xử lý song song của ứng dụng sẽ giảm dần đến 0 khi
ta tăng sổ lượng BXL. Thời gian cho phần việc xử lý tuần tự luôn là hàng số.
p-l
P--2
!>=4
llìnli 1-5 S ụ phụ thuộc thời ginn v à n số lirợng 11X1, của định luật Amdahl
16
1.4.2 Cân bằng tái
Ciià sử răng nếu dữ liệu được phân tán trên các bộ nhớ địa phư ơn g của các
BXL trong hệ thống nhiều máy tính, khi đó khối lượng công việc của các B X L cần
phải được phân phôi hợp lý trong suôt quá trình tính toán. Tro ng nhiều trường hợp
giả sử này là đúng, tuy nhiên trong thực tế điều không phải lúc nào cũng thực hiện
được. Giải pháp dược đưa ra ở đây là cân bằng tải động nhằm mục đích làm thay
đổi sự phân phối khối lượng công việc giữa các B X L trong quá trình thực hiện tính
toán.
ỉ hông thườ ng sau khi phân phối khối lượng công việc cho mồi BXL, quá trình
cân bàng tải động thực hiện bốn bước cơ bản dưới đây: Giá m sát hiệu năng của mỗi
BXL, trao dôi thông tin trạng thái giữa các BXL, tính toán và ra quyết định phân
phối lại khối lượng công việc và cuối cùng là thực hiện viêc chuyển đổi dữ liệu thực
De thực hiện điều này rất nhiều thuật toán để thực hiện cân bàng tải động dược
đê xuât. í heo kêt quà Znati ct al [14] phân lớp các thuật toán này theo chiến lược
tập trung, phân tán hoàn toàn (Fully distributed) và phân tán một nửa (Scmi distributed).
a) Các thuật toán cân bằng tải tập trung
Nh ằm đưa ra quyết định có tính chất tổng thể trong việc phân phối lại khối
lượng công việc cần thực hiện cho các RXL. Một vài thuật toán trong lớp này sử
dụng thông tin hệ thông có tính toàn cục đổ lưu trạng thái của các máy ricng biệt
trong hệ thống. T hô ng tin này sẽ cho phép thuật toán phân phối công việc cho các
BXL một cách dễ dàng. Tuy nhiên khối lượng thông tin tăng theo tỷ lệ thuận với số
lượng các BXL, do đó đòi hỏi khối lượng lớn hộ nhớ trên m ột B X L để lưu thông tin
trạng thái. Vỉ vậy các thuật toán thuộc lớp này không được tiếp cận một cách rộng
h) Cúc thuật toán cân bằng tải phân tản hoàn toàn
Trong chiên lược này, môi B X L có một bàn sao về thông tin trạng thái của hệ
thông. Các B X L trao đổi thông tin trạng thái với nhau và sử dụng các thông tin này
dể làm thay đổi một cách cục bộ việc phân chia công việc. Tu y nhicn các B XL chỉ
có thông tin trạng thái cục hộ ncn việc cân hẩng tải không tốt bằng các thuật toán
17
cân băng tải tập trung.
c) Cúc thuật toán cân bằng tải phân tán m ột nửa
Các thuật toán thuộc lớp này chia các BXL thành từng miền. Trong mỗi miền
sử dụng thuật toán cân bằng tải tập trung để phân phối côn g việc cho các BXL
thuộc miền đó.
ả) S ự bế tắc (Deadlock)
Các tiến trình xử lý bị rơi vào tình trạng bế tấc [14] nếu mỗi tiến trình đó nắm
giữ tài nguyên mà một vài tiến trình khác đang yêu cầu để x ử lý.
Lý do tiềm ẩn tồn tại sự bế tắc là do nhiều liến trình cùng sử dụng nguồn tài
nguyên chung mà không có sự kiểm soát tốt. Sự bế tắc tồn tại trong các các hệ điều
hành đa nhiệm, cũng như các hệ thống đa BXL và đa máy tính.
Đổi với các hệ thống da máy tính, một trong các sự bế tắc phổ biến là bế lắc
vùng đệm (Buffer deadlock) - xảy ra khi một tiến trinh đợi một thông điệp mà thông
điệp này có thể không bao giờ nhận được do vùng đệm hệ thống dã đày .
Xem xét hệ thống đa máy tính với các B X L xử lý kh ông đồng bộ. B X L Pj gửi
thông diệp cho BX L khác Pj không kết khối cho tới khi có thao tác đọc thông điệp
đó. Mặt khác khi B X L Pj gửi thông điệp cho BXL Pj, nội dung của thòng điệp được
lưu trong vùng độp của hộ thống cho đến khi B XL Pj nhận và đọc thông điệp. Giả
sử rang trong cùng một thời điểm có nhiều B X L cùng gửi thông điệp đến BXL Pj và
điều này sẽ làm cho vùng đệm bị đầy. Việc gửi các thông điệp tiếp theo chỉ thực
hiện được khi B X L Pj đọc một hay nhiều thông điệp.
Giả sử B X L p k là một trong các B XL có khả năng gửi thông điệp đến BXL Pj.
Neu B X L Pj cố gắng đọc thông điệp do BXL p k gửi đến, nó sẽ bị kết khối cho đến
khi nội dung thông điệp có trong vùng đệm. Rõ ràng B X L p k bị kết khối cho đến
khi BXL Pj loại bỏ một hay nhiều thông điệp từ vùng đệm, và như vậy B XL Pị và p k
rơi vào sự bế tác.
ỊTRUW5TÀM ĨHG-:; ĨIN ' :L"
■
!
i
Nr
V: LO/
1
IX
Hình 1-6 B X L p k kết khối để gùi X cho Pj vì vùng đệm của Pj đầy.
Pj
không thể để nhận được X. Pj và p k roi vào s ự bế (ắc
Theo kết quà nghiên cứu cùa Coffman và Denning, bốn điều kiện dưới đây là
nguyên nhân gây ra sự bể tác.
1
Sự loại trừ lẫn nhau: Mỗi tiến trình có sự độc quyền trong việc sử dụng
tài nguyên cùa nó
2
K hô ng có sự ưu tiên: Mỗi tiếp trinh không bao giờ giải phóng tài
nguycn mà tiến trình đó đang chiếm giữ cho đến tận khi không còn sử
dụng chúng nữa.
3
Sự chờ đợi tài nguyên: Mỗi tiến trình dang chiếm giữ tài nguyên trong
khi lại chờ đợi các tiến trình khác giải phóng chúng.
4
Sự chờ đợi giữa các tiến trình: Tiến trình đợi tài nguyên mà tiến trình kế
ticp dang chiêm giữ mà tài nguyên dỏ không dượ c giải phóng.
M ột so cách khắc phục sự bế tắc
Cách tiêp cận thứ nhất là dò tìm sự bế tắc khi chúng xảy ra và cố gắng khôi
phục lại. Một cách khác dể
tránh
sự bế tắc thông qua sử d ụng các thông tin yêu cầu
lài nguycn của các tiến trình để điều khiển sự phân phối để khi tiếp tục phân phối
các tài nguyên không là nguyên nhân dổ các tiến trình rơi vào sir bế tắc. Cách tiếp
cận thứ ba đê tránh sự bê tăc là ngăn câm không để xảy ra ba điều kiện nêu sau cùng
trong bốn điều kiện nêu trên.
19
Chương 2 Song song hoá thuật toán tự
2.1 Cac chiên lược phát triển ứng dụng song song
Một câu hỏi được đặt ra khi phát triển ứng dụng song song là sự lựa chọn giữa
việc chuyên đôi từ một ứng đụng tuần tự đã có sẵn hay là xây dựng một ứng dụng
song song từ ban đầu. í rong khuôn khổ luận văn, chúng tôi chỉ tập trung vào việc
phát triển ứng dụng song song dựa trên ứng dụng tuần tự [15] đã có sẵn.
Có ba chiên lược thông dụng phổ biến để tạo ra ứng dụng song song là song
song hoá tự động, sử dụng các thư viện song song và lưu lại các thành phần chính
của chương trinh tuân tự. Sau đây chúng tôi trình bày khái quát về các chiến lược
này.
2. L ĩ Song song hoó tự động
Mục đích của chiến lược này là giúp dỡ người lập trình thực hiện các nhiệm
vụ một cách song song. Bộ hiên dịch có thể chấp nhận các đoạn mã lệnh và thực
hiện song song hoá chúng một cách hiệu quà mà không cần người lập trình bỏ công
sưc. I uy nhiên, dicii nay là rất khó trờ thành hiện thực vì khó xây dựng công nghệ
cho
bộ
biên dịch.
Existing
Source C ode
M i n o r C ' od e
Automatic
-------- ►
Modification
Parallel
w■
Parallelization
Application
Hình 2-1 Song song hoá (ụ động
2.1.2 X ây (ỉiptg các th ư viện song song
Y
tương cua phương pháp này là xây các đoạn mã lệnh song song được sử
dung lại nhiều lần trong một số ứng dụng thành các thư viện để có thể dùng nó xây
dựng ưng dụng khác một cách dễ dàng. I hư viện này có thổ được hình thành theo
hai cách, cách thứ nhất bao gói (Encapsulate) các cấu trúc điều khiển của các lớp
dối tượng trong ứng đụng, cách thứ hai tiến hành cài đặt song song một số thuật
toán cốt lõi cùa các thủ tục.
- Xem thêm -