NI DUNG NGHIÊN CU

Một phần của tài liệu Thiết kế bộ phân đoạn dữ liệu song song không sử dụng hàm băm trên fpga (Trang 28)

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

Một phần của tài liệu Thiết kế bộ phân đoạn dữ liệu song song không sử dụng hàm băm trên fpga (Trang 28)

Tải bản đầy đủ (PDF)

(63 trang)