Một vài kết quả thí nghiệm

Một phần của tài liệu Công nghệ nén tệp thực thi Binary Delta và các ứng dụng trong mạng và truyền dữ liệu máy tính (Trang 37)

Bây giờ, chúng ta sẽ chỉ ra một vài kết quả thí nghiệm về các công cụ nén đang tồn tạị Trong các kết quả này, chúng ta so sánh xdelta, vcdiff, và zdelta trong 2 tập file khác nhaụ Một tập các file giả định sẽ được tạo ra nhằm mô tả sự tương tự giữa 2 filẹ Cụ thể, chúng ta sẽ tạo ra 2 file ngẫu nhiên fo và f1 có độ dài cố định, và sau đó thực hiện nén delta giữa fo và một file fm khác được tạo ra bởi sự pha trộn bằng cách copy text từ fo và f1 theo một tiến trình Markov đơn giản. Bằng cách biến đổi các tham số của tiến trình, chúng ta có thể tạo một số file fm với dãy tương tự từ 0 (fm=f1) đến 1 (fm=f0). S h a n g h a i s a k h a l n i X X X Sau khi áp dụng M 1,2; I “l” A h t B

Tất cả được chạy trên server Sun E450 bộ xử lý 2400 Mhz UltraSparc Iie và bộ nhớ 4GB, dữ liệu được lưu trong 10000 RPM SCSI . Chú ý rằng chỉ 1 CPU được sử dụng trong khi chạy, và sự tiêu tốn bộ nhớ không có ý nghĩạ (Chúng ta cũng đã chạy mỗi file trong bộ sưu tập và loại bỏ những cái đầu - kết quả chính trong quá trình này là để cực tiểu sự tiêu tốn dung lượng đĩa, và tập trung vào giá của CPU trong các phương pháp khác nhau).

Hình 2.3: Sự đối lập của kích thước nén file và sự giống nhau giữa các file (KB)

Với tập dữ liệu gcc và emacs, các số không thể nén và gzip ở phiên bản mới hơn. Chúng ta có thể thấy rằng nén delta có những cải thiện rõ ràng hơn gzip trên các file này, đặc biệt là với các file tương tự gcc. Trong số các bộ nén delta, zdelta nhận được tỉ lệ nén tốt nhất, chủ yếu là do việc sử dụng Huffman thay vì các mã dựa trên bytẹ Bộ nén xdelta thi hành tồi nhất trong các thí nghiệm nàỵ Xdelta tập trung vào mục đích phân tách và nén, và do đó, một bộ nén chuẩn như gzip có thể được áp dụng đối với output của xdeltạ Tuy nhiên, trong các thí nghiệm của chúng ta, các ứng dụng gzip không có kết quả cải thiện tốt nào trong các tập dữ liệu nàỵ

Về thời gian chạy, tất cả 3 bộ nén delta đều chậm hơn gzip, xdelta thì xong sớm nhất. Chú ý rằng, với cả gzip và zdelta, chúng ta sẽ tổng kết 2 con số khác nhau thể hiện tác động của phương pháp input/output trong sự thi hành. Đầu tiên, các số thấp hơn truy nhập file trực tiếp, trong khi các số thứ hai được đo lường bằng các chuẩn I/Ọ Số cho vcdiff được đo lường bằng các chuẩn I/O, trong khi xdelta sử dụng truy nhập file trực tiếp. Đưa các sự khác nhau này vào tính toán, tất cả các bộ nén delta chỉ chiếm 20% so với gzip, thậm chí chúng có thể xử lý 2 tập file trong khi gzip chỉ xử lý được một.

Nhìn vào phần đồ thị về sự giống nhau giữa các file, chúng ta sẽ thấy cùng một thứ tự. Khi các file càng khác nhau nhiều, file nén delta có kích thước càng lớn, nhưng vẫn là tốt nhất trong các phép nén, trong khi đó, khi các file gần như là giống nhau thì các phương pháp đều hoạt động tốt. Tuy nhiên, chúng ta thấy rằng, vcdiff và zdelta có tác dụng ngay cả khi các file chỉ khác nhau một chút, trong khi đó, xdelta không cải thiện hơn so với gzip. ( Chú ý rằng gzip tự nó không cung cấp 1 ích lợi nào với các file không thể nén được). Chúng ta cũng thấy rằng thời gian chạy của bộ nén delta giảm khi sự giống nhau giữa các file tăng lên, điều này là do độ dài của sự phù hợp được tìm thấy trong file tham chiếu tăng lên (do đó làm giảm số lần tìm kiếm trong bảng băm). Sự ảnh hưởng lớn này giải thích tại sao bộ nén delta hầu như chạy nhanh bằng gzip đối với các file giống nhau nhiều như gcc và emacs; với các file có độ giống nhau là thấp, 3 bộ nén delta sẽ dài hơn khoảng 60% hoặc 100% so với gzip.

Một phần của tài liệu Công nghệ nén tệp thực thi Binary Delta và các ứng dụng trong mạng và truyền dữ liệu máy tính (Trang 37)