Khảo sát, đánh giá một số thuật toán xử lý tương tranh cập nhật dữ liệu trong các hệ phân tán

7 29 0
Khảo sát, đánh giá một số thuật toán xử lý tương tranh cập nhật dữ liệu trong các hệ phân tán

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

Thông tin tài liệu

Đóng góp của tác giả trong bài viết là thực hiện nghiên cứu, đánh giá và so sánh các thuật toán đã được sử dụng, từ đó làm cơ sở tiếp tục nghiên cứu nhằm đề xuất cải tiến hoặc thuật toán mới.

TẠP CHÍ KHOA HỌC ĐẠI HỌC SÀI GÒN c p Số 10 (35) - Tháng 12/2015 ệ c c ệp â Algorithms for concurrent data processing in distributed systems PGS.TS Lê Văn Sơn Trường Đại học Đà Nẵng ThS Nguyễn Hồng Minh Trường Đại học An ninh nhân dân Assoc.Prof.,Ph.D Le Van Son The University of Da Nang M.Sc Nguyen Hong Minh University of People Security Trong môi trường phân tán, nhiều giao dịch thực cập nhật mục liệu thời điểm, ứng dụng cần xử lý tương tranh cập nhật mục liệu nhằm đảm bảo quán liệu (tính xác liệu), đồng thời nhiều giao dịch thực Đã có nhiều thuật toán đề xuất để giải yêu cầu Tuy nhiên thuật tốn cịn bộc lộ hạn chế tình trạng khóa chết (deadlock) hay phải khôi phục lại (restart) nhiều lần làm ảnh hưởng đến hiệu suất hoạt động ổn định ứng dụng Do đó, yêu cầu cải tiến đề xuất thuật toán nhằm đạt hiệu tốt cần thiết Đóng góp tác giả viết thực nghiên cứu, đánh giá so sánh thuật toán sử dụng, từ làm sở tiếp tục nghiên cứu nhằm đề xuất cải tiến thuật toán Từ khóa: thuật tốn, điều khiển tương tranh, nhân bản, hệ phân tán, quán… Abstract In distributed environments, when many transactions are performed on a data item at the same time, the application needs to handle access concurrently on this data item for both ensuring data consistency (the accuracy of the data) and executing maximum transactions There have been many proposed algorithms to meet this requirement However, they still reveal several limitations such as deadlock state or multiple restarts of the application, which affect its stability and performance Therefore, it is essential of the requirement for improving or proposing a new algorithm in order to get better efficiency Therefore, it is essential that improvements on the old algorithms or proposal of new ones be made The authors’ contributions on this paper is to conduct study, evaluation and comparison of used algorithms, which will then serve as a basis for further study to suggest improvements or new algorithms Keywords: algorithm, concurrency control, replication, distributed system, consistency… triển nhiều ưu điểm như: chi phí, hiệu năng, khả mở rộng, độ tin cậy tính phân tán cố hữu [5][6][8][9] Trong đó, kỹ Giới hiệu Ngày nay, nhiều ứng dụng phân tán, làm việc cộng tác quan tâm phát 15 thuật nhân liệu giải pháp hiệu để giải toán chia sẻ liệu dùng chung, giúp nâng cao khả sẵn sàng, độ tin cậy khả chịu lỗi hệ thống… Nhiều đối tượng liệu nhân tới nhớ cục Các tiến trình thực hồn tồn độc lập; khơng đồng khả xử lý, nhớ, băng thông, tần số vào/ra hệ thống… Vì vậy, nhiều tiến trình u cầu thực cập nhật (thao tác ghi) đồng thời đối tượng liệu dẫn đến tương tranh cập nhật nhiều Điều dẫn đến khơng quán không sẵn sàng đáp ứng liệu, chí nghiêm trọng bế tắc Do đó, giải toán tương tranh cập nhật liệu khó khăn, thách thức chủ yếu [10] Chẳng hạn ta có ví dụ sau: T1: Read(X) XX+1 Write(X) Commit T2: lượt cấp phát tài nguyên (dữ liệu) Tuy nhiên tài nguyên luôn bị chiếm giữ tiến trình khác mà khơng thể giải phóng Khơi phục lại: giao dịch cần xếp lịch để thực Nhưng độ trễ truyền thông, không hệ phân tán, giao dịch đến khơng theo trật tự xác Do hệ thống cần khơi phục lại nhiều lần để đảm bảo giao dịch xếp lịch cách xác Trong phạm vi bước đầu nhiệm vụ nghiên cứu nhằm đề xuất thuật toán cải tiến, tác giả thực phân loại, so sánh, đánh giá kỹ thuật, phương pháp tiếp cận giải thuật Phần lại báo trình bày sau: Phần trình bày kỹ thuật phương pháp tiếp cận; phần thực phân loại, so sánh, đánh giá thuật toán; kết luận hướng nghiên cứu, phát triển phần Kỹ thuật Phương pháp tiếp cận 2.1 Kỹ thuật Hiện có hai kỹ thuật chủ yếu sử dụng để xử lý tương tranh cập nhật liệu gồm: sử dụng khóa (Locking) nhãn thời gian (Timestamp Ordering) 2.1.1 Sử dụng khóa Khóa chế kiểm sốt nhiều cập nhật đồng thời vào mục liệu thời điểm Mục liệu bị khóa hai chế độ: exclusive(X) – mục liệu đọc ghi; shared(S) – mục liệu đọc Các khóa lưu trữ quản lý bảng khóa Thuật ngữ khóa tương thích để hai giao dịch có hai khóa mà chúng thực đồng thời mục liệu Giao dịch thực mục liệu cấp khóa phù Read(X) XX+1 Write(X) Commit Hai tiến trình T1 T2 đồng thời yêu cầu thực chuỗi thao tác đọc, ghi hoàn toàn độc lập đối tượng liệu X Mỗi tiến trình cho kết khác xẩy tương tranh cập nhật liệu ứng dụng khơng có chế quản lý, điều khiển phù hợp Do cần thiết thực đồng hóa giao dịch nhằm xử lý tương tranh cập nhật liệu giao dịch đồng thời đối tượng liệu nhằm đạt hai mục đích: đảm bảo tính quán liệu nhiều giao dịch đồng thời thực [13] Có nhiều nghiên cứu đề xuất [1][4][5][6][8][9][14] để giải toán tương tranh cập nhật liệu Tuy nhiên hạn chế sau: Khóa chết: tiến trình đợi đến 16 hợp mục liệu S X S True False X False False xử lý tương tranh giao dịch cần kiểm tra thực trước tiên [15] Sơ đồ minh họa: Validate Read Compute Write Phân loại, so sánh, đánh giá huậ oán xử lý ương ranh cập nhậ liệu Các thuật tốn xử lý tương tranh phân loại dựa kỹ thuật phương pháp tiếp cận Trong viết này, tác giả thực phân loại dựa phương pháp tiếp cận 3.1 Thuật toán sử dụng phương pháp tiếp cận Optimistic Thuật toán đề xuất [1] sử dụng khóa có nguyên lý đơn giản Khi giao dịch thực cập nhật mục liệu trước hết phải yêu cầu khóa cho mục liệu từ quản lý khóa Nếu mục liệu khóa khóa khơng tương thích (xem bảng tương thích khóa trên) với khóa u cầu giao dịch phải chờ đưa vào hàng đợi để thực Ngược lại giao dịch cấp khóa để thao tác với mục liệu Khi giao dịch hoàn thành, khóa giải phóng giao dịch hàng đợi thực Thao tác thực có tương thích khóa với xác suất 25% Đặc biệt thao tác ghi liệu Do đó, ứng dụng có nhiều giao dịch yêu cầu ghi liệu thuật tốn khơng hiệu Thuật tốn phù hợp thao tác đọc liệu chủ yếu Ngồi thuật tốn xảy trường hợp khóa chết Tức số giao dịch chờ đợi vơ thời hạn cần có can thiệp từ bên ngồi Thuật tốn đề xuất [4] dựa nhãn thời gian để kiểm tra giao dịch đến theo thứ tự xác, Hình 1: Ma rận ương hích kh a 2.1.2 Nhãn thời gian Mỗi giao dịch tham gia vào hệ thống gán nhãn thời gian Đó thời điểm bắt đầu giao dịch Giá trị nhãn thời gian thiết lập phép đếm logic đồng hồ hệ thống toàn cục đơn điệu tăng Do đó, nhãn thời gian gán trước giao dịch thực theo quy tắc: giao dịch Ti có nhãn thời gian TS(Ti), giao dịch Tj có nhãn thời gian TS(Tj) TS(Ti)= wts(X) TS(Ti) >= rts(X): thực thao tác Nếu rts(X) < TS(Ti) < wts(X): không thực Nếu TS(Ti) < rts(X): hủy bỏ giao dịch, quay trở lại để gán nhãn thời gian cho giao dịch Ti Bảng minh họa giao dịch T1, T2, T3 có nhãn thời gian 10, 20, 30 thao tác liệu X, Y Thuật toán xếp lịch cho giao dịch để giải yêu cầu tương tranh tránh khóa chết Tuy nhiên hệ thống phải thực khơi phục lại nhiều lần để thực gán nhãn thời gian cho giao dịch Bảng 1: Minh họa sử dụng nhãn thời gian Ti T1 T2 T3 10 20 30 X rts=0 wts=0 rts=20 rts=30 Đánh giá: Mọi thao tác xử lý thực đồng có yêu cầu ghi nên dẫn hủy bỏ giao dịch không thỏa mãn Ứng dụng phải khơi phục lại nhiều lần (chẳng hạn quay ngược lại để gán nhãn thời gian cho giao dịch ) Do đó, phương pháp tiếp cận Optimistic đạt hiệu cao có tương trang xảy giao dịch 3.2 Thuật toán sử dụng phương pháp tiếp cận Pessimistic Hiệu suất thuật tốn dựa khóa trình bày khơng cao (25%), khơng phù hợp với ứng dụng có nhiều yêu cầu ghi liệu đặc biệt dẫn đến chiếm dụng khóa khơng cần thiết, khóa chết Thuật tốn đề xuất [14] sử dụng khóa pha (2PL) với thao tác giao dịch nhằm nâng cao hiệu Hình 2: Sơ đồ kh a pha Pha nhấ (pha ăng rường): giành khóa Pha hai (pha hu hẹp): giải phóng khóa Lock point: thời điểm chuyển từ pha thứ sang pha thứ hai Thuật toán cho phép giao dịch thực xen kẽ nhằm nâng cao hiệu suất việc sử dụng khóa Tuy nhiên thuật tốn dẫn đến trường hợp Y rts=0 wts=0 R(X) R(X) W(Y) wts=20 W(A) 30 R(Y) ? Ti bị hủy bỏ phải quay lại để gán nhãn thời gian cho giao dịch 18 giao dịch bị hủy bỏ theo hiệu ứng chuỗi (cuộn nhau) Điều xảy giao dịch bị hủy bỏ sau chúng giải phóng khóa, dẫn đến giao dịch khác cập nhật tới mục liệu khơng bị khóa bị hủy bỏ theo Để khắc phục trường hợp thuật tốn khóa hai pha nghiêm ngặt cho phép giao dịch chiếm giữ khóa giao dịch kết thúc Trong ứng dụng, thuật tốn triển khai theo phương thức sau: a Sử dụng quản lý khóa trung tâm Chỉ site trung tâm chịu trách nhiệm quản lý khóa Mọi giao dịch có yêu cầu khóa phải liên lạc với để cấp khóa Phương pháp có ưu điểm dễ dàng triển khai, nhiên nhược điểm dễ xảy tắc nghẽn độ tin cậy thấp có nhiều yêu cầu tới site trung tâm hay site trung tâm gặp lỗi b Sử dụng quản lý khóa phân tán Một lựa chọn (primary copy) thơng qua thuật tốn Voting [7] Các khác gọi phụ thuộc Chỉ thực ghi sử dụng khóa thực lan truyền tới khác Nhiều quản lý khóa sử dụng đặt vị trí khác Mỗi quản lý khóa chịu trách nhiệm tập mục liệu Thuật tốn giảm chí phí truyền thơng hiệu suất tốt so với thuật toán sử dụng quản lý khóa trung tâm Tuy nhiên xử lý trường hợp khóa chết khó khăn c Sử dụng quản lý khóa phân tán Mọi site có quản lý khóa chịu trách nhiệm cấp khóa cho site Nếu site khơng có u cầu cập nhật liệu thuật tốn thực tương tự với sử dụng quản lý khóa phân tán Ngược lại, giao thức điều khiển nhân Read - one - Write - All (ROWA) [7] thực Đó là, mục liệu phải khóa trước thực cập nhật; thao tác đọc thực dành khóa Thuật toán đề xuất [11] sử dụng nhiều phiên mục liệu Do đó, thao tác ghi không làm thay đổi liệu mục liệu mà tạo phiên Thuật toán thực gán nhãn thời gian cho phiên tạo Chẳng hạn, mục liệu X có nhiều phiên X1, X2,…Xn  Yêu cầu đọc mục liệu X Ri(X) Thao tác thực với giá trị trả phiên Xv thỏa mãn: wts(Xv) giá trị lớn nhỏ TS(Ti)  Yêu cầu ghi mục liệu X Wi(X) Thao tác ghi sinh phiên mục liệu X gọi Xv có TS(Xv) = TS(Ti) lịch chưa có yêu cầu đọc Rj(Xr) phiên Xr mà TS(Ti) < rts(Xr), ngược lại thao tác ghi bị từ chối Thuật toán dựa nhãn thời gian đề xuất [12] thực sinh lịch giao dịch theo nhãn thời gian Tất thao tác giao dịch thực liên tiếp Trong lịch giao dịch thực tồn thao tác khơng có tương tranh Do giao dịch khơng phải đợi bị từ chối thực lịch xuất tình trạng khóa chết Khi chi phí số lần cần thiết phải khơi phục lại giao dịch Để khắc phục tình trạng phải khơi phục lại nhiều lần, thuật tốn cải tiến yêu cầu thao tác giao dịch phải lưu trữ đệm 19 hoàn thành việc xếp theo thứ tự nhãn thời gian Như khơng có giao dịch có nhãn thời gian nhỏ đến Do không xẩy trường hợp bị từ chối hay hệ thống phải khôi phục lại lại Tuy nhiên ứng dụng xẩy trường hợp khóa chết, giao dịch có nhãn thời gian nhỏ khơng đến đệm Đánh giá: Trong trường hợp có nhiều giao dịch xẩy tương tranh phương pháp tiếp cận Pessimistic có hiệu cao so với phương pháp tiếp cận Optimistic Chẳng hạn chi phí cần thiết để khơi phục lại hay trường hợp khóa chết Phương pháp sử dụng nhãn thời gian thứ tự xếp giao dịch định tĩnh, sử dụng khóa thứ tự định động Thuật toán sử dụng nhãn thời gian có hiệu ứng dụng có thao tác đọc chủ yếu Các giao dịch bị hủy bỏ định Thuật toán sử dụng khóa có hiệu ứng dụng có thao tác ghi chủ yếu Tuy nhiên dẫn đến chiếm dụng khóa khơng hiệu quả, yêu cầu giao dịch khác phải đợi chí dẫn đến khóa chết luận hướng nghi n cứu Các thuật tốn dựa kỹ thuật khóa nhãn thời gian tồn vấn đề khóa chết hay địi hỏi khơi phục lại nhiều lần Do làm giảm độ tin cậy, hiệu thuật tốn Bên cạnh hai phương pháp tiếp cận Optimistic Pessimistic có ưu nhược điểm riêng người xây dựng ứng dụng cần đánh giá u cầu, địi hỏi hệ thống, tốn đặt để từ lựa chọn phương pháp tiếp cận hiệu Nghiên cứu đánh giá so sánh thuật toán xử lý tương tranh cập nhật liệu bước quan trọng hữu ích nhằm tìm hiểu ngun lý, tảng tri thức khai mở vấn đề Thời gian tới, tiếp tục nghiên cứu lĩnh vực nhằm đề xuất thuật toán thực cải tiến xử lý tương tranh cập nhật liệu môi trường phân tán; thực mô phỏng, chứng minh tính tính đắn; so sánh, đánh giá toàn diện phương pháp ÀI LIỆU HAM HẢO Atul, et al Adya (1995), “Efficient optimistic concurrency control using loosely synchronized clocks”, ACM SIGMOD Record, pp 23-34, 24.2 Christoph, Rajesh Bordawekar, and Calin Cascaval von Praun (2008), “Modeling optimistic concurrency using quantitative dependence analysis”, Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, ACM Dag, et al Nyström (2004), “Pessimistic concurrency control and versioning to support database pointers in real-time databases”, RealTime Systems, 2004, ECRTS 2004, Proceedings, 16th Euromicro Conference on, IEEE Ho-Jin, and Byeong-Soo Jeong Choi (2006), “A timestamp-based optimistic concurrency control for handling mobile transactions”, Computational Science and Its ApplicationsICCSA 2006, pp 796-805 Jiming, et al Chen (2010), “Distributed collaborative control for industrial automation with wireless sensor and actuator networks”, Industrial Electronics, IEEE Transactions, pp 4219-4230, 57.12 Jun, et al Wang (2006), “Distributed collaborative filtering for peer-to-peer file sharing systems”, Proceedings of the 2006 ACM symposium on Applied computing, ACM Matthias, et al Wiesmann (2000), “Database replication techniques: A three parameter classification”, in Reliable Distributed Systems, 2000, SRDS-2000, Proceedings The 19th IEEE Symposium on IEEE 20 Michael E, et al Locasto (2004), Collaborative distributed intrusion detection Peng, et al Han (2004), “A scalable P2P recommender system based on distributed collaborative filtering”, Expert systems with applications, pp 203-210, 27.2 10 Philip A., and Nathan Goodman Bernstein (1981), Concurrency control in distributed database systems, CSUR 11 Philip A., and Nathan Goodman Bernstein (1983), “Multiversion concurrency controltheory and algorithms”, ACM Transactions on Database Systems (TODS), pp 465-483, 8.4 12 Quazi Ehsanul Kabir, and Hidenori Nakazato Mamun (2005), “Timestamp based optimistic concurrency control”, in TENCON 2005, 2005 IEEE Region 10 Conference Ngày nhận bài: 31/7/2015 13 R., Berard, P., and Decitre, P Balter (1982), “Why control of concurrency level in distributed systems is more important than deadlock management”, in Proc ACM SIGACT-SIGOPS 1st Symp, on the Principles of Distributed Computing, pp pages 183–193 14 Samuel Kounev (2001), “Eliminating ECperf persistence bottlenecks when using RDBMS with pessimistic concurrency control”, Technical Report, http://www dvs1 informatik tu-darmstadt de/~ skounev, Technical University of Darmstadt, Germany 15 Timothy R Learmont (2001), “Fine-grained consistency mechanism for optimistic concurrency control using lock groups”, U.S Patent, No 6,240,413, 29 May Biên tập xong: 15/12/2015 21 Duyệt đăng: 20/12/2015 ... lý ương ranh cập nhậ liệu Các thuật toán xử lý tương tranh phân loại dựa kỹ thuật phương pháp tiếp cận Trong viết này, tác giả thực phân loại dựa phương pháp tiếp cận 3.1 Thuật toán sử dụng phương... xây dựng ứng dụng cần đánh giá yêu cầu, đòi hỏi hệ thống, toán đặt để từ lựa chọn phương pháp tiếp cận hiệu Nghiên cứu đánh giá so sánh thuật toán xử lý tương tranh cập nhật liệu bước quan trọng... khác xẩy tương tranh cập nhật liệu ứng dụng khơng có chế quản lý, điều khiển phù hợp Do cần thiết thực đồng hóa giao dịch nhằm xử lý tương tranh cập nhật liệu giao dịch đồng thời đối tượng liệu nhằm

Ngày đăng: 25/10/2020, 09:00

Hình ảnh liên quan

Bảng 1 minh họa các giao dịch T1, T2, T3 cĩ nhãn thời gian là 10, 20, 30 thao tác  trên dữ liệu X, Y - Khảo sát, đánh giá một số thuật toán xử lý tương tranh cập nhật dữ liệu trong các hệ phân tán

Bảng 1.

minh họa các giao dịch T1, T2, T3 cĩ nhãn thời gian là 10, 20, 30 thao tác trên dữ liệu X, Y Xem tại trang 4 của tài liệu.
Bảng 1: Minh họa sử dụng nhãn thời gian - Khảo sát, đánh giá một số thuật toán xử lý tương tranh cập nhật dữ liệu trong các hệ phân tán

Bảng 1.

Minh họa sử dụng nhãn thời gian Xem tại trang 4 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan