4.1 xu tăph ngăphápăphơnăđo n d li u song song
4.1.1 ánhăgiáăkh n ngăsongăsongăhóaăc a các gi i thu t
B ng 1 So sánh các gi i thu t CDC
Tiêu chí
đánhăgiá AE Gi i thu t RAM phơnăđo n d li u PCI
Phơn đo n d a trên
n i dung Có Có Có chênh l ch kích th c Nh L n. Chênh l ch nh n u gi i h n kích th c đo n L n Kh n ng lo i b chu i d li u có entropy th p Có Có, n u gi i h n kích th c đo n Có Thơng l ng (MBps) ~ 380 ~ 550 ~ 90
D a vào nh ng c s lý thuy t đư trình bƠy trong ph n 3 và k t qu th c nghi m trình bày trong các nghiên c u [12], [13], [14], b ng 1 trình bày so sánh gi a các gi i
17 thu t CDC. Qua th c nghi m, gi i thu t RAM và AE luôn th hi n s v t tr i v t c đ tính tốn và là nh ng ng c viên hƠng đ u đ nghiên c u song song hóa.
M t b phơn đo n d li u song song s bao g m hai giai đo n. Giai đo n th nh t là chia c t các segment đ ng th i trên các lu ng x lỦ đ t o ra các đo n d li u. Sau đó, các đo n d li u ti p giáp v i đi m c t c a các segment s đ c ch nh s a l i b i vì chúng khơng ph thu c vào n i dung d li u. Giai đo n th hai s th c hi n tính tốn l i cho các đo n d li u nƠy đ thu đ c k t qu chính xác nh khi tính tốn tu n t . Tuy nhiên, sau khi đi m c t th c s c a các đo n d li u xung quanh ranh gi i các segment đ c tìm th y, hi n t ng byte shifting có th x y ra và nh h ng đ n m t s đo n phía sau.
Gi i thu t AE có l i th v ph ng sai kích th c đo n d li u nh và t c đ tính tốn nhanh. Tuy nhiên, AE khơng có m t giá tr so sánh c đ nh và t ng kích th c c a các khung c a s bao trùm lên toàn b đo n d li u. Khi hai đo n d li u li n k gi a các segment đ c tính tốn l i, các đo n d li u phía sau có th b nh h ng. Hình 9 minh h a m t ví d cho th y tác đ ng c a hi n byte shifting lên các đo n d li u trong gi i thu t AE. S l ng các đo n d li u b nh h ng sau khi th c hi n b c tính tốn l i là khơng gi i h n. i u nƠy đ t ra nghi ng i v vi c li u có ph i th c hi n tính tốn l i cho t t c các đo n d li u trong segment. N u kh i l ng tính tốn l i quá nhi u, vi c th c hi n phơn đo n đa lu ng thành ra l i làm gi m t c đ gi i thu t.
18 Gi i thu t RAM c i thi n đáng k so v i AE v m t t c đ tính tốn. Tuy nhiên, gi ng nh AE, RAM c ng khơng có giá tr so sánh c đ nh vƠ kích th c hai khung c a s b ng kích th c c a c đo n d li u. Khi x y ra hi n t ng byte shifting, byte l n nh t trong khung c a s c đnh c a đo n ti p theo có th thay đ i, d n đ n đi m c t c a đo n nƠy vƠ các đo n phía sau c ng có th b thay đ i theo. Tr ng h p nƠy đ c minh h a nh trong hình 10.
Hình 10 Tác đ ng c a hi n t ng byte shifting v i gi i thu t RAM
Kh n ng kháng byte shifting kém c a c hai gi i thu t AE và RAM s gây khó kh n khi th c hi n phơn đo n song song, c th lƠ trong giai đo n ch nh s a các đo n d li u. Gi s có nhi u lu ng x lý cùng th c hi n tính tốn l i cho các đo n d li u ti p giáp ranh gi i các segment. Vi c tính tốn l i trong m t lu ng x lý b t đ u t đo n d li u cu i cùng c a segment tr c đó. N u đo n d li u này b thay đ i do tác đ ng c a hi n t ng byte shifting x y ra trong quá trình ch nh s a song song. Các k t qu tính tốn l i b i lu ng x lý li n k coi nh b sai. B i vì v n đ này, AE và RAM không phù h p đ xây d ng mơ hình phơn đo n song song.
Gi i thu t PCI xác đ nh đi m c t b ng cách so sánh t ng bit 1 trong khung c a s tr t v i m t ng ng đ c cƠi đ t tr c. Nh v y mà gi i thu t PCI th hi n kh n ng kháng byte shifting t t h n. Ngoài ra, do s d ng c ch khung c a s tr t, PCI có th thay th Rabin Chunking trong nhi u h th ng phơn đo n song song đư có ho c d a vƠo đó đ c i ti n và phát tri n thêm.
19
4.1.2 xu tăph ngăphápăphơnăđo n d li u song song
Các ph ng pháp phơn đo n song song hi n t i nh SS-CDC hay MUCH có th ng d ng cho các gi i thu t phơn đo n không s d ng hàm b m. Tuy nhiên, nh ng ph ng pháp nƠy ch a t i u do ban đ u ph thu c vào m t s đ c đi m c a gi i thu t Rabin Chunking. C th , MUCH yêu c u ph i có nh ng thi t l p v kích th c đo n d li u đ có th s d ng k thu t Dual Mode Chunking. Trong khi đó, các gi i h n kích th c đo n th ng đ c h n ch trong các gi i thu t CDC không dùng hƠm b m, nh đư trình bƠy tr c đó ph n 3.3. SS-CDC không b t bu c ph i gi i h n kích th c các đo n d li u t o ra. Tuy nhiên, ph ng pháp SS-CDC ch th c hi n song song m t n a, c th là quá trình ch nh s a các đo n d li u ph i x lý tu n t . Vi c x lý tu n t giai đo n tính tốn th hai nh v y yêu c u m t không gian l u tr t m khá l n và s không phù h p đ h ng t i th c hi n trên n n t ng FPGA.
Nghiên c u này s đ xu t m t ph ng pháp phơn đo n song song toàn ph n. Ph ng pháp đ ra không nh ng không ph thu c vào gi i h n kích th c đo n mà còn phù h p đ th c hi n trên các n n t ng có tài nguyên h n ch nh FPGA. Nhìn chung, ph ng pháp phơn đo n song song đ c đ xu t c ng bao g m hai giai đo n tính tốn. Giai đo n m t lƠ phơn đo n đ ng th i cho các segment. Giai đo n hai là tính tốn và ch nh s a đi m c t c a các đo n d li u ti p giáp ranh gi i c a segment. Gi s r ng gi i thu t CDC s d ng khung c a s tr t kích th c W. Các segment đ c chia t cùng m t dịng d li u s có W-1 byte ch ng lên nhau.
Nh m gi m kh i l ng tính tốn giai đo n hai, t t c các đi m c t ti m n ng s đ c tính tốn vƠ đánh d u trong giai đo n m t. Tuy nhiên, c n ph i có m t gi i pháp khác đ xác đ nh đi m c t trong giai đo n hai đ có th th c hi n song song trên nhi u lu ng x lý. Nguyên nhân SS-CDC ch có th th c hi n tu n t trong giai đo n này chính là ch t n t i duy nh t m t v trí đáng tin c y đ b t đ u. V trí nƠy c ng chính là v trí b t đ u c a t p tin. Trong nghiên c u này, h c viên đ xu t m t phiên b n s a đ i c a k thu t Dual Mode Chunking nh m m c đích tìm ra nhi u v trí tin c y h n. Qua đó, th c hi n song song hóa giai đo n tính tốn th hai.
20 Phiên b n Dual Mode Chunking s a đ i s không s d ng các gi i h n v kích th c n a đ phù h p cho các gi i thu t phơn đo n không dùng hƠm b m. H c viên nh n th y r ng kho ng cách gi a các đi m c t ti m n ng có th dùng đ t o ra nh ng đi u ki n chuy n tr ng thái ho t đ ng. B i vì đo n d li u không th nh h n kích th c c a khung c a s tr t, đi m k t thúc c a đo n d li u có th xác đnh thơng qua kho ng cách gi a các đi m c t ti m n ng mƠ không c n bi t tr c đi m b t đ u c a đo n đó. Hình 11 vƠ 12 minh h a các tr ng h p nh v y. và lƠ các đi m c t ti m n ng. Kho ng cách gi a hai đi m c t ti m n ng liên ti p đ c kí hi u l n l t là và . Ví d trong hình 11 gi thi t r ng
và lƠ đi m k t thúc c a đo n d li u tr c đó. K t qu là và đ c ch n tr thƠnh đi m c t chính th c do và . Hình 12 minh h a m t tr ng h p khác v i và c hai v trí và đ u là ranh gi i c a đo n d li u. B i vì nh h n kích th c t i thi u W, tr thƠnh đi m k t thúc c a đo n d li u. Trong c hai tr ng h p, luôn đ c ch n đ tr thƠnh đi m c t chính th c b t k tr ng thái c a do luôn l n h n gi i h n nh nh t c a kích th c đo n d li u.
Hình 11 Xác đ nh đi m c t chính th c v i và là đi m c t
21 Hình 12 Xác đ nh đi m c t chính th c v i và là
đi m c t
D a vào vi c có th xác đnh m t đi m c t thông qua kho ng cách gi a các đi m c t ti m n ng, nghiên c u nƠy đ xu t phiên b n s a đ i cho Dual Mode Chunking nh sau. Quá trình phơn đo n d li u ho t đ ng d i hai ch đ g m ch đ ch m (slow mode) và ch đ nhanh (fast mode). Các segment đ u tiên s đ c tính tốn ch đ ho t đ ng slow mode. ch đ này, c a s tr t s quét qua t ng byte và tìm ra các đi m c t ti m n ng cho t i khi tìm th y m t đi m c t chuy n tr ng thái. Khi đư chuy n sang ho t đ ng ch đ fast mode, vi c th c hi n phơn đo n t ng t nh khi tính tốn đ n lu ng. Các đi m c t tìm th y trong ch đ fast mode đ u lƠ đi m c t chính th c và khơng c n th c hi n tính tốn l i giai đo n sau. Nh đó, d li u đ c phơn đo n nhanh chóng và gi m b t khơng gian b nh đ m c n dùng. i u ki n đ m t đi m c t ti m n ng tr thƠnh đi m c t chuy n tr ng thái là:
• V trí c a đi m c t ti m n ng không n m trong kho ng t W đ n 2*(W-1).
• Kho ng cách so v i đi m c t ti m n ng g n nh t t i thi u b ng kích th c c a s tr t W.
Trong giai đo n ch nh s a, các đi m c t chính th c đ c xác đnh d a trên v trí c a các đi m c t ti m n ng, sao cho đo n d li u đ c t o ra ph i l n h n khung c a s tr t. B x lý s l a ch n đi m c t cho các d li u đ c t o ra ch đ slow mode đ n khi b t g p đi m c t chuy n tr ng thái. Khi đó, các d li u nh n đ c khơng c n tính tốn l i vì chúng đư đ c tính ch đ fast mode trong giai đo n đ u.
22
4.2 Thi t k ph n c ng cho b phơnăđo n d li u song song 4.2.1 S ăđ thi t k t ng quát
Hình 13 S đ thi t k ph n c ng c a b phơn đo n song song
Hình 13 mơ t s đ thi t k ph n c ng cho b phơn đo n d li u song song. Các segment đ c đ a vƠo các lu ng x lỦ đ ng th i. Trong m i lu ng, b Chunking Module b t đ u tìm các đi m c t ti m n ng ch đ slow mode cho t i khi tìm th y đi m c t chuy n tr ng thái và chuy n sang ch đ fast mode. ch đ ho t đ ng fast mode, b Chunking Module th c hi n phơn đo n cho ph n còn l i c a segment t ng t nh gi i thu t phơn đo n tu n t . B i vì AE và RAM khơng có m t giá tr so sánh c đnh, các gi i thu t này khơng th tính các đi m c t ti m n ng. Do đó, AE vƠ RAM không phù h p đ áp d ng cho ph ng pháp phơn đo n đ c đ xu t trong lu n v n này. Trong thi t k ph n c ng c a nghiên c u, h c viên ch n gi i thu t PCI vì đơy lƠ m t gi i thu t đ n gi n và d dàng chuy n đ i thành ph n c ng.
Sau t ng phơn đo n đ u tiên, d li u cùng v i v trí đi m c t đ c l u trong hai b đ m t ng ng v i ch đ ho t đ ng c a b Chunking Module. Hai b đ m đ c g i lƠ Slow Mode Buffer vƠ Fast Mode Buffer đ phân bi t n i dung đ c l u trong chúng. B Marshalling Module tr c tiên s đ c d li u t Fast Mode Buffer thu c cùng lu ng x lỦ. Khi đo n d li u cu i cùng c a m t segment đ c đ c ra, b
23 Marshalling Module ti p t c đ c Slow Mode Buffer c a lu ng x lý li n k đ ghép n i và hoàn t t đo n d li u đó. Marshalling Module ti p t c đ c d li u t Slow Mode Buffer vƠ xác đ nh các đi m c t chính th c t các đi m c t ti m n ng cho đ n khi g p m t đi m c t chuy n tr ng thái. Khi đó, nó s quay tr l i đ c Fast Mode Buffer và l p l i quá trình nƠy đ n khi các b nh đ m khơng cịn d li u.
Trong ch đ slow mode, n u đư có quá nhi u d li u đ c l u t m mà v n ch a tìm ra đi m c t chuy n tr ng thái thì b nh s b trƠn. Khi tr ng h p này x y ra, byte cu i cùng l u vƠo b nh coi nh lƠ đi m c t chuy n tr ng thái và chuy n sang ho t đ ng ch đ fast mode.
4.2.2 Thi t k b Chunking Module
Hình 14 Ph n c ng c a b Chunking Module B ng 2 B ng chân ph n c ng c a b Chunking Module
Tên chân Lo i ngõ dài
(bit) Công d ng
clk Vào 1 Clock h th ng.
rst Vào 1 Reset đ ng b tích c c cao.
data_in Vào 8 Byte d li u đ a vƠo.
valid_in Vào 1
Tín hi u xác th c d li u ngõ vào. D li u đ c x lý khi valid_in tích c c cao.
24 start_in Vào 1 Tín hi u thơng báo kh i đ u t p tin. end_in Vào 1 Tín hi u thơng báo k t thúc t p tin. slow_mode_buffer_full Vào 1 Tín hi u báo tràn c a Slow Mode
Buffer.
data_out Ra 8 Byte d li u ngõ ra, sau khi đư đ c x lỦ phơn đo n.
valid_out Ra 1 Tín hi u xác th c d li u ngõ ra. cut_point Ra 1 Tín hi u báo v trí đi m c t.
mode Ra 1
Ch đ ho t đ ng ng v i byte d li u ngõ ra. 0 là ch đ slow mode. 1 là ch đ fast mode.
switch Ra 1 Tín hi u báo th i đi m chuy n ch đ ho t đ ng.
Trong ch đ fast mode, b Chunking Module s d ng gi i thu t PCI đ phân đo n cho các segment. Các đo n d li u t o ra trong ch đ ho t đ ng này chính là k t qu cu i cùng và khơng c n thi t ph i tính tốn l i b Marshalling Module.
Ng c l i, trong ch đ slow mode, gi i thu t PCI đ c dùng đ tìm t t c các