1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Kỹ thuật điện tử: 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

63 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQC –HCM

Cán bộ hướng dẫn khoa học: TS Trần Hoàng Linh………

Cán bộ chấm nhận xét 1: TS Nguyễn Minh Sơn ………

Cán bộ chấm nhận xét 2: TS Bùi Trọng Tú ………

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 13 tháng 07 năm 2022

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

1 PGS TS Trương Quang Vinh - Chủ tịch 2 TS Nguyễn Lý Thiên Trường - Thư ký 3 TS Nguyễn Minh Sơn - Phản biện 1 4 TS Bùi Trọng Tú - Phản biện 2 5 TS Trần Hoàng Linh - Ủy viên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Vương Đình Hưng…… MSHV: 1970534 Ngày, tháng, năm sinh: 12/12/1997……… Nơi sinh: TP HCM Chuyên ngành: Kỹ Thuật Điện Tử ………Mã số : 8520203

I TÊN ĐỀ TÀI:

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

II NHIỆM VỤ VÀ NỘI DUNG:

Đề xuất phương pháp phân đoạn dữ liệu song song cho các giải thuật phân đoạn không dùng hàm băm Xây dựng phần cứng cho phương pháp được đề xuất trên nền tảng FPGA bằng ngôn ngữ Verilog Từ đó, đánh giá kết quả nghiên cứu đạt được và bàn luận những hướng nghiên cứu tiếp theo để ứng dụng phân đoạn dữ liệu trong các hệ thống chống trùng lặp dữ liệu

III NGÀY GIAO NHIỆM VỤ : 06/09/2021

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 22/05/2022 V CÁN BỘ HƯỚNG DẪN : TS Trần Hoàng Linh

Tp HCM, ngày tháng năm 20

TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ

Trang 4

LỜI CẢM ƠN

Học viên xin gửi lời cảm ơn sâu sắc đến quý thầy cô trong Khoa Điện – Điện tử, trường Đại học Bách Khoa Thành phố Hồ chí Minh đã chỉ dạy tận tình, giúp đỡ học viên trong quá trình học tập, nghiên cứu và hoàn thành luận văn

Xin được gửi lời cảm ơn chân thành đến thầy TS Trần Hoàng Linh Người hết lòng giúp đỡ, dạy bảo, và tạo điều kiện thuận lợi cho học viên trong suốt quá trình thực hiện luận văn tốt nghiệp Cảm ơn thầy đã định hướng, góp ý và giúp em có thể hoàn thành luận văn một cách tốt nhất

Cuối cùng, xin được cảm ơn cha mẹ và bạn bè đã luôn động viên và ủng hộ trong suốt quá trình hoàn thành luận văn Sự giúp đỡ đó có ý nghĩa tinh thần rất lớn đối với học viên

Tp Hồ Chí Minh, ngày 22 tháng 05 năm 2022 Học viên

Vương Đình Hưng

Trang 5

TÓM TẮT LUẬN VĂN

Phân đoạn dữ liệu dựa trên nội dung là phương pháp phổ biến được ứng dụng rộng rãi trong các hệ thống chống trùng lặp dữ liệu và các hệ thống đồng bộ dữ liệu Trong những năm gần đây, nhiều giải thuật mới không dùng hàm băm đã được phát triển và gặt hái được nhiều kết quả tích cực Tuy nhiên, các giải thuật này hiện chỉ đang thực hiện đơn luồng trên các vi xử lý Trong luận văn này, sau khi khảo sát các giải thuật CDC, học viên nhận thấy các giải thuật sử dụng kỹ thuật cửa sổ trượt là khả song song hóa Luận văn này sẽ đề xuất một phương pháp phân đoạn song song mới, hướng tới việc thực hiện trên nền tảng FPGA Trong đó, giải thuật PCI được lựa chọn để ứng dụng trong thiết kế Bằng cách khai thác sức mạnh phần cứng của FPGA, thiết kế trong luận văn này không những đạt được tốc độ xử lý cao mà còn dễ dàng mở rộng

Trang 6

ABSTRACT

Content-defined chunking is a common method in many applications such as data deduplication and data synchronization In recent years, new CDC algorithms using non-hashing methods have been developed, and positive results have been obtained However, most of the algorithms are developed for single-thread computation on microprocessors After analyzing some popular CDC algorithms, we observed that the algorithms using the basic sliding window protocol are more feasible to process in parallel In this work, we proposed a new parallel chunking method that aims for hardware implementation Additionally, we used the PCI algorithm, which does not include hash functions, to implement a multi-thread chunking system on FPGA devices By exploiting the strength of the FPGAs, our proposed design achieves not only high computational speed but also great scalability

Trang 7

LỜI CAM ĐOAN

Học viên cam đoan rằng, ngoài trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ và trích dẫn trong luận văn này, các công việc nghiên cứu và trình bày trong luận văn này là do chính học viên thực hiện

Học viên

Vương Đình Hưng

Trang 8

MỤC LỤC

1 MỞ ĐẦU 1

1.1 Lý do chọn đề tài 1

1.2 Mục đích 2

1.3 Đối tượng và phạm vi nghiên cứu 2

1.3.1 Đối tượng nghiên cứu 2

3.1 Lý thuyết về phân đoạn dữ liệu 5

3.2 Tiêu chí đánh giá giải thuật dữ liệu 6

3.3 Lý thuyết về các giải thuật phân đoạn dữ liệu không cố định 7

3.3.1 Giải thuật Asymmetric Extremum (AE) 7

3.3.2 Giải thuật Rapid Asymmetric Maximum (RAM) 8

3.3.3 Giải thuật Parity Check of Interval (PCI) 10

3.4 Phương pháp phân đoạn dữ liệu song song 11

Trang 9

4 NỘI DUNG NGHIÊN CỨU 16

4.1 Đề xuất phương pháp phân đoạn dữ liệu song song 16

4.1.1 Đánh giá khả năng song song hóa của các giải thuật 16

4.1.2 Đề xuất phương pháp phân đoạn dữ liệu song song 19

4.2 Thiết kế phần cứng cho bộ phân đoạn dữ liệu song song 22

4.2.1 Sơ đồ thiết kế tổng quát 22

4.2.2 Thiết kế bộ Chunking Module 23

4.2.3 Thiết kế bộ Marshalling Module 28

5 ĐÁNH GIÁ VÀ BÀN LUẬN KẾT QUẢ 30

5.1 Kết quả tổng hợp, mô phỏng và kiểm thử 30

5.1.1 Kết quả kiểm thử phương pháp phân đoạn đề xuất 31

5.1.2 Kết quả mô phỏng thiết kế phần cứng 33

5.1.3 Kết quả tổng hợp mạch 35

5.2 Đánh giá, bàn luận và so sánh kết quả 36

5.2.3 Tác động của kích thước bộ nhớ đệm với kết quả phân đoạn 37

5.2.4 Tác động của số lượng segment với kết quả phân đoạn 38

5.2.5 Tác động của kích thước bộ nhớ đệm với thông lượng của thiết kế 40

5.2.6 Đánh giá thiết kế phần cứng 42

6 KẾT LUẬN VÀ ĐỀ NGHỊ HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI 44

6.1 Hướng phát triển trong tương lai 44

6.2 Kết luận 45

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC 46

DANH MỤC TÀI LIỆU THAM KHẢO 47

PHỤ LỤC 50

Trang 10

DANH SÁCH HÌNH MINH HỌA

Hình 1 So sánh giữa phân đoạn dữ liệu kích thước cố định và không cố định 6

Hình 2 Hoạt động của giải thuật AE 7

Hình 3 Hoạt động của giải thuật RAM 9

Hình 4 Hoạt động của giải thuật PCI 10

Hình 5 Hoạt động phân đoạn song song của P-Dedupe 12

Hình 6 Quá trình phân đoạn của phương pháp SS-CDC 13

Hình 7 Hoạt động của kỹ thuật Dual Mode Chunking trong bộ phân đoạn MUCH 14

Hình 8 Hoạt động của bộ Bloom Filter 15

Hình 9 Ảnh hưởng của hiện tượng byte shifting với giải thuật AE 17

Hình 10 Tác động của hiện tượng byte shifting với giải thuật RAM 18

Hình 11 Xác định điểm cắt chính thức với 𝐷12 < 𝑊, 𝐷23 < 𝑊, 𝐷34 ≥ 𝑊 và 𝑃1 là điểm cắt 20

Hình 12 Xác định điểm cắt chính thức với 𝐷12 ≥ 𝑊, 𝐷23 < 𝑊, 𝐷34 ≥ 𝑊 và 𝑃1, 𝑃2 là điểm cắt 21

Hình 13 Sơ đồ thiết kế phần cứng của bộ phân đoạn song song 22

Hình 14 Phần cứng của bộ Chunking Module 23

Hình 15 Thiết kế của bộ Chunking Module 25

Hình 16 Máy trạng thái của bộ Chunking Controller 25

Hình 17 Mạch phần cứng cho giải thuật PCI 27

Hình 18 Phần cứng của bộ Marshalling Module 28

Hình 19 Thiết kế của bộ Marshalling Module 29

Hình 20 Máy trạng thái của bộ Data Request 30

Hình 21 Mô hình kiểm thử thiết kế đa luồng 31

Hình 22 Kết quả khi phân đoạn tuần tự với giải thuật PCI bằng phần mềm 32

Hình 23 Kết quả khi phân đoạn song song với giải thuật PCI bằng phần mềm 33

Trang 11

Hình 24 Mô phỏng trên dạng sóng kết quả của bộ Chunking Module 34

Hình 25 Mô phỏng trên dạng sóng kết quả của bộ Marshalling Module 34

Hình 26 Kết quả mô phỏng khi phân đoạn song song với thiết kế phần cứng 35

Hình 27 Kết quả tổng hợp tài nguyên cho thiết kế 4 luồng 36

Hình 28 Kết quả tốc độ mạch của thiết kế 4 luồng trường hợp Slow 1100 mV 85C 36

Hình 29 Số lượng đoạn dữ liệu lỗi được tạo ra khi thay đổi kích thước bộ nhớ đệm 38

Hình 30 Thông lượng của thiết kế phân đoạn 2 luồng với các cấu hình bộ nhớ đệm 40

Hình 31 Thông lượng của thiết kế phân đoạn 4 luồng với các cấu hình bộ nhớ đệm 41

Hình 32 Thông lượng của thiết kế phân đoạn 8 luồng với các cấu hình bộ nhớ đệm 41

Hình 33 Thông lượng của thiết kế phân đoạn 16 luồng với các cấu hình bộ nhớ đệm 42 Hình 34 Thông lượng của thiết kế phân đoạn 32 luồng với các cấu hình bộ nhớ đệm 42 Hình 35 So sánh tốc độ xử lý của các thiết kế 44

Trang 12

DANH SÁCH BẢNG SỐ LIỆU

Bảng 1 So sánh các giải thuật CDC 16

Bảng 2 Bảng chân phần cứng của bộ Chunking Module 23

Bảng 3 Bảng chân phần cứng của bộ Marshalling Module 28

Bảng 4 Danh sách các tập dữ liệu dùng trong nghiên cứu 36

Bảng 5 So sánh giữa giải thuật PCI và phương pháp phân đoạn đề xuất 39

Bảng 6 Kết quả tổng hợp của thiết kế phần cứng 43

Bảng 7 Định nghĩa các thuật ngữ được sử dụng 50

Trang 13

1 MỞ ĐẦU

1.1 Lý do chọn đề tài

Dữ liệu số là một nguồn tài nguyên đặc biệt có thể khai thác vô cùng tận nhưng không bao giờ cạn kiệt Với sự phát triển mạnh mẽ của Internet, sự bùng nổ thông tin đã và đang đặt ra những thách thức trong việc lưu trữ và bảo quản nguồn tài nguyên khổng lồ này [1], [2] Các nghiên cứu của Microsoft [3], [4] đã chỉ ra rằng khoảng 50% dữ liệu trong các bộ nhớ chính và 80% dữ liệu ở các bộ nhớ dự phòng là dữ liệu trùng lặp Kỹ thuật chống lặp dữ liệu hiện đang là giải pháp phổ biến và hiệu quả nhất, được ứng dụng rộng rãi trong các trung tâm lưu trữ nhằm nâng cao hiệu suất bộ nhớ [3], [4], [5], [6] Kỹ thuật này còn được sử dụng trong các hệ thống mạng băng thông thấp để tối ưu đường truyền [7], [8]

Một bộ chống lặp dữ liệu bao gồm bốn giai đoạn gồm: phân đoạn dữ liệu, phát hiện dữ liệu lặp, quản lý dữ liệu và lưu trữ Trong đó, quá trình phân đoạn dữ liệu chiếm tới một nửa thời gian xử lý của hệ thống [2] Do đó, nhu cầu tăng tốc quá trình phân đoạn dữ liệu nhằm nâng cao hiệu năng của bộ chống trùng lặp dữ liệu là rất cấp thiết

Rabin Chunking là một trong những giải thuật phổ biến nhất trong các hệ thống chống lặp dữ liệu, nhờ tận dụng ưu điểm của hàm băm cuộn Rabin để tối ưu tốc độ phân đoạn dữ liệu Dù vậy, do lượng thời gian để tính toán hàm băm là rất lớn, nhiều nghiên cứu đã đề xuất các giải thuật phân đoạn mới không sử dụng hàm băm nhằm giảm thời gian tính toán của CPU Các giải thuật mới cho thấy sự khả quan khi cải thiện tốc độ tính toán đơn luồng lên tới 550 MBps

Ngoài việc đề xuất những giải thuật mới, cải tiến và ứng dụng các giải thuật sẵn có để khai thác tối đa khả năng CPU cũng là một hướng nghiên cứu giành được nhiều sự quan tâm Mục tiêu của những nghiên cứu này tập trung vào việc thực hiện phân đoạn song song trên nhiều nhân CPU [9], [10], [11] Tuy nhiên, các nghiên cứu này chủ yếu khắc phục yếu điểm của giải thuật Rabin Chunking mà chưa tận dụng ưu điểm trong những giải thuật mới Do đó, nghiên cứu này được thực hiện nhằm mục đích tổng hợp,

Trang 14

phân tích một số giải thuật phân đoạn không dùng hàm băm và từ đó đề xuất giải pháp phân đoạn song song phù hợp

Các nghiên cứu phân đoạn song song trước đây được thực hiện trên phần mềm để đánh giá hiệu năng của các giải pháp đề xuất Tuy nhiên, giải pháp trên phần mềm thường bị giới hạn bởi số luồng xử lý của CPU Bên cạnh đó, các nghiên cứu trước đây không đưa ra đánh giá mức độ sử dụng tài nguyên của cache và RAM nên khó để nhận định giới hạn mở rộng của các thiết kế này Trong nghiên cứu này, đề xuất lý thuyết sẽ được thực hiện trên nền tảng FPGA để có thể đạt được khả năng mở rộng thiết kế tốt hơn cũng như tối ưu tốc độ tính toán

1.2 Mục đích

Mục đích của nghiên cứu này là đề xuất giải pháp phân đoạn dữ liệu song song cho các giải thuật phân đoạn không dùng hàm băm Đồng thời, xây dựng phần cứng xử lý dựa trên đề xuất lý thuyết trên nền tảng FPGA, bằng ngôn ngữ mô tả phần cứng Verilog Qua đó, đánh giá và bàn luận kết quả nghiên cứu đạt được, cũng như đưa ra các kiến nghị về hướng phát triển trong tương lai

1.3 Đối tượng và phạm vi nghiên cứu 1.3.1 Đối tượng nghiên cứu

Đối tượng nghiên cứu của luận văn là các giải thuật phân đoạn dữ liệu không dùng hàm băm và các phương pháp phân đoạn song song Từ đó, đề xuất một phương pháp phân đoạn song song mới cho các giải thuật này và thực hiện trên nền tảng FPGA

1.3.2 Phạm vi nghiên cứu

Phạm vi nghiên cứu của luận văn là các giải thuật phân đoạn mới nhất gồm AE [12], RAM [13] và PCI [14], cũng như các phương pháp phân đoạn song song tiêu biểu như SS-CDC [10] và MUCH [11] Thông qua việc phân tích các giải thuật và phương pháp phân đoạn, luận văn này sẽ đề xuất phương pháp phân đoạn song song mới, ứng dụng trên nền tảng FPGA

Trang 15

1.4 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu 1.4.1 Ý nghĩa khoa học

Đề tài đóng góp về ý nghĩa khoa học trong việc nghiên cứu phương pháp phân đoạn song song phù hợp cho các giải thuật phân đoạn không sử dụng hàm băm Đồng thời, nghiên cứu cũng cho thấy góc nhìn mới về sự ảnh hưởng của tài nguyên phần cứng hạn chế khi thực hiện thiết kế trên FPGA

1.4.2 Ý nghĩa thực tiễn

Nghiên cứu này đóng góp vào quá trình cải thiện tốc độ xử lý của các hệ thống chống trùng lặp dữ liệu, vốn đang bị nghẽn cổ chai ở giai đoạn phân đoạn dữ liệu Ngoài ra, đề tài còn giúp đánh giá tính khả thi khi song song hóa giải thuật phân đoạn không dùng hàm băm, cũng như những tác động của nền tảng FPGA đối với khả năng mở rộng thiết kế và kết quả phân đoạn

2 TỔNG QUAN

2.1 Tình hình nghiên cứu trong và ngoài nước

Một trong những giải thuật phân đoạn được biết đến nhiều nhất là Rabin Chunking Giải thuật này là sự kết hợp giữa giải thuật phân đoạn Basic Sliding Window [15] và hàm băm cuộn Rabin [16] Tương ứng với mỗi vị trí của cửa sổ trượt, hàm băm Rabin sẽ tính toán các byte trong cửa sổ và kết quả sẽ được dùng để so sánh với một giá trị đặt trước để tìm ra điểm cắt của đoạn dữ liệu Việc tính toán các hàm băm này thường tiêu tốn một lượng thời gian đáng kể Do đó, nhiều nghiên cứu đã đề xuất các giải thuật phân đoạn mới không sử dụng hàm băm nhằm giảm thời gian tính toán của CPU

Local Maximum Chunking (LMC) [17] so sánh giá trị của các byte dữ liệu trong một cửa sổ trượt để tìm ra các điểm cắt trong một tệp tin Đây là một cách tiếp cận mới khi sử dụng các toán tử so sánh thay thế các phép toán đại số modulo trong hàm băm Rabin Tuy nhiên, do số lượng toán tử so sánh rất nhiều và liên tục lặp lại mỗi khi cửa sổ trượt dịch chuyển, thời gian tính toán của LMC thậm chí chậm hơn cả Rabin Chunking

Trang 16

Một biến thể khác của LMC là giải thuật Asymmetric Extremum (AE) [12] Giải thuật này sử dụng kết hợp một cửa sổ kích thước cố định và một cái không cố định thay thế cho cửa sổ trượt Nhờ việc không dùng cửa sổ trượt, AE giảm được số lượng phép so sánh và đạt được tốc độ tính toán cao hơn

Giải thuật Rapid Asymmetric Maximum (RAM) [13] ra đời dựa trên nền tảng của giải thuật AE Bằng cách đảo vị trí của các cửa sổ trong giải thuật AE, Widodo và các cộng sự chứng minh được RAM cắt giảm được số phép so sánh dư thừa Hiện nay, RAM đang là một trong những giải thuật phân đoạn nhanh nhất với tốc độ tính toán lên tới 550 MBps

Giải thuật Parity Check of Interval (PCI) [14] công bố trong một nghiên cứu gần đây mặc dù tiếp tục quay lại với cửa sổ trượt nhưng thay đổi việc so sánh byte bằng cách so sánh tổng số bit 1 trong cửa sổ với một ngưỡng giá trị Kết quả thực hiện bằng phần mềm chưa cho thấy cải thiện về tốc độ tính toán do việc đếm số bit 1 trong mỗi byte phải dựa vào bảng tra cứu

Nghiên cứu [9] đưa ra ý tưởng thực hiện phân đoạn song song thông qua hai bước tính toán Đầu tiên, tệp tin được chia thành các tệp nhỏ hơn và được phân đoạn đồng thời Tiếp theo, một số đoạn dữ liệu sẽ được tính toán và sửa lỗi ở bước thứ hai để thu được kết quả chính xác Nghiên cứu [10] và [11] cũng dựa trên mô hình này để phát triển thêm Nghiên cứu [10] đề xuất ý tưởng đánh dấu tất cả các vị trí có thể trở thành điểm cắt trong tầng tính toán thứ nhất nhằm đơn giản hóa và tăng tốc quá trình tính toán thứ hai Nghiên cứu [11] trình bày một hướng tiếp cận khác sử dụng các thiết lập kích thước tối đa và tối thiểu của đoạn dữ liệu để giới hạn số lượng đoạn cần tính toán trong tầng hai

Trang 17

Nội dung 2: Đề xuất phương pháp phân đoạn song song phù hợp cho các giải thuật phân đoạn không dùng hàm băm Từ đó, xây dựng thiết kế phần cứng ứng dụng giải pháp được đề ra

Nội dung 3: Đánh giá và bàn luận kết quả nghiên cứu đạt được

Nội dung 4: Kiến nghị những hướng phát triển trong tương lai và kết luận cho nghiên cứu

Chương 3 trong luận văn này sẽ trình bày nội dung 1 Nội dung 2 của nghiên cứu sẽ được thể hiện trong chương 4 Trong chương 5, học viên trình bày nội dung 3 Chương 6 là những bàn luận về hướng phát triển trong tương lai và kết luận như trong nội dung 4 Chương 7 là danh mục các công trình nghiên cứu của học viên liên quan đến đề tài của luận văn Chương 8 là danh mục tài liệu tham khảo Chương 9 là phụ lục, gồm các ghi chú về thuật ngữ sử dụng trong luận văn và các thông tin thêm

3 CƠ SỞ LÝ THUYẾT

3.1 Lý thuyết về phân đoạn dữ liệu

Các phương pháp chủ yếu trong việc phân chia tệp tin thành nhiều đoạn bao gồm phân đoạn kích thước cố định và phân đoạn kích thước bất định Đối với phân đoạn kích thước cố định, một tệp tin sẽ được chia thành các đoạn dữ liệu bằng nhau về kích thước Cách thức phân đoạn này rất đơn giản và nhanh Tuy nhiên, khi có một lượng byte dữ liệu được thêm vào hay xóa đi khỏi tệp tin ban đầu, toàn bộ các đoạn dữ liệu từ đó về sau sẽ bị thay đổi Đây được gọi là hiện tượng “byte shifting”

Phân đoạn kích thước bất định, hay còn gọi là phân đoạn dựa trên nội dung (Content defined chunking – CDC), là phương pháp phổ biến hơn do sở hữu khả năng chống được hiện tượng byte shifting Dựa vào nội dung của dữ liệu, các giải thuật CDC sẽ chia tệp tin thành nhiều đoạn dữ liệu với kích thước khác nhau Khi nội dung của tệp tin thay đổi, chỉ một số ít đoạn dữ liệu thay đổi về kích thước, tùy thuộc vào số lượng byte được thêm bớt, nên phần lớn các đoạn dữ liệu còn lại không bị ảnh hưởng Do đó mà hiện tượng byte shifting không xảy ra khi thực hiện phân đoạn dựa trên nội dung

Trang 18

Hình 1 minh họa hoạt động của phương pháp phân đoạn kích thước cố định và phân đoạn kích thước bất định Tác động của hiện tượng byte shifting cũng được mô tả trong hình này ứng với mỗi phương pháp phân đoạn

Hình 1 So sánh giữa phân đoạn dữ liệu kích thước cố định và không cố định

3.2 Tiêu chí đánh giá giải thuật dữ liệu

Trong công bố [12], Y Zhang cùng các cộng sự đã đưa ra một số tiêu chí quan trọng dùng để đánh giá giải thuật CDC và được sử dụng rộng rãi trong các nghiên cứu về sau [13], [14] Các tiêu chí đánh giá gồm:

• Phụ thuộc vào nội dung dữ liệu: Nhằm hạn chế ảnh hưởng của hiện tượng

byte shifting, các giải thuật phân đoạn cần phải quyết định điểm cắt dựa trên nội dung của dữ liệu

• Kích thước của các đoạn dữ liệu có sự chênh lệch nhỏ: Phương sai của kích

thước đoạn dữ liệu có ảnh hưởng đáng kể đến hiệu quả của giải thuật khi dùng trong chống lặp dữ liệu Phương sai càng nhỏ thì mức độ hiệu quả của bộ chống trùng lặp dữ liệu càng cao [15]

• Có khả năng phát hiện và loại bỏ những chuỗi dữ liệu entropy thấp: Trong

thực tế, các tệp tin có thế chứa các chuỗi byte hay các đoạn dữ liệu liên tục lặp lại Nếu chuỗi dữ liệu entropy thấp tránh được điều kiện cắt của giải thuật, kết quả thu được sẽ là một đoạn dữ liệu rất dài hoặc không tìm thấy điểm cắt Giải thuật CDC được kì vọng đủ khả năng xử lí những chuỗi dữ liệu này

Trang 19

• Tốc độ tính toán cao: Giải thuật CDC cần đơn giản và hạn chế các phép tính

chiếm nhiều thời gian tính toán

• Hạn chế việc đặt mức giới hạn lên kích thước đoạn dữ liệu: Kích thước tối

thiểu và tối đa thường được dùng để giảm các đoạn dữ liệu có kích thước quá nhỏ hoặc quá lớn Việc áp đặt mức giới hạn như vậy có tác dụng giảm phương sai kích thước đoạn dữ liệu [15], tuy nhiên cũng sẽ tạo ra các đoạn có điểm cắt không phụ thuộc vào nội dung dữ liệu

Các tiêu chí trên dùng để đánh giá giải thuật phân đoạn khi tính toán đơn luồng Trong trường xử lí phân đoạn song song, một tiêu chí nữa cần phải được xem xét

• Đảm bảo tính nhất quán của các đoạn dữ liệu: Kết quả phân đoạn khi tính toán song song phải giống như kết quả khi tính toán tuần tự

3.3 Lý thuyết về các giải thuật phân đoạn dữ liệu không cố định 3.3.1 Giải thuật Asymmetric Extremum (AE)

Như được minh họa trong hình 2, giải thuật AE sử dụng hai cửa sổ: cửa sổ trái kích thước không cố định và cửa sổ phải kích thước cố định Giữa hai cửa sổ tồn tại một byte lẻ được gọi là “extreme-valued byte” Nếu extreme-valued byte lớn hơn tất cả các byte ở cửa sổ trái và không nhỏ hơn các byte của cửa sổ phải, điểm cắt được xác định ở vị trí cuối cùng của cửa sổ phải Extreme-valued byte cũng có có thể là byte với giá trị nhỏ nhất, tuy nhiên nghiên cứu [12] cũng chỉ ra rằng việc lựa chọn extreme-valued byte là byte lớn nhất hay nhỏ nhất không khác biệt đáng kể Các bước tính toán chi tiết cho giải thuật AE được trình trong giải thuật 1

Hình 2 Hoạt động của giải thuật AE

Trang 20

Do extreme-valued byte nằm ở giữa đoạn dữ liệu, giải thuật này kém hiệu quả với byte shifting trong một số trường hợp Khi một byte được thêm vào cửa sổ cố định của một đoạn dữ liệu, nó sẽ thay đổi đoạn dữ liệu đó và đoạn kế tiếp và trong trường hợp xấu nhất, các đoạn dữ liệu tiếp sau cũng bị ảnh hưởng Bù lại, việc extreme-valued byte nằm ở phía bên trái cửa sổ cố định và chỉ cần lớn hơn hoặc bằng các byte trong cửa sổ này cũng có điểm lợi là giúp cho AE có khả năng chống được chuỗi dữ liệu lặp rất tốt

Giải thuật 1: Giải thuật Asymmetric Extremum (AE)Ngõ vào:

else

max.value = byte max.position = i end if

i = i + 1 end while

end function

3.3.2 Giải thuật Rapid Asymmetric Maximum (RAM)

Ngược với giải thuật AE, RAM sử dụng cửa sổ trái kích thước cố định và cửa sổ phải kích thước không cố định như trong hình 3 Giải thuật bắt đầu bằng việc tìm giá trị lớn nhất trong cửa sổ trái Vị trí của byte đầu tiên sau cửa sổ trái có giá trị lớn hơn hoặc bằng giá trị lớn nhất vừa tìm được sẽ được chọn làm điểm cắt Giải thuật 2 trình bày các bước tính toán cho giải thuật RAM

Trang 21

Hình 3 Hoạt động của giải thuật RAM

Giải thuật RAM cũng có những hạn chế đối với các trường hợp byte shifting Nếu một byte được thêm vào hoặc đổi sang giá trị lớn hơn byte lớn nhất trong đoạn dữ liệu, điểm cắt của đoạn đó sẽ thay đổi và ảnh hưởng với các đoạn phía sau Giải thuật RAM cũng gặp khó khăn khi đối đầu với các chuỗi dữ liệu entropy thấp Nếu một chuỗi byte có giá trị nhỏ xuất hiện trong phần cửa sổ không cố định, điểm cắt có thể chỉ được tìm thấy khi chuỗi dữ liệu đó kết thúc và các byte có giá trị lớn hơn xuất hiện Việc RAM cho ra những đoạn dài như vậy cũng khiến cho phương sai kích thước tăng Trong nghiên cứu [13], tác giả giải quyết vấn đề này bằng cách áp ngưỡng tối đa cho các đoạn dữ liệu Kết quả là các đoạn dữ liệu dài bị loại bỏ, độ chênh lệch về kích thước giảm nhưng thời gian tính toán có phần chậm hơn so với khi không hạn chế kích thước đoạn

Giải thuật 2: Giải thuật Rapid Asymmetric Maximum (RAM)Ngõ vào:

max.value = byte max.position = i else

continue end if

i = i + 1 end while

end function

Trang 22

3.3.3 Giải thuật Parity Check of Interval (PCI)

Giải thuật PCI thiết lập một cửa sổ trượt kích thước cố định W và một giá trị mặc định V làm ngưỡng so sánh Khi dữ liệu đưa vào lấp đầy cửa sổ trượt, nếu số lượng các bit 1 trong cửa sổ không ít hơn mức đặt ra thì điểm cắt được xác định là vị trí cuối cùng của cửa sổ đó Nếu điều kiện tìm điểm cắt không được thỏa mãn, cửa sổ trượt dịch qua vị trí tiếp theo và thực hiện lại việc so sánh tổng các bit 1 với ngưỡng cài đặt trước Hoạt động của giải thuật PCI được thể hiện như trong hình 4 Quá trình tính toán của PCI được mô tả trong giải thuật 3, bao gồm cả hàm đếm số bit 1 trong một byte dữ liệu

Hình 4 Hoạt động của giải thuật PCI

Giải thuật PCI thể hiện khả năng kháng lại hiện tượng byte shifting rất tốt Như thể hiện trong hình 4, nếu có sự thay đổi dữ liệu trong một đoạn thì có khả năng sẽ xuất hiện một điểm cắt mới chia đoạn đó làm đôi nhưng các đoạn khác không bị ảnh hưởng Trong trường hợp xấu nhất là một byte được thêm, xóa hay thay đổi ở trong khung cửa sổ tìm thấy điểm cắt thì chỉ có hai đoạn dữ liệu bị ảnh hưởng PCI cũng có những điểm trừ, ví dụ như mức chênh lệch về kích thước còn lớn do không có cửa sổ cố định đóng vai trò như giới hạn kích thước tối thiểu cho các đoạn dữ liệu Bên cạnh đó, khả năng

Trang 23

loại bỏ chuỗi byte lặp cũng là một vấn đề cần lưu tâm Nếu chuỗi byte này có các byte liền kề mà tổng bit 1 không vượt quá mức so sánh được cài đặt, điểm cắt gần như không tìm ra được trừ khi thay đổi cài đặt hoặc chấp nhận một đoạn dữ liệu rất dài

Giải thuật 3: Giải thuật Parity Check of Interval (PCI)Ngõ vào:

while (byte = read_byte(file)) array[index % width +1]= byte if (content(array) >= width) then

if (parity_check(array, index, width) >= thres_value) then

cut_point = i return cut_point else

continue end if

end if i = i + 1 end while

num = num + parity_of_byte[array[i]] i = (i + 1)% w

end while return num end function

3.4 Phương pháp phân đoạn dữ liệu song song 3.4.1 Phương pháp P-Dedupe

P-Dedupe là một hệ thống chống trùng lặp dữ liệu song song được giới thiệu bởi Xia và các cộng sự trong nghiên cứu [9] Trong hệ thống này, ý tưởng về bộ phân đoạn dữ liệu song song cũng lần đầu được trình bày và trở thành tiền đề cho sự phát triển của các nghiên cứu sau này

Trang 24

P-Dedupe đề xuất thực hiện phân đoạn đồng thời cho nhiều luồng dữ liệu con hay còn gọi là các “segment” Bước đầu, P-Dedupe chia nhỏ một luồng dữ liệu thành nhiều các segment bằng nhau và sau đó áp dụng giải thuật CDC để phân đoạn song song các segment Do từng segment được tính toán riêng lẻ, một số đoạn sẽ cần thêm giai đoạn chỉnh sửa để thu được kết quả chính xác nhất Cụ thể, điểm kết thúc của một segment cũng được xem như là điểm cắt của một đoạn dữ liệu khi tính toán song song Điều này có nghĩa là đoạn dữ liệu đó không phụ thuộc vào nội dung dữ liệu và kết quả không còn giống như so với khi tính toán tuần tự

Hình 5 trình bày trường hợp có hai segment A và B được phân đoạn song song bởi hệ thống P-Dedupe Sau khi được tính toán đồng thời, segment A và B lần lượt tạo ra các đoạn dữ liệu 𝐴1, 𝐴2, 𝐴3, 𝐴4 và 𝐵1, 𝐵2, 𝐵3 Điểm cắt của đoạn 𝐴4 không dựa trên nội dung dữ liệu mà được quyết định bởi điểm kết thúc của segment A Điểm cắt thực sự của đoạn này có thể ở trong đoạn 𝐵1 Do đó, cần thực hiện phân đoạn lại dữ liệu ở trong hai đoạn liên tiếp 𝐴4 và 𝐵1 để có kết quả đồng nhất so với khi thực hiện tuần tự giải thuật CDC

Hình 5 Hoạt động phân đoạn song song của P-Dedupe

3.4.2 Phương pháp SS-CDC

SS-CDC được trình bày trong nghiên cứu [10] như một cách tiếp cận mới cho phân đoạn dữ liệu song song mà không làm suy giảm khả năng phát hiện trùng lặp của giải thuật CDC Tương tự như P-Dedupe, SS-CDC cũng chia luồng dữ liệu thành các segment trước khi xử lý song song Quá trình phân đoạn của SS-CDC bao gồm hai giai

Trang 25

đoạn như thể hiện trong hình 6 Giai đoạn thứ nhất là tính toán tất cả các vị trí có thể trở thành điểm cắt Quá trình này tuy tốn nhiều thời gian nhưng có thể thực hiện đồng thời cho nhiều segment Giai đoạn hai là xác định ranh giới của các đoạn dữ liệu từ những thông tin đã tính ở giai đoạn trước Điều kiện để lựa chọn điểm cắt trong giai đoạn này sẽ phụ thuộc vào các yêu cầu về kích thước tối đa và tối thiểu của giải thuật Quá trình xác định ranh giới của các đoạn dữ liệu chỉ có thể thực hiện một cách tuần tự bởi vì mỗi đoạn dữ liệu phải phụ thuộc vào điểm kết thúc của đoạn trước đó Hậu quả là giai đoạn hai cần tốn nhiều không gian lưu trữ tạm thời để lưu các segment đã được xử lý ở giai đoạn một

Hình 6 Quá trình phân đoạn của phương pháp SS-CDC

3.4.3 Phương pháp MUCH

Tương tự như P-Dedupe, MUCH cũng chia tệp tin thành các segment và phân đoạn song song cho chúng Kết quả phân đoạn các segment sau đó sẽ được xử lý lại ở tầng tính toán thứ hai để thu được kết quả chính xác Tuy nhiên, MUCH cung cấp một kỹ thuật mới để việc chỉnh sửa các đoạn dữ liệu được hiệu quả với tên gọi là “Dual Mode Chunking”

Trong Dual Mode Chunking, quá trình phân đoạn sẽ hoạt động dưới hai chế độ là chế độ chậm (slow mode) và chế độ tăng tốc (accelerated mode) Các segment sẽ

Trang 26

được bắt đầu phân đoạn ở chế độ chậm, sau đó chuyển sang chế độ tăng tốc khi một đoạn dữ liệu được tạo ra thỏa mãn những điều kiện sau:

• Đoạn dữ liệu được phân đoạn ở chế độ hoạt động slow mode

• Kích thước đoạn lớn hơn 𝐶min và nhỏ hơn hoặc bằng 𝐶max− 𝐶min, với 𝐶min và 𝐶max lần lượt là kích thước nhỏ nhất và lớn nhất của đoạn dữ liệu

• Nó không phải là đoạn dữ liệu đầu tiên của segment

Hình 7 minh họa hoạt động của Dual Mode Chunking Trong chế độ chậm, các thiết lập giới hạn về kích thước của đoạn dữ liệu không được áp dụng Trong chế độ tăng tốc, giải thuật CDC sẽ áp đặt các ngưỡng trên và dưới cho kích thước các đoạn dữ liệu để đẩy nhanh quá trình phân đoạn

Hình 7 Hoạt động của kỹ thuật Dual Mode Chunking trong bộ phân đoạn MUCH

Các đoạn dữ liệu được tạo ra trong chế độ hoạt động slow mode có thể nhỏ hơn kích thước tối thiểu hoặc lớn hơn kích thước tối đa được thiết lập Các đoạn dữ liệu này cùng với các đoạn dữ liệu cuối cùng của các segment sẽ được xử lý thêm ở tầng tính toán thứ hai Tầng tính toán này thực hiện hai tác vụ Tác vụ thứ nhất là kết nối các đoạn dữ liệu Một đoạn dữ liệu sẽ được ghép với đoạn tiếp theo nếu như nó có kích thước nhỏ hơn mức tối thiểu Tác vụ thứ hai là chia cắt đoạn dữ liệu Nếu một đoạn dữ liệu lớn hơn kích thước tối đa, nó sẽ bị cắt làm hai đoạn sao cho đoạn đầu có kích thước bằng với mức lớn nhất

3.5 Lý thuyết về bộ lọc Bloom Filter

Nhằm hạn chế việc một bảng chỉ mục (Index table) chiếm dụng quá nhiều không gian lưu trữ khi số lượng chỉ mục tăng nhanh, một vector tên là Bloom Filter [17] được sử dụng với mục đích nhanh chóng kiểm tra sự tồn tại của dữ liệu ở trong bảng Cách

Trang 27

thức hoạt động của Bloom Filter được thể hiện như trong hình 8 Bộ Bloom Filter là

một mảng m bit có giá trị khởi tạo là 0 Dữ liệu đưa vào sẽ được tính bởi k hàm băm lần

lượt là ℎ1, ℎ2, … , ℎ𝑘 Mỗi hàm sẽ trả về một kết quả khác nhau có giá trị từ 0 đến m-1

Những kết quả này sẽ trỏ tới vị trí tương ứng trong mảng và thay đổi giá trị ở vị trí đó từ 0 sang 1 Khi một dữ liệu được kiểm tra, nếu một trong các vị trí tương ứng với kết quả của k hàm băm là 0 thì dữ liệu này chắc chắn là một dữ liệu mới Ngược lại, nếu tất cả đều có giá trị là 1 thì dữ liệu này có thể đã tồn tại trước đó Nhấn mạnh lại là “có thể đã tồn tại trước đó” vì bản chất Bloom Filter chỉ có thể kiểm tra liệu đây có phải là dữ liệu mới hay không chứ không thể đảm bảo dữ liệu này có bị trùng với một dữ liệu đã lưu Trong trường hợp đó, cần phải đọc từng dữ liệu trong bộ nhớ ra và so sánh với dữ liệu muốn ghi vào thì mới có thể chắc chắn được

Hình 8 Hoạt động của bộ Bloom Filter

Trang 28

Giả sử có n phần tử đã được kiểm tra bởi một bộ Bloom Filter dùng k hàm băm và có kích thước mảng là m bit Xác suất để một bit trong mảng vẫn giữ nguyên giá trị

khởi tạo là:

(1 − 1𝑚)

= 𝑒−𝑘𝑛𝑚

Như vậy, xác suất để một phần tử được kết luận nhầm rằng đã bị lặp là:

𝑓 = (1 − (1𝑚)

≈ (1 − 𝑒−𝑘𝑛𝑚 )𝑘

Qua đây cũng thấy được rằng có 3 tham số sẽ tác động tới hiệu năng của một bộ

Bloom Filter Những tham số đó là: số hàm băm k (ảnh hưởng thời gian tính toán), số phần tử trong mảng m (quyết định kích cỡ của Bloom Filter) và tỉ lệ dương tính giả f

(tác động tới xác suất lỗi)

4 NỘI DUNG NGHIÊN CỨU

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á

Giải thuật phân đoạn dữ liệu

Trang 29

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 toá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 toá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 toá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 toá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 toá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 toá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 toán lại cho tất cả các đoạn dữ liệu trong segment Nếu khối lượng tính toá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

Hình 9 Ảnh hưởng của hiện tượng byte shifting với giải thuật AE

Trang 30

Giải thuật RAM cải thiện đáng kể so với AE về mặt tốc độ tính toá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 toá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 toá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 toá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

Trang 31

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 toá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 toá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 toá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 toán ở giai đoạn hai, tất cả các điểm cắt tiềm năng sẽ được tính toá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 toán thứ hai

Ngày đăng: 31/07/2024, 09:51