Các mơ hình th ut tốn song song

Một phần của tài liệu Luận văn: Nghiên cứu tính toán lưới và thử nghiệm một số thuật toán lý thuyết đồ thị pdf (Trang 48 - 138)

Sau khi tìm hi u v các k thu t phân ho ch, ánh x và gi m thi u t i đa t n s t ng tác, bây gi chúng ta s gi i thi u m t vài mơ hình thu t tốn song song hay đ c s d ng. M t mơ hình thu t tốn là m t cách th c tiêu bi u nh m c u trúc hĩa l i m t thu t tốn song song b ng cách l a ch n ra m t k thu t phân ho ch và ánh x và áp d ng k ho ch thích h p

đ t i u vi c t ng tác.

2.4.4.1. Mơ hình d li u song song

ây là m t trong nh ng mơ hình thu t tốn đ n gi n nh t, các tác v đ c ánh x t nh hay bán t nh vào trong các ti n trình và t ng tác v s th c hi n cùng m t thao tác trên các d li u khác nhau. Lo i song song mà cĩ các ch th t ng t nhau đ c áp d ng đ ng th i lên các d li u khác lo i nhau đ c g i là lo i song song d li u (data parallelism). Cơng vi c cĩ th đ c th c hi n t ng b c và d li u thao tác trên các b c khác nhau cĩ th khác nhau. B i vì t t c các tác v đ u cùng th c thi các ch th gi ng nhau, nên ph ng pháp phân ho ch đ c s d ng đây là phân ho ch theo d li u do m t ph ng pháp phân ho ch th ng nh t theo sau là cách th c ánh x t nh là đ kh n ng đ đ m b o cân b ng t i.

Nh ng thu t tốn song song v d li u cĩ th đ c áp d ng cho c mơ hình chia s khơng gian b nh và truy n thơng đi p.

T ng tác trong mơ hình này cĩ th làm gi m thi u t i đa b ng cách áp d ng các cách th c phân h ach riêng bi t c c b , và n u cĩ th thì b ng cách ch ng l p các phép tính và các t ng tác ho c c ng cĩ th b ng

các v n đ song song d li u là trong h u h t các v n đ , m c đ song song c a d li u s gia t ng cùng v i kích th c c a v n đ , đi u này làm t ng kh n ng gi i quy t các v n đ l n h n b ng cách gia t ng s l ng b x lý đ c s d ng.

2.4.4.2. Mơ hình đ th tác v

Nh đã nĩi trên, các phép tính tốn trong b t k thu t tốn song song nào c ng cĩ th đ c bi u di n theo đ th ph thu c tác v . Nĩ cĩ th

đ n gi n nh trong bài tốn nhân ma tr n hay cĩ th r t ph c t p. Tuy nhiên, trong nh ng thu t tốn song song c th nào đĩ, đ th ph thu c tác v c ng th hi n cách ánh x vào trong các ti n trình. Trong mơ hình đ th tác v , m i t ng giao gi a các tác v đ c s d ng đ gia t ng tính c c b hay làm gi m đi chi phí t ng tác. Mơ hình này v c b n đ c s d ng

đ gi i quy t nh ng v n đ mà trong đĩ d li u đi theo các tác v là khá l n so v i n i dung tính tốn. Thơng th ng thì các tác v đ c ánh x t nh nh m giúp t i u chi phí cho vi c di chuy n gi a chúng.

Các k thu t làm gi m t ng tác cĩ th áp d ng cho mơ hình này là gi m kích th c d li u và t n s t ng tác b ng cách gia t ng s d ng d li u c c b , và s d ng các ph ng pháp t ng tác b t đ ng b đ thay t ng tác b ng các phép tính cĩ l i.

2.4.4.3. Mơ hình Work Pool

Cách th c ánh x t nh các tác v vào trong các ti n trình nh m cân b ng t i là m t tính ch t tiêu bi u c a mơ hình work pool hay task pool, mà trong

đĩ nĩ cĩ th đ c th c hi n b i b t k ti n trình nào.

Trong mơ hình truy n thơng đi p, mơ hình work pool v c b n th ng

đ c s d ng khi kh i l ng d li u đi theo các tác v là khá nh so v i n i dung tính tốn c a chúng.

cĩ th c tính đ c kích th c c a các tác v đĩ hay n u ph ng pháp ánh x ng u nhiên cĩ th th c hi n cơng vi c cân b ng t i. Trong ng c nh khác các tác v cĩ th đ c gán nh ng ph n nh h n c a cơng vi c t i các th i

đi m khác nhau. Thơng th ng ng i ta s d ng cách th hai n u ti n trình chính khơng m t quá nhi u th i gian đ phát sinh cơng vi c khi n các ti n trình con ph i ch đ i. Trong nhi u tr ng h p các cơng vi c cĩ th theo nhi u b c, và cơng vi c trong m i b c ph i đ c th c hi n xong tr c khi cơng vi c c a b c ti p theo đ c phát sinh. i v i nh ng tr ng h p nh v y, thì ti n trình chính yêu c u các ti n trình con ph i th c hi n đ ng b sau m i b c. Mơ hình manager-worker cĩ th đ c th hi n theo c u trúc phân nhánh hay mơ hình manager-worker nhi u t ng mà trong đĩ manager c p cao h n s truy n xu ng các cơng vi c cho manager c p d i, c th ti p t c phân chia cho các worker th c hi n cơng vi c c a mình.

Mơ hình này nhìn chung thích h p cho mơ hình l p trình chia s khơng gian b nh và truy n thơng đi p vì th ng các t ng tác là theo 2 chi u, ngh a là ti n trình chính bi t mình ph i phân ph i cơng vi c cịn ti n trình con thì bi t mình ph i l y gì t ti n trình ch .

Trong khi s d ng mơ hình master-slave, c n ph i c n th n đ

b o đ m sao cho t i ti n trình ch khơng x y ra hi n t ng “c chai“, đi u này cĩ th x y ra n u các tác v đ c th c thi là quá nh (hay các ti n trình con làm vi c quá nhanh).

2.4.4.5. Mơ hình dây chuy n (pipeline) hay Producer-

Consumer

Trong mơ hình dây chuy n, m t dịng tin đ c truy n qua m t dãy liên ti p các ti n trình, t ng ti n trình s th c hi n m t vài tác v trên

đĩ. Quá trình th c thi đ ng th i các ch ng trình khác nhau trên m t dịng tin đ c g i là song song theo dịng (stream parallelism). Ngo i tr ti n trình kh i t o đ ng ng, các d li u m i t i s kích ho t m t ti n trình

ng nh v y theo d ng tuy n tính hay m ng nhi u h ng, cây, hay các đ

th thơng th ng cĩ hay khơng cĩ vịng. M t đ ng ng (pipeline) là m t chu i c a các producer và consumer. T ng ti n trình trong đ ng ng cĩ th đ c xem nh là ng i tiêu th cho m t dãy các ph n t d li u c a ti n trình tr c đĩ và c ng là ng i s n xu t d li u cho ti n trình ti p theo trong đ ng ng. ng ng khơng nh t thi t là m t chu i tuy n tính, mà nĩ cĩ th là m t đ th cĩ h ng. Mơ hình đ ng ng th ng s d ng ánh x t nh các tác v vào trong các ti n trình.

2.4.4.6. Mơ hình lai

Trong m t vài tr ng h p, cĩ th áp d ng nhi u h n m t mơ hình cho m t v n đ , d n đ n t o ra mơ hình thu t tốn lai. M t mơ hình lai cĩ th đ c k t h p t nhi u mơ hình áp d ng theo d ng phân nhánh hay t nhi u mơ hình áp d ng tu n t cho các b c khác nhau c a m t thu t tốn song song. Trong nhi u tr ng h p, m t d ng bi u di n c a thu t tốn cĩ th cĩ nhi u tính ch t c a nhi u h n m t mơ hình thu t tốn. Ví d nh là m t phép tính chính cĩ th đ c th hi n thành m t đ th tác v , nh ng m i nút c a đ th cĩ th là m t tác v cha đ c k t h p t nhi u tác v con thích h p cho mơ hình song song d li u hay dây chuy n. Thu t tốn Quicksort song song là m t trong nh ng áp d ng c a mơ hình lai.

Ch ng 3. Các mơi tr ng h tr tính tốn l i (adsbygoogle = window.adsbygoogle || []).push({});

3.1. Gi i thi u

M c tiêu chính c a l p trình Grid là nghiên c u v các mơ hình l p trình, các cơng c và các ph ng pháp nh m h tr cho vi c phát tri n hi u qu các thu t tốn và các ch ng trình hi u n ng cao trên mơi tr ng l i. L p trình l i yêu c u các k n ng và tính ch t cao h n so v i l p trình tu n t , và th m chí là l p trình song song và phân tán. Bên c nh vi c s p x p các thao tác

đ n gi n trên nh ng c u trúc d li u riêng, hay s p x p các thao tác ph c t p trên nh ng c u trúc d li u chia s hay phân tán, m t l p trình viên tính tốn l i c n ph i đ m nhi m luơn vi c qu n lý tính tốn trên mơi tr ng. Bên c nh vi c ch th c hi n các thao tác đ n gi n, ng i l p trình l i c ng ph i thi t k t ng tác gi a nh ng d ch v t xa, ngu n d li u và tài nguyên ph n c ng. M c dù ng i ta cĩ th xây d ng các ng d ng Grid v i các cơng c l p trình hi n t i, nh ng ng i ta v n đang đ ng lịng nh t trí v i nhau r ng hi n nay chúng v n khơng đáp ng hi u qu đ h tr cho vi c xây d ng mã ngu n Grid.

Các ng d ng l i th ng cĩ xu h ng đ ng và khơng đ ng nh t, b i vì chúng s ch y trên các lo i ngu n tài nguyên khác nhau v i c u hình thay đ i khi th c thi. Nh ng c u hình đ ng này cĩ th đ c thúc đ y b i s thay đ i c a mơi tr ng, ví d nh thay đ i hi u n ng hay l i c a ph n c ng, v.v…B t k nguyên nhân gì thì li u m t mơ hình hay m t cơng c l p trình nào đĩ cĩ th làm cho các ngu n tài nguyên “h n t p” y tr nên “g n g i” v i nh ng ng i l p trình hay khơng? che d u các khác bi t đĩ trong khi v n cho phép ng i l p trình quy n đi u khi n trên các lo i tài nguyên n u cĩ th ? Nh ng n u cĩ m t s tr u t ng thích h p đ c s d ng thì li u nĩ cĩ đ c h tr , cung c p b i các h th ng th i gian th c?

Grid th ng đ c s d ng cho tính tốn hi u n ng cao v i quy mơ l n.

th th c hi n đi u này b ng cách qu n lý tính tốn, thơng tin, và d li u c c b s d ng truy n thơng đi p (message passing) hay g i yêu c u các ph ng th c t xa (remote method invocation - RMI).

gi i quy t các v n đ này, chúng ta ph i bi t đ c r ng các mơ hình l p trình hi n nay đang thi u nh ng gì, c n thêm nh ng kh n ng m i gì, và nĩ s đ c th c thi m c ngơn ng , m c cơng c hay h th ng th i gian th c nào. Thu t ng mơ hình l p trình đây đ c s d ng khơng ch liên quan đ n ngơn ng l p trình. M t mơ hình l p trình cĩ th đ c th hi n theo nhi u d ng khác nhau, ví d nh m t ngơn ng , m t th vi n API, hay đ n thu n ch là m t cơng c cĩ các ch c n ng m r ng. M t mơ hình l p trình thành cơng nh t là mơ hình cĩ hi u n ng cao, s k t h p và qu n lý linh ho t các ngu n tài nguyên. Các mơ hình l p trình c ng ph i nh h ng đ n tồn b chu trình phát tri n ph n m m : thi t k , cài đ t, ki m l i, v n hành, duy trì, v.v…Vì th nh ng mơ hình thành cơng c ng ph i đáp ng vi c s d ng hi u qu t t c các lo i cơng c phát tri n, ví d nh là trình biên d ch, trình s a l i, trình theo dõi hi u n ng…

Tr c tiên ta s tìm hi u các v n đ chính khi l p trình l i, sau đĩ chúng ta s tìm hi u m t vài mơ hình l p trình ph bi n đang đ c s d ng và

đ xu t trên mơi tr ng Grid. Ti p theo chúng ta s th o lu n các ph ng pháp và k thu t l p trình nh m gi i quy t các v n đ ph c t p b ng cách s d ng các cơng c đang cĩ hi n nay.

3.2. Các v n đ khi l p trình lu i

3.2.1. Tính mang chuy n, tính kh thi và kh n ng thích ng

Các ngơn ng l p trình c p cao hi n nay cho phép ng i dùng vi t mã ngu n hồn tồn đ c l p v i b x lý. Các mơ hình l p trình l i c ng nên cĩ

kh chuy n nh v y là m t đi u ki n tiên quy t cho vi c sao chép các c u hình

đ ng và khơng đ ng nh t.

Vi c s d ng nh ng đo n mã ngu n và d ch v khác nhau nh ng cĩ ch c n ng t ng t nhau th hi n tính c ng tác trong vi c thi hành các mơ hình l p trình. Khái ni m v m t ki n trúc Grid m và cĩ tính m r ng ng ý là m t mơi tr ng phân tán cĩ th h tr cho các giao th c, d ch v , giao di n l p trình ng d ng và các cơng c phát tri n ph n m m. Cu i cùng tính mang chuy n và tính c ng tác s d n đ n kh n ng thích ng. M t ch ng trình Grid ph i cĩ kh n ng thích ng v i các c u hình khác nhau d a trên ngu n tài nguyên s n cĩ. i u này cĩ th x y ra vào th i đi m b t đ u, hay t i th i đi m th c thi nguyên do s thay đ i các yêu c u c a ng d ng hay do kh n ng ph c h i l i. Kh n ng thích ng nh v y cĩ th liên quan đ n m t b c kh i đ ng l i đ n gi n đâu đĩ hay là m t s tích h p th t s gi a ti n trình và d li u.

3.2.2. Kh n ng phát hi n tài nguyên

Tìm ra các tài nguyên hi n cĩ trên m ng là m t ph n quan tr ng c a tính tốn l i. Mã ngu n c a ch ng trình l i s ch ra rõ ràng nh ng máy (host) thích h p nào đ ch y ch ng trình. Tuy nhiên b i vì Grid ch a đ ng nhi u d ch v c đnh, nên chúng c ng v n ph i cĩ kh n ng tìm ra các d ch v này và các giao di n mà chúng h tr . Cách s d ng các d ch v này ph i cĩ kh n ng tái l p trình và k t h p l i theo m t cách th ng nh t. Vì th mơi tr ng và cơng c l p trình ph i chú ý tìm ra các d ch v hi n cĩ và cung c p cho ng i dùng các cách th c t ng minh hay ng m n đ khai thác chúng trong quá trình xây d ng và tri n khai các ng d ng Grid.

3.2.3. Hi u n ng

Rõ ràng đ i v i nhi u ng d ng Grid, v n đ hi u n ng là đi u r t đáng quan tâm. B i vì Grid s d ng b ng thơng h n t p và các h th ng phân c p n cho nên đi u này gây khĩ kh n cho vi c đ t đ c hi u n ng t t nh t và cách s d ng hi u qu các ngu n tài nguyên.

Tuy nhiên đ i v i nhi u ng d ng, đ đ t hi u n ng đáng tin c y c ng là m t v n đ khá quan tr ng. M t mơi tr ng đ ng và khơng đ ng nh t cĩ th t o ra nhi u kh n ng th c thi khác nhau mà cĩ th s khơng đ c ch p nh n trong nhi u tình hu ng. Vì th trong mơi tr ng chia s , ch t l ng d ch v s

Một phần của tài liệu Luận văn: Nghiên cứu tính toán lưới và thử nghiệm một số thuật toán lý thuyết đồ thị pdf (Trang 48 - 138)