Ti u lu n môn h cể ậ ọ
PHƯƠNG PHÁP NGHIÊN C U Ứ
KHOA H C TRONG TIN H CỌ Ọ
ỨNG DỤNG CÁC PHƯƠNG PHÁP SÁNG TẠO TRONG
THIẾT KẾ THUẬT TOÁN SONG SONG
Các bài toán trong th c t ngày càng khó khănự ế
◦
Kh i lư ng d li u c n tính toán tăng lênố ợ ữ ệ ầ
◦
Gi i thu t tính toán ngày càng ph c t pả ậ ứ ạ
◦
Th i gian th c thi đòi h i ngày càng ítờ ự ỏ
“
software
is getting
slower
more
rapidly
than
hardware
becomes
faster”
(Wirth's law)
1. Gi i thi uớ ệ
1. Gi i thi uớ ệ
Đồ họaThời tiết
Quân sựChứng khoán
T đó phát sinh tính toán song songừ
“
cách x lí thông tin b ng vi c s d ng nhi u hơn m t ử ằ ệ ử ụ ề ộ
b x lí đ th c hi n nhi u hơn m t thao tác trên d ộ ử ể ự ệ ề ộ ữ
li u t i m t th i đi m”ệ ạ ộ ờ ể
Tính toán song song c c bụ ộ
Tính toán phân tán
1. Gi i thi uớ ệ
Ki n trúc SISD (single ế Instruction stream,
single Data stream)
2. Hardware
Đơn vị điều
khiển
Bộ xử lí
số học
Bộ nhớ
Luồng
kết quả
Dòng
lệnh
Luồng
dữ liệu
Ki n trúc SIMD (single ế Instruction stream,
multiple Data stream)
2. Hardware
Đơn vị điều khiển
Phần tử
xử lí 1
Phần tử
xử lí 2
Phần tử
xử lí n
Ki n trúc MISD (multiple ế Instruction stream,
single Data stream)
2. Hardware
Đơn vị điều khiển1
Đơn vị điều khiển 2
Đơn vị điều khiển n
Phần tử xử lí 1
Phần tử xử lí 2
Phần tử xử lí n
Dòng lệnh 1
Dòng lệnh 2
Dòng lệnh n
.
.
.
.
.
.
Ki n trúc MIMD (multiple ế Instruction
stream, multiple Data stream)
2. Hardware
Đơn vị điều khiển1
Đơn vị điều khiển 2
Đơn vị điều khiển n
Phần tử xử lí 1
Phần tử xử lí 2
Phần tử xử lí n
Dòng lệnh 1
Dòng lệnh 2
Dòng lệnh n
.
.
.
.
.
.
Luồng dữ liệu 1
Luồng dữ liệu 2
Ph n c ng song song ch đư c t n d ng hi u ầ ứ ỉ ợ ậ ụ ệ
qu v i các thu t toán tính toán song song.ả ớ ậ
Thu t toán song song là m t t p các ti n ậ ộ ậ ế
trình ho c các tác v 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ế ợ ả ộ
◦
Song song hóa các thu t toán tu n t c đi nậ ầ ự ổ ể
◦
Thi t k thu t toán hoàn toàn m iế ế ậ ớ
3. Software
Các giai đo n thi t k thu t toán song songạ ế ế ậ
◦
Partitioning: Chia nh d li u và các thao tác tính ỏ ữ ệ
toán
◦
Communication: Thi t l p s ph i h p gi a các tác ế ậ ự ố ợ ữ
v qua cơ ch truy n thông thích h pụ ế ề ợ
◦
Agglomeration: K t h p các tác v đ cân b ng ế ợ ụ ể ằ
hi u năng và chi phíệ
◦
Mapping: Phân chia tác v cho các b x lí sao cho ụ ộ ử
t n d ng h t t i đa s c m nh c a chúngậ ụ ế ố ứ ạ ủ
3. Software
Các k thu t sáng t o thư ng áp d ng trong ỹ ậ ạ ờ ụ
thi t k thu t toán song songế ế ậ
Nguyên lí chia đ trể ị
Nguyên lí l p l chậ ị
Nguyên lí đư ng ngờ ố
Nguyên lí phát tri n nhân đôiể
…
4. Áp d ng TRIZụ
Bi n pháp thông d ng nh t đ gi i quy t v n ệ ụ ấ ể ả ế ấ
đề
Chia nh công vi c thành các ph n con đ c ỏ ệ ầ ộ
l p tương đ i, gi i quy t đ ng th i t ng v n ậ ố ả ế ồ ờ ừ ấ
đ nh , nh đó tăng hi u năng h th ngể ỏ ờ ệ ệ ố
Nguyên lí chia đ trể ị
Ví d : tính t ng trong m ng có n ph n tụ ổ ả ầ ử
Phân rã các ph n t thành n/log(n) nhóm, m i ầ ử ỗ
nhóm có log(n) ph n tầ ử
Chia m i nhóm cho m t b x lí, th i gian th c ỗ ộ ộ ử ờ ự
hi n là O(log(n))ệ
C ng k t qu thu đư c t m i b x lí, th i ộ ế ả ợ ừ ỗ ộ ử ờ
gian th c hi n là O(log(n/log(n))) ≡ O(log(n))ự ệ
Nguyên lí chia đ trể ị
Tìm cách gi m t i thi u các b x lí trong ả ố ể ộ ử
thu t toán mà không làm tăng th i gian tính ậ ờ
toán
Th i gian th c hi n c a chương trình có th ờ ự ệ ủ ể
tăng, nhưng đ ph c t p thì v n gi nguyênộ ứ ạ ẫ ữ
Nguyên lí l p l chậ ị
Ví d : tính t ng N s theo ki u cây nh phânụ ổ ố ể ị
Sau khi các b x lí tính toán xong tác v ộ ử ụ ở
node lá, l p l ch l i đ ti p t c tính toán các ậ ị ạ ể ế ụ ở
node t ng ti p theoầ ế
Nguyên lí l p l chậ ị
Áp d ng trong trư ng h p mu n th c hi n ụ ờ ợ ố ự ệ
m t dãy các thao tác theo trình t {P1, P2,…, ộ ự
Pn} trong đó m t s bư c c a Pi+1 có th ộ ố ớ ủ ể
th c hi n trư c khi Pi k t thúc.ự ệ ớ ế
Ph i h p v i nguyên lí l p l ch đ t n d ng ố ợ ớ ậ ị ể ậ ụ
hi u qu tài nguyên tính toánệ ả
Nguyên lí đư ng ngờ ố
T i m i bư c trong quá trình tính toán, m i ạ ỗ ớ ỗ
b x lí l i t nhân đôi s ph n t tính toán ộ ử ạ ự ố ầ ử
c a nóủ
Phát tri n m r ng theo c u trúc nh phânể ở ộ ấ ị
Nguyên lí phát tri n nhân đôiể
Ví d : Bài toán x p h ng (ranking) các ph n ụ ế ạ ầ
t trong danh sách liên k t đôiử ế
Ban đ u, m i node ch bi t node k c n nóầ ỗ ỉ ế ế ậ
Sau m i bư c, s node bi t đư c l i tăng lên ỗ ớ ố ế ợ ạ
g p đôiấ
Sau nhi u nh t là log(n) bư c, duy t h t ề ấ ớ ệ ế
danh sách x p h ngế ạ
Nguyên lí phát tri n nhân đôiể
Bài gi ng “Phương pháp lu n sáng t o khoa ả ậ ạ
h c”. GS.TSKH Hoàng Văn Ki m ọ ế
Phương pháp lu n sáng t o khoa h c – k thu t. ậ ạ ọ ỹ ậ
GS.TS Phan Dũng
Introduction to Parallel Computing, Second
Edition. Annath Grama, Anshul Gupta, George
Karypis, Vipin Kuma
/>/resources.htm
/>
Tài li u tham kh oệ ả