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.
Trang 1Ti u lu n môn 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
Trang 2Cá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 ớ ệ
Trang 31 Gi i thi u ớ ệ
Đồ họa Thời tiết
Quân sự Chứng khoán
Trang 4 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 ớ ệ
Trang 5 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
Trang 6 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
Trang 7 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
.
.
Trang 8 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
Trang 9 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
Trang 10 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
Trang 11 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 ụ
Trang 12 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 ể ị
Trang 13 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 ể ị
Trang 14 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 ậ ị
Trang 15 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 ậ ị
Trang 16 Á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 ờ ố
Trang 17 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ể ở ộ ấ ị
Trang 18 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ế ạ
Trang 19 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
http://www.cs.uncc.edu/~abw/parallel/par_prog /resources.htm
http://crd.lbl.gov/~dhbailey/cs267
http://wikipedia.org
Tài li u tham kh o ệ ả