TI U LU N MÔN H C
CÁC K THU T HI N Đ I TRONG CNTT
N i dung:
NG D NG L P TRÌNH SONG SONG GI I QUY T BÀI TOÁN
S P X P B NG PH NG PHÁP TR N (MERGE SORT) ƯƠ
Phú Th , tháng 05-2011
M C L C
TI U LU N MÔN H C .................................................................................. 1
CÁC K THU T HI N Đ I TRONG CNTT ............................................. 1
2
LI M Đ U
Trong nh ng năm g n đây, m c dù n n Công ngh thông tin
c a th gi i ngày m t phát tri n. T c đ x lí máy tính ngày càng ế
tăng lên. Tuy nhiên, chúng ta cũng g p ph i khó khăn trong m t s
bài toán có d li u đ u vào l n (bài toán d báo th i ti t, d báo ế
đ ng đ t, ). V i d li u đ u vào là m t con s r t l n, dù máy
tính có t c đ l n, b nh nhi u v n v p ph i yêu c u ph i gi i
quy t bài toán trong th i gian ch p nh n đ c.ế ượ
Trong nhi u năm qua, các nhà khoa h c đã nghĩ ra bi n pháp
gi n quy t hi u qu đó là chia nh bài toán ra thành nhi u bài ế
toán. Vi c gi i quy t các bài toán nh đ c ti n hành đ ng th i ế ượ ế
v i nhi u máy tính. K t qu c a bài toán l n s đ c gi i quy t ế ượ ế
khi t t c các bài toán nh đã đ c làm. ượ
Các máy tính ti n hành x lí song song đ c k t n i v i nhauế ượ ế
thành các c m tính toán t c đ cao.
3
N I DUNG
I.MÔ T GI I THU T SONG SONG
1. Gi i thi u
Hi n nay, đ gi i quy t các bài toán l n ng i ta th ng nghĩ đ n vi c ế ườ ườ ế
s d ng các siêu máy tính ho c vi c k t h p nhi u máy tính v i nhau đ tính ế
toán. Tuy nhiên, v i ph ng pháp l p trình c đi n thì không th nào phát ươ
tri n đ c ch ng trình có th t n d ng đ c s c m nh c a các h th ng ượ ươ ượ
đó. Đó chính là lý do l p trình song song ra đ i.
L p trình song song là m t công vi c r t ph c t p so v i l p trình tu n
t thông th ng, ng i phát tri n ph i th c hi n m t quá trình “song song ườ ườ
hóa”, bi n đ i các ch ng trình tu n t thành ch ng trình song song có khế ươ ươ
nănG t n d ng t i đa s c m nh c a h th ng.
2. Nguyên lý thi t k thu t toán song songế ế
2.1. Cách th c xây d ng m t ch ng trình song song và phân b ươ
Phát tri n thu t toán m t ph n quan tr ng trong vi c gi i quy t v n ế
đ khi s d ng máy tính . M t thu t toán song song m t ph ng pháp gi i ươ
quy t v n đ d a trên vi c s d ng nhi u b x . Tuy nhiên đ ch raế
đ c m t thu t toán song song không đ n gi n ch ra t ng b c c th , mà làượ ơ ướ
m t m c đ nào đó thu t toán song song ph i đ c them vào tính đ ng th i ượ
ng i thi t k ra thu t toán cũng ph i ch ra t p h p nh ng b c x ườ ế ế ướ
đ ng th i , đi u này s t n d ng đ c kh năng tính toán c a các máy tính ượ
song song. Trên th c t vi c thi t k ra m t thu t toán song song khá ế ế ế
ph c t p,g m các công vi c:
-Ch ra ph n c a công vi c có th th c thi đ ng th i
-Ánh x các ph n c a công vi c vào nhi u b x lý ch y song song
-Phân tán d li u nh p, xu t và trung gian cùng v i ch ng trình ươ
-Qu n lý truy c p vào d li u chung gi a các b x
-Đ ng b hóa các b x lý khi th c thi các ch ng trình song song ươ
2.2. Thi t k thu t toán song songế ế
4
Thu t toán song song là m t t p các ti n trình (process) ho c các tác v ế
(task) có th th c hi n đ ng th i và có th trao đ i d li u v i nhau đ k t ế
h p cùng gi i m t bài toán đ t ra.
Thi t k gi i thu t song song là chia bài toán thành các bài toán nh h nế ế ơ
và gán bài toán nh cho các b vi x lý khác nhau đ th c hi n song song.Quá
trình thi t k gi i thu t song song là quá trình song song hóa bài toán tu n t .ế ế
Nguyên lý c b n trong thi t k gi i thu t song song bao g m:ơ ế ế
2.2.1. Nguyên lý l p l ch:
Gi m t i thi u các b x lý s d ng trong thu t toán sao cho th i gian
tính toán là không tăng (xét theo khía c nh đ ph c t p). Nghĩa là, n u đ ế
ph c t p tính toán c a thu t toán là O(f(n)) thì th i gian th c hi n c a
ch ng trình có th tăng khi s b x lý gi m, và th i gian tính toán t ng thươ
tăng lên m t h ng s nào đó - nh ng v n là O(f(n)). ư
2.2.2. Nguyên lý hình ng:
Nguyên lý này đ c áp d ng khi bài toán xu t hi n m t dãy các thao tácượ
{T1, T2, . . ., Tn },trong đó Ti+1 th c hi n sau khi Ti k t thúc. ế
2.2.3. Nguyên lý chia đ tr :
T c là chia bài toán thành nh ng ph n nh h n t ng đ i đ c l p v i ơ ươ
nhau và gi i quy t chúng m t cách song song. T o ra m t mô hình cây phân ế
c p đ phân c p quá trình truy n thông và tính toán.
- Tăng tính song song so v i mô hình tr c ướ
- Th i gian ch y gi m t O(n) xu ng O(logn)
2.2.4. Nguyên lý đ th ph thu c d li u:
Phân tích m i quan h d li u trong tính toán đ xây d ng đ th ph
thu c d li u và d a vào đó đ xây d ng thu t toán song song.
2.2.5. Nguyên lý đi u ki n t ng tranh: ươ
N u hai ti n trình cùng mu n truy c p vào cùng m t m c d li u chiaế ế
s thì chúng ph i t ng tranh v i nhau, nghĩa là chúng có th c n tr l n ươ
nhau.
II. MÔ HÌNH L P TRÌNH TRUY N THÔNG ĐI P- CHU N MPI
1. Gi i thi u
5