1. Trang chủ
  2. » Tất cả

Một số thuật toán đảm bảo nhất quán dữ liệu trong các hệ phân tán

5 10 0

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

THÔNG TIN TÀI LIỆU

Nội dung

TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG SỐ 10(71) 2013 144 MỘT SỐ THUẬT TOÁN ĐẢM BẢO NHẤT QUÁN DỮ LIỆU TRONG CÁC HỆ PHÂN TÁN SOME ALGORITHMS ENSURES DATA CONSISTENCY IN DISTRIBUTED SYSTEMS Lê V[.]

TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 MỘT SỐ THUẬT TOÁN ĐẢM BẢO NHẤT QUÁN DỮ LIỆU TRONG CÁC HỆ PHÂN TÁN SOME ALGORITHMS ENSURES DATA CONSISTENCY IN DISTRIBUTED SYSTEMS Lê Văn Sơn Trường Đại học Sư phạm, Đại học Đà Nẵng Email: levansupham2004@yahoo.com Nguyễn Hồng Minh Trường Đại học An ninh Nhân dân Email: hongminhnguyen1982@gmail.com TÓM TẮT Nhân bản dữ liệu là giải pháp tối ưu, quan trọng được sử dụng các ứng dụng phân tán nhằm đáp ứng tính sẵn sàng cao của dữ liệu, giảm thiểu yêu cầu sử dụng băng thông của đường truyền mạng, tăng khả chịu lỗi, khả mở rộng… Tuy nhiên, kỹ thuật nhân bản cũng đặt nhiều thách thức, đó, đảm bảo tính quán dữ liệu là khó khăn chủ yếu xây dựng phần mềm ứng dụng Ở nội dung bài báo, chúng nghiên cứu, đánh giá nhiều thuật toán đã được xây dựng, ứng dụng dựa mợt số tiêu chí quan trọng của hệ phân tán như: số lượng nhân bản, số lượng message lưu thông hệ thống và thời gian đáp ứng Hơn nữa, chúng tơi cịn đề xuất thuật toán nhằm giải vấn đề đặt Thuật toán được xây dựng dựa mơ hình quán t̀n tự và có những ưu điểm sau: triển khai thực hiện thuận tiện, giảm yêu cầu sử dụng băng thông và thời gian đáp ứng nhanh Từ khóa: nhân bản; thuật toán; quán dữ liệu; bản sao; phân tán; mơ hình quán dữ liệu ABSTRACT Data replication is an optimal and important solution, which is used in distributed applications to meet the need of high availability of data, minimizing bandwidth consumption, increasing fault-tolerance, scalability and security, etc However, replication technique also poses many complicated challenges, in which, ensuring consistency of data is the major difficulty in developing application software In this article, many algorithms, which have been developed and applied, are researched and measured basing on some important criteria of distributed systems including the number of replicas, the number of circulating messages in the system and the response time Moreover, we also recommend an algorithm to solve this problem The algorithm is based on the sequential consistency model and has the advantages of easy implementation, low bandwidth consumption and fast response time Key words: replication; algorithm; data consistency; replicated; distributed; consistency data model Đặt vấn đề Hiện nay, nhiều ứng dụng phân tán, làm việc cộng tác phát triển mạnh nhiều ưu điểm: chi phí, hiệu năng, khả mở rộng, độ tin cậy tính phân tán cố hữu ứng dụng [1] Tuy nhiên giải tốn tính sẵn sàng liệu ứng dụng địi hỏi khó Nhân liệu giải pháp hiệu đối với u cầu [2,3] Bởi giải vấn đề quan trọng như: * Tăng độ tin cậy hệ thống * Việc trì nhiều đối tượng liệu sẽ giúp hệ thống hoặc người dùng khôi phục lại liệu bằng cách chuyển đến làm việc 144 * Tăng hiệu tính sẵn sàng hệ thống Nhân liệu giải pháp tăng tính sẵn sàng liệu, giảm thiểu yêu cầu sử dụng băng thông, tăng khả chịu lỗi, khả mở rộng [2,3] từ làm tăng hiệu hệ thống phân tán Tuy nhiên việc sử dụng cũng đặt nhiều vấn đề phức tạp đối với hệ thống như: An ninh an toàn, lưu trữ sao, đảm bảo tính nhất quán liệu [3] Do đó, chúng tơi tập trung nghiên cứu thuật tốn nhằm đảm bảo tính nhất qn liệu cung cấp cho người dùng Cụ thể thuật toán quản lý thao tác đọc, ghi [10] Ví dụ có toán đơn giản sau: TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 trạm Khi hệ thống bị phân chia thành phân vùng, mỡi phân vùng có khác cùng đối tượng Để giải vấn đề này, giải thuật Voting thực sau: Kết trả khả sau: Như vậy, chúng ta kết xác khơng biết giá trị đọc biến có phải giá trị thay đổi lần cuối cùng biến theo thời gian thực hay khơng, hệ thống phân tán khơng có thời gian chung cho thao tác tham gia hệ thống, độ trễ việc giao tiếp bằng Message thực thể để đưa định… Từ đặt yêu cầu xây dựng thứ tự thực thao tác cùng đối tượng theo thời gian logic Điều đòi hỏi chi phí rất lớn tăng độ trễ hệ thống Nhiều mơ hình nhất qn liệu đề x́t như: Mơ hình nhất qn chặt, mơ hình nhất qn tuyến tính, mơ hình nhất qn t̀n tự, mơ hình nhất qn FIFO… thuật tốn đảm bảo tính nhất quán liệu dựa mơ hình để thực Trong nội dung báo, tác giả thực nghiên cứu so sánh số thuật toán đảm bảo nhất quán liệu môi trường làm việc cộng tác, phân tán Hơn nữa, tác giả cũng đề xuất thuật toán để giải yêu cầu Các thuật toán đảm bảo nhất quán liệu hệ phân tán 2.1 Thuật toán Biểu tĩnh (Static Voting) [4,5] Thuật tốn Voting thuộc lớp giải thuật pessimistic [9] nhất quán liệu đảm bảo trường hợp mạng giao tiếp bị phân chia thành vùng khác lỗi đường truyền hay mỗi máy Mỗi tập tin đánh số gọi số phiên (version number) tập tin Số phiên ban đầu không sẽ tăng lần lượt lên đơn vị sau mỗi lần cập nhật Như vậy, có số phiên lớn nhất thời (bản cập nhật sau cùng) phân vùng Nếu hệ thống muốn thực cập nhật mới đối với tập tin, hệ thống sẽ thực gửi tập tin thời để thực cập nhật cho phân vùng thiếu, sau mới thực nhân theo nguyên tắc: Thực cập nhật tập tin phân vùng phân vùng chứa nhiều nửa số Node mà tập tin nhân Ví dụ, tập tin nhân cho 1000 Node, phân vùng phải chứa tối thiểu 500 Node Nếu khơng có phân vùng thỏa mãn điều kiện sẽ khơng thực cập nhật đối với tập tin Chính vậy, thuật tốn Voting có ưu điểm sử dụng để đảm bảo nhất quán liệu cho hệ thống có tần suất phân vùng cao Giải thuật không tối ưu số lượng message truyền mạng để thực yêu cầu cập nhật 2.2 Thuật toán vòng đề xuất Ellis (OEA)[6] Thuật tốn vịng đề x́t để giải tốn nhân hồn tồn theo mơ hình t̀n tự sở liệu phân tán Cấu hình hệ thống bao gồm Node tổ chức thành mạch vịng Các Node hoạt động độc lập, có nhớ cục xử lý yêu cầu người dùng cục mà phục vụ Các Node đánh số thứ tự 1, 2…n giao tiếp với bằng message theo mạch vịng Có nghĩa là, Nodei gửi message đến Nodei+1 nhận message từ Nodei-1 Hơn nữa, mỗi Node cũng gán độ ưu tiên tương ứng Π(i) nhận giá trị từ đến n Độ ưu tiên cao nhất thấp nhất n Mỡi Node cấu hình gồm: hàng đợi (E), hàng đợi (I) hoạt động theo 145 TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 nguyên tắc FIFO có trạng thái actif, passif, oisif Khi yêu cầu cập nhật tập tin từ người dùng cục gửi tới Nodei, sẽ đặt vào Ei để chờ xử lý Khi trạng thái Nodei actif, quyền gửi yêu cầu cập nhật tập tin cho Node khác mạng Khi message yêu cầu trở lại vị trí Nodei thực cập nhật tập tin Nodei sẽ gửi thông báo đến tất Node khác vào hàng đợi thực theo chế FIFO Như vậy, thành phần hàng đợi dãy thao tác ghi tương ứng với giao dịch RT nhãn thời gian (Timestamp) C giao dịch T (giao dịch cập nhật chính) tương ứng Do đó, hệ thống xử lý giao dịch RT để thực cập nhật thứ cấp phải vào nhãn thời gian C, nghĩa đảm bảo nhất quán liệu liệu thứ cấp Thuật tốn thiết lập độ ưu tiên mỡi Node để giải trường hợp có nhiều Node cũng gửi yêu cầu cập nhật Khi yêu cầu cập nhật Node có độ ưu tiên thấp sẽ đặt vào hàng đợi I Node có độ ưu tiên cao để chờ đến lượt xử lý Thuật tốn có số ưu điểm như: triển khai ứng dụng dễ dàng; thực hệ sở liệu; không phụ thuộc vào thời gian lan truyền cập nhật Node (nhiều thuật toán yêu cầu thời gian phải rất nhỏ cỡ vài giây) mà cần đảm bảo chế multicast FIFO, hệ thống khơng bị lỡi đường truyền; giảm số lượng message trao đổi mạng Giải thuật OEA có ưu điểm mỡi Node liên lạc với hai Node khác liền kề với cập nhật sẽ thực Node dành khóa Hơn nữa, giải thuật sử dụng rất trạng thái, không sử dụng nhãn thời gian (Timestams) kiện khóa cho thành phần tiết kiệm thời gian đọc Tuy nhiên, giải thuật cũng tồn hai bất lợi chủ yếu Một là, cập nhật liệu cần khóa tồn liệu, điều sẽ không cho phép cập nhật đồng thời trường hợp không xảy xung đột Hai là, để thực cập nhật, message phải truyền hai vòng, dẫn đến độ trễ lớn Nghiên cứu giải pháp nhất quán liệu Thuật tốn đảm bảo nhất qn liệu mà chúng tơi đề x́t dựa mơ hình nhất qn t̀n tự [11] 2.3 Thuật toán Refreshment[7] Thuật toán làm việc môi trường mạng cung cấp chế multicast tin cậy FIFO [8] Các Node cấu hình để hồn tồn tự chủ có phân biệt chức Node: Node Master (M) lưu trữ chính, Node Slave (S) lưu trữ thứ cấp Node Master/Slave (MS) lưu trữ hai Khi nút S lưu trữ thứ cấp nút M, ta gọi nút S Slave nút M sẽ có cung nối trực tiếp từ MS Như vậy, Node Master chịu trách nhiệm nhân liệu đến Slave (nơi chứa thứ cấp) Hệ thống sử dụng giao dịch update (T) để cập nhật chính, giao dịch refresh (RT) để cập nhật Mỗi Node Slave hoặc Node Master/Slave nhận message yêu cầu cập nhật sẽ đưa 146 Hình Cấu trúc liên kết các Node Hình Mơ hình chia sẻ nhớ TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 3.1 Mô tả cấu trúc hệ thống Cấu trúc mạng kết nối Node hệ thống (Hình 1) gồm có:  Tập hợp Node S1, S2, …Sn Mỡi Node cấu hình để làm việc độc lập có nhớ cục để lưu trữ nhớ toàn cục nhằm đáp ứng yêu cầu (yêu cầu đọc ghi liệu) người dùng mà phục vụ  Hệ quản lý, điều khiển nhân liệu  Tập người dùng cục quản lý Node 3.2 Thuật toán Mỗi Node quản lý nhớ tồn cục (Hình 2) Mọi thao tác đọc người dùng luôn thực nhớ cục Node quản lý người dùng Tuy nhiên, thao tác ghi( cập nhật) cần xếp theo trật tự tồn cục để đảm bảo tính nhất qn liệu nhân Các thao tác xử lý Node sau: Thao tác đọc bản liệu Nodei Value Read(ref x){ Return Replicai(x)} Thao tác đọc thực đơn giản Node cục đảm bảo giá trị trả đối tượng thời nhớ toàn cục Thao tác ghi (cập nhật liệu) Nodei Write(ref x, value v){ abroadcast(x,v,i); /* gửi yêu cầu ghi liệu lên hệ thống bằng giao thức Atomic broadcast*/ writei(x).wait();} Khi thực yêu cầu ghi liệu đối tượng x, Node cục sẽ gửi yêu cầu cập nhật liệu lên hệ thống bằng giao thức Abcast, để đảm bảo trật tự tồn cục, sau chờ hệ thống xử lý để thực cập nhật Có nghĩa là, có nhiều tiến trình thực Node khác cũng yêu cầu cập nhật sao, tất tiến trình nhận biết tồn thực cập nhật liệu trật tự toàn cục theo mơ hình nhất qn t̀n tự Xử lý u cầu ghi liệu Nodei Nodej Receive(ref x, value v, site i){ Replicaj[x]=v; If( j = = i) writei[x].notify()} Khi có yêu cầu cập nhật giá trị đối tượng x Nodej từ Nodei, Nodej sẽ thực cập nhật lại giá trị x bố nhớ cục 3.3 Điều kiện cần để thuật toán đảm bảo quán liệu Giả sử có r thao tác đọc x, có w thao tác ghi để thay đổi giá trị sao, điều kiện cần đối với thuật toán là:  r+w>n  w > n/2  Ngoài cần quản lý trật tự toàn cục đối với tất thao tác ghi 3.4 Đánh giá Người dùng thực đọc nhớ cục để lấy liệu có yêu cầu, thời gian đáp ứng nhanh Để đảm bảo nhất quán liệu thực yêu cầu ghi Node, thuật toán sử dụng giao thức Abcast để gửi thông báo tới tất Node khác hệ thống Đây giao thức không sử dụng nhiều message giảm lưu lượng lưu thơng mạng, từ giảm u cầu sử dụng băng thơng đường truyền Tuy nhiên, thuật tốn cũng có hạn chế nhất định như: mạng phải an toàn để thực gửi nhận message giao thức Abcast mỗi node cần có định danh nhất Kết luận hướng nghiên cứu Nhân liệu hệ phân tán giải pháp chủ yếu, then chốt sử dụng để đáp ứng yêu cầu sẵn sàng liệu hệ thống, từ tăng hiệu năng, hiệu ứng dụng Tuy nhiên, việc đảm bảo nhất quán liệu thách thức lớn kỹ thuật nhân nhằm đảm bảo tính sẵn sàng cao, giảm băng thông sử dụng, thời gian đáp ứng nhanh ứng dụng làm việc cộng tác, phân tán Chúng tơi thực nghiên cứu, phân tích, đánh giá cách đầy đủ thuật toán tiêu biểu đối với lớp toán Hơn nữa, chúng cũng thực nghiên cứu, đề xuất 147 TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 thuật tốn dựa mơ hình nhất qn liệu t̀n tự Đây mơ hình nhất quán yếu, có ưu việt như: giảm message lưu thơng mạng từ giảm sử dụng băng thơng, thời gian đáp ứng nhanh Ngồi ra, cấu hình mỡi Node cũng tương đối đơn giản, thuật toán cũng đơn giản triển khai thực Chúng cũng mặt hạn chế thuật toán như: yêu cầu ổn định mạng cao, mỡi Node tham gia hệ thống cần có định danh riêng Trong thời gian tới, chúng sẽ thực mơ thuật tốn cấu trúc mạng khác để thực so sánh, đánh giá tồn diện đối với thuật tốn TÀI LIỆU THAM KHẢO [1] Ranganathan, Kavitha, and Ian Foster "Identifying dynamic replication strategies for a highperformance data grid." Grid Computing—GRID 2001 Springer Berlin Heidelberg, 2001 75-86 [2] Djebbara, Mohamed Redha, and Hafida Belbachir "Gestion de Répliques dans les Grilles de Données." Ecole Supérieur d’Informatique–ESI (ex INI) Oued Semar–Alger, Lab LSSD Université des Sciences et de Technologies Oran–USTO [3] Goel, Sushant, and Rajkumar Buyya "Data replication strategies in wide area distributed systems." Enterprise Service Computing: From Concept to Deployment 17 (2006) [4] GIFFORD, D K Weighted voting for replicated data In Proceedings of the 7th Symposium on Operating System Principles (1979), pp 150-162 [5] SEGUIN, J., SERGEANT, G., AND WILMS, P A majority consensus algorithm for the consistency of duplicated and distributed information In Proceedings of the IEEE International Conference on Distributed Computing Systems (1979) IEEE, New York, 1979, pp 617-624 [6] C A Ellis, Consistency and Correctness of Duplicate Database Systems, Gth Symposium on Operating System Principles (1977) 67-84 [7] Pacitti, Esther, Pascale Minet, and Eric Simon "Replica consistency in lazy master replicated databases Proceeding VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases, Pages 126-137 [8] V Hadzilacos and S Toueg, A Modular Approach to faut-Tolerant Broadcasts and Related Problems, Technical Report TR 94-1425, Dept, of Computer Science, Cornell University, Ithaca, NY 14853, 1994 [9] Jajodia, Sushil and Mutchler, David “A Pessimistic Consistency Control Algorithm for Replicated Files which Achieves High Availability”, IEEE Transactions on Software Engineering, Vol 15, No 1, January 1989, pp 39-46 [10] Kotsakis, E G., and B H Pardoe "Dynamic Quorum Adjustment: A Consistency Scheme for Replicated Objects." Proceedings of the Third Communication Networks Symposium 1996 [11] Raynal, Michel, and André Schiper "From causal consistency to sequential consistency in shared memory systems." Foundations of Software Technology and Theoretical Computer Science Springer Berlin Heidelberg, 1995 (BBT nhận bài: 09/08/2013, phản biện xong: 19/08/2013) 148 ... hình để thực Trong nội dung báo, tác giả thực nghiên cứu so sánh số thuật toán đảm bảo nhất quán liệu môi trường làm việc cộng tác, phân tán Hơn nữa, tác giả cũng đề xuất thuật toán để giải... Các thuật toán đảm bảo nhất quán liệu hệ phân tán 2.1 Thuật toán Biểu tĩnh (Static Voting) [4,5] Thuật tốn Voting thuộc lớp giải thuật pessimistic [9] nhất quán liệu đảm bảo trường hợp... nhật đối với tập tin Chính vậy, thuật tốn Voting có ưu điểm sử dụng để đảm bảo nhất quán liệu cho hệ thống có tần suất phân vùng cao Giải thuật không tối ưu số lượng message truyền mạng để

Ngày đăng: 27/02/2023, 07:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN