Tính không đồng nhất trong hệ phân tán là gì năm 2024

Mạng đồng tác giả là mạng lưới học thuật giữa các nhà nghiên cứu viết chung bài báo khoa học, mức độ kết hợp đồng tác giả có thể được đặc trưng bởi các độ đo liên kết. Đựa trên các đặc trưng đó, hình thành nhiều bài toán có ý nghĩa, trong đó có khuyến nghị cộng tác, gợi ý các tác giả có thể kết hợp trong tương lai hoặc tăng cường hợp tác. Bài báo này đề xuất một số độ đo liên kết mới dựa trên cộng đồng tác giả, kịch bản thiết lập bảng ứng viên động theo thời gian, và xây dựng một hệ khuyến nghị đồng tác giả sử dụng các độ đo đó.

Tính chất mấu chốt nhất phân biệt hệ phân tán với các hệ thống khác là tính trong suốt, thuật ngữ thường xuyên được nhắc trong các hệ thống phân tán. Nó là mục tiêu thúc đẩy việc che khuất đi những chi tiết phụ thuộc hệ thống mà không thích hợp đối với người dùng trong mọi hoàn cảnh và tạo ra một môi trường thuần nhất cho người dùng. Nguyên lý này đã được thực tế hóa khi thiết kế hệ thống máy tính qua một thời gian dài. Tính trong suốt trở nên quan trọng hơn trong hệ thống phân tán và thực hiện khó khăn hơn chính từ tính hỗn tạp của hệ thống.

Sự che khuất thông tin phụ thuộc hệ thống khỏi người dùng dựa trên việc cân bằng giữa tính đơn giản và tính hiệu quả. Một cách đáng tiếc, hai tính chất này là xung đột nhau. Bởi vậy, mong muốn một mục tiêu trong suốt hoàn toàn là không thích hợp. Hệ phân tán tốt là cố gắng đạt được tính trong suốt cao nhất có thể được. Tương tự như khái niệm "ảo" trong HĐH và "trừu tượng" trong ngôn ngữ lập trình, mục tiêu của tính trong suốt là cung cấp một cái nhìn lôgic thống nhất của một hệ thống vật lý hỗn tạp nhờ việc rút gọn hiệu quả việc nhận biết hệ thống vật lý tới cực tiểu (nói riêng, theo khía cạnh chia cắt vật lý của các đối tượng và điều khiển trong hệ thống).

-Tính trong suốt thể hiện trong nhiều khía cạnh, dưới đây là một số khía cạnh điển hình nhất:

- Trong suốt truy nhập: Truy nhập đối tượng địa phương/toàn cục theo cùng một cách thức. Sự tách rời vật lý của các đối tượng hệ thống được che khuất tới người dùng.

- Trong suốt định vị (còn được gọi là trong suốt tên): Người dùng không nhận biết được vị trí của đối tượng. Đối tượng được định vị và chỉ dẫn theo tên lôgic trong một hệ thống thống nhất.

- Trong suốt di trú (còn được gọi là độc lập định vị): là tính chất bổ sung vào trong suốt định vị theo nghĩa không những đối tượng được chỉ dẫn bằng tên lôgic mà đối tượng còn được di chuyển tới định vị vật lý khác mà không cần đổi tên.

- Trong suốt đồng thời: cho phép chia xẻ đối tượng dùng chung không gặp tranh chấp. Nó tương tự như khái niệm phân chia thời gian theo nghĩa khái quát.

- Trong suốt nhân bản: đưa ra tính nhất quán của đa thể hiện (hoặc vùng) của file và dữ liệu. Tính chất này quan hệ mật thiết với trong suốt đồng thời song được cụ thể hơn vì file và dữ liệu là loại đối tượng đặc biệt,

- Trong suốt song song: cho phép các hoạt động song song mà người dùng không cần biết hoạt động song song đó xẩy ra như thế nào, ở đâu và khi nào. Tính song song có thể không được người dùng đặc tả.

- Trong suốt lỗi: cung cấp khả năng thứ lỗi của hệ thống được hiểu là lỗi trong hệ thống có thể được biến đổi thành sự giảm hiệu năng hệ thống một cách mềm dẻo hơn chứ không phải chỉ là làm cực tiểu sự đổ vỡ và nguy hiểm đối với người dùng,

- Trong suốt hiệu năng: cố gắng giành được tính nhất quán và khẳng định (không cần thiết ngang bằng) mức độ hiệu năng thậm chí khi thay đổi cấu trúc hệ thống hoặc phân bố tải. Hơn nữa, người dùng không phải chịu sự chậm trễ hoặc thay đổi quá mức khi thao tác từ xa. Trong suốt hiệu năng còn được thể hiện là hiệu năng hệ thống không bị giảm theo thời gian.

- Trong suốt kích thước: liên quan đến tính mềm dẻo và tiềm tàng. Nó cho phép sự tăng trưởng của hệ thống được che khuất đối với người sử dụng. Kích thước hệ thống không tạo ra tác động đối với nhận thức của người dùng.

- Trong suốt duyệt lại chỉ dẫn rằng sự tăng trưởng hệ thống theo chiều dọc là tỷ lệ nghịch với sự tăng trưởng hệ thống theo chiều ngang. Sự duyệt lại phần mềm bị che khuất đối với người dùng. Trong suốt duyệt lại cũng được hiểu như trong suốt phân đoạn.

-Sau đây là một ví dụ giải thích. Trước đây khi điện thoại còn chưa phổ biến (điện thoại liên tỉnh hiếm hoặc rất đắt), dùng điện thoại nếu khoảng cách ngắn còn dùng thư nếu ở xa để liên lạc với người quen. Trường hợp này vi phạm tính trong suốt truy nhập do phương pháp liên lạc là không đồng nhất. Khi điện thoại liên tỉnh phát triển, giá cả giảm, nếu dùng điện thoại cố định thì liên lạc số điện thoại nội tỉnh khác với liên lạc với số điện thoại tỉnh ngoài (chẳng hạn, bổ sung thêm mã tỉnh). Trường hợp này vi phạm trong suốt định vị. Nếu một người chuyển chỗ ở phải thay số điện thoại mới (không thể dùng số điện thoại cũ) là vi phạm tính trong suốt di trú.

Một phương pháp liên lạc lý tưởng là trên phạm vi toàn hệ thống, có thể "gặp" đối tượng bất kỳ chỉ bởi tên toàn cục (ký hiệu hoặc số) chẳng hạn như số chứng minh nhân dân. Tiếp tục các ví dụ trên đây, nếu mọi người chỉ sử dụng điện thoại di động để liên lạc với nhau thì hệ thống như vậy được coi là thỏa mãn các tính chất trong suốt truy nhập, định vị và di trú.

Từ phân tích trên đây, nhận thấy rằng trong suốt truy nhập, định vị, và di trú có quan hệ gần gũi nhau.

Trong suốt song song, đồng thời, và hiệu năng được thiết kế nhằm che chắn sự quản lý các hoạt động đồng thời đối với các người dùng, dựa trên các quan hệ nội tại người dùng (intrauser), liên người dùng (interuser) và liên nút (internode). Cho phép thực hiện đồng thời ở các mức thực hiện khác nhau: nội tại một người dùng, giữa các người dùng, và giữa các nút phân tán. Trong suốt nhân bản và trong suốt lỗi có quan hệ với việc duy trì tính toàn vẹn hệ thống. Trong suốt kích thước và trong suốt duyệt lại cung cấp sự biến đổi uyển chuyển của hệ thống theo sự tăng trưởng về phần cứng và phần mềm.

Danh sách trong suốt được mô tả trên đây không phải là toàn diện. Tuy nhiên, danh sách này thích hợp với hệ phân tán. Chúng cũng được phân lớp khi xem xét mối quan hệ với các mục tiêu thiết kế hệ điều hành. Trong suốt đồng thời và hiệu quả cung cấp tính hiệu quả. Trong suốt truy nhập, định vị, di trú và kích thước liên quan đến tính mềm dẻo. Tính nhất quán liên quan tới trong suốt truy nhập, nhân bản và trong suốt hiệu năng. Cuối cùng, các trong suốt lỗi, nhân bản, và kích thước liên quan tới tính mạnh mẽ của hệ thống. Bảng 2.1 cho mối liên hệ giữa mục tiêu của hệ thống với tính trong suốt.

Bảng 2.1 . Phân lớp các tính trong suốt theo mục tiêu hệ thống

Mục tiêu của hệ thống Tính trong suốt Hiệu quả đồng thời / song song / hiệu năng Mềm dẻo truy nhập / định vị / di trú / kích thước / duyệt lại Bền vững truy nhập / nhân bản / hiệu năng Mạnh mẽ thứ lỗi / nhân bản / kích thước / duyệt lại

Thi hành HĐH phân tán và các thuật toán điều khiển phân tán tương ứng liên quan chạt chẽ tới việc thực hiện các tính trong suốt này. Nói tóm lại, hệ phân tán cung cấp sự tách rời vật lý của các đối tượng, tính trong suốt được dùng để che khuất đi tác động của sự chia tách vật lý này. Kết quả cuối cùng là người dùng nhìn hệ đa máy tính như một hệ máy tính đơn lôgic.

Bàn luận trên đây về tính trong suốt dựa trên các tính chất của hệ thống đáng mong muốn theo quan điểm của cả người dùng lẫn hệ thống. Các bài toán chính trong HĐH phân tán cũng được phân lớp theo tính trong suốt và được trình bày trong bảng 2.2. Nói tóm lại, mục tiêu của HĐH phân tán là cung cấp môi trường tính toán hiệu năng cao và mạnh mẽ với việc nhận biết ít nhất về quản lý và điều khiển của các tài nguyên hệ thống phân tán.

Bảng 2.2. Vấn đề của hệ phân tán và tính trong suốt

Vấn đề chính của hệ thống Tính trong suốt Truyền thôngĐồng bộThuật toán phân tán Trong suốt liên thao tác và điều khiển Lập lịch quá trìnhNắm giữ bế tắcCân bằng tải Trong suốt hiệu năng Lập lịch tài nguyênChia xẻ fileĐiều khiển đồng thời Trong suốt tài nguyên Kiểm soát lỗiCấu hìnhThu gọn Trong suốt lỗi

Các dịch vụ

HĐH được coi là "nhà" cung cấp dịch vụ và để thiết kế hiệu quả các dịch vụ này thì chúng nên được tổ chức và xây dựng theo phân cấp. Như vậy, dịch vụ được tạo nên từ các dịch vụ đã có và chúng ta nhận được một cấu trúc nhiều mức dịch vụ: dịch vụ nguyên thủy, dịch vụ từ phục vụ hệ thống và dịch vụ gia tăng giá trị.

Dịch vụ nguyên thủy

Dịch vụ nguyên thủy là mức thấp nhất trong hệ thống các mức dịch vụ, chúng là những dịch vụ cơ bản nhất, chúng tồn tại trong nhân của HĐH mỗi nút trong hệ thống.

Dịch vụ nguyên thủy, bắt buộc phải được đưa vào nhân của HĐH: điều này tương ứng với cách tiệm cận "nhân tối thiểu" (vi nhân) của HĐH tập trung. Ba dịch vụ (chức năng) cơ bản mà nhân buộc phải cung cấp được định danh như sau:

- Dịch vụ truyền thông: Trong hệ phân tán, truyền thông giữa các QT được thực hiện nhờ CTĐ, một tập các dịch vụ nguyên thủy gửi và nhận buộc phải được xác định và thi hành. Các dịch vụ nguyên thủy này truyền tin theo kênh lôgic.

- Gửi và nhận có thể đồng bộ hoặc dị bộ. Truyền thông đồng bộ thêm vào phục vụ mục đích truyền thông, được phát triển từ đồng bộ truyền thông liên QT (tại một nút) nhằm giúp ích cho truyền thông liên nút. Nếu CTĐ chỉ theo nghĩa tương tác QT, đồng bộ QT phải dựa vào truyền thông hoặc chính ngữ nghĩa đồng bộ của truyền thông hoặc bởi các phục vụ đồng bộ nào đó dựa trên CTĐ. Trước hết cần có các dịch vụ nguyên thủy đồng bộ (syschronous primitive), còn được gọi là dịch vụ kết khối (blocking primitive). Đối ngẫu với chúng là nguyên thủy dị bộ (asyschronous primitive) hay dịch vụ không kết khối (nonblocking primitive). Ngoài ra còn có các cặp dịch vụ nguyên thủy buffer (buffered primitive/ unbuffered primitive) và cặp các dịch vụ nguyên thủy tin cậy (reliable primitive/ unreliable primitive).

- Vì yêu cầu che đậy sự phụ thuộc vật lý trong hệ phân tán, mô tả bộ xử lý đa thành phần như là một phục vụ QT là phù hợp hơn. Dịch vụ QT quản lý việc phát sinh, loại bỏ và điều chỉnh các QT bằng cách định vị các tài nguyên cần thiết, chẳng hạn như bộ nhớ và thời gian xử lý. Việc giải đáp vấn đề bộ xử lý là cục bộ hay từ xa, yêu cầu bao nhiêu bộ xử lý rỗi tới các QT là trong suốt.

Phục vụ QT tương tác với các phục vụ QT khác thông qua truyền thông từ xa và đồng bộ.

Dịch vụ từ phục vụ hệ thống

Có rất nhiều dịch vụ tuy rất cần thiết song không bắt buộc phải đưa vào nhân, các dịch vụ này được các phục vụ hệ thống cung cấp. Dưới đây là một số dịch vụ điển hình nhất được liệt kê theo mức độ quan hệ với hệ thống phân tán.

Chức năng che giấu đối tượng vật lý bằng tên lôgic đòi hỏi tồn tại cơ chế ánh xạ tên lôgic thành đối tượng vật lý. Địa chỉ của một QT hay định vị một file có thể thu được theo cách ad-hoc (không dự tính trước), nhưng nói chung là qua xem xét của phục vụ tên hoặc phục vụ thư mục. Phục vụ tên thường được dùng để định vị (định danh) người dùng, QT, hoặc máy còn phục vụ thư mục thường được dùng để liên kết với file hoặc cổng truyền thông.

Nếu không thể định vị được phục vụ thì phục vụ là vô dụng vì vậy mọi phục vụ cần được định vị bởi dịch vụ tên. Như vậy phục vụ tên là phục vụ thiết yếu nhất trong hệ phân tán. Việc thu được địa chỉ và định vị từ phục vụ tên phụ thuộc hệ thống và buộc phải được giải thích thành đường truyền thông trước khi đối tượng được truy nhập. Các dịch vụ giải thích này, gồm chọn đường đi và chọn lộ trình thực sự của thông tin, là các dịch vụ được cung cấp bởi phục vụ mạng. Phục vụ mạng được trong suốt theo mức độ HĐH. Việc truyền phát TĐ trong mạng mà chưa dùng đến khả năng hỗ trợ hiệu quả của phần cứng cần tới một phục vụ truyền phát hay phục vụ khuyếch tán trong HĐH.

Phục vụ quan trọng tiếp theo là phục vụ thời gian. Đồng hồ (tổng quát hơn là bộ thời gian) được dùng để đồng bộ và lập lịch các hoạt động phần cứng và phần mềm trong mọi hệ thống máy tính. Về mặt lý thuyết thì không thể đưa vào hay chấp nhận một thông tin đồng hồ tổng thể tuyệt đối. Thậm chí có tồn tại một đồng hồ trung tâm (kiểu thời gian Greenwich) thì độ lệch thời gian vẫn xuất hiện do độ trễ khi tiếp nhận và ghi thông tin thời gian. Trong hệ phân tán, độ lệch này càng lớn do độ lệch truyền thông giữa các QT dài hơn. Tại nức HĐH, có hai kiểu sử dụng thông tin thời gian điển hình để đồng bộ các QT: (1) đòi hỏi một xấp xỉ gần gũi thời gian (chẳng hạn thời đoạn CPU phục vụ một QT) với đồng hồ thời gian thực và (2) sử dụng đồng hồ thời gian nhân tạo nhằm duy trì quan hệ nhân quả thứ tự sự kiện (sự kiện nào xuất hiện trước trong hai sự kiện). Tương ứng, chúng được gọi là đồng hồ vật lý và đồng hồ lôgic. Mục đích dùng đồng hồ vật lý là đảm bảo tính đồng bộ thao tác hoặc đòi hỏi rằng thao tác thực sự được giải quyết tại một thời điểm thời gian thực. Thời gian buộc phải phù hợp nhờ một độ đo thực sự nào đó song việc có gần gũi với thời gian thế giới thực hay không là không quan trọng. Đồng bộ các QT sử dụng đồng hồ lôgic do cần duy trì một thứ tự tổng thể việc xuất hiện các sự kiện nhằm tin chắc chắn vào tính đúng đắn về sự phụ thuộc lẫn nhau của các thao tác. Phục vụ thời gian cho đồng hồ vật lý dựa trên việc xấp xỉ tốt nhất đồng hồ thời gian "thực". Giải pháp thực hiện đồng bộ đồng hồ logic là hợp lý và được thực hiện bằng đồng hồ lôgic Lamport xuất hiện trước.

Phục vụ tên và phục vụ thời gian là các phục vụ thông tin. Thông thường, còn đòi hỏi thêm các phục vụ hệ thống khác nhằm quản lý tài nguyên hệ thống được chia xẻ. Ví dụ quen thuộc đó là phục vụ file và phục vụ in. Phục vụ file có thể được nhân bản hay tách nếu file không biến đổi. Các phục vụ có thể được cấu trúc thứ bậc, chẳng hạn, phục vụ file có thể chứa các phục vụ con thư mục hoặc an toàn để điều khiển truy nhập và xác nhận quyền; phục vụ QT có thể bổ sung thành một phục vụ di trú với sự cộng tác của phục vụ QT để thuận tiện chuyển QT từ nút này sang nút khác. Trong một hệ thống phân tán rộng lớn mà các QT truyền thông có thể nghi ngại nhau, cần đến một phục vụ xác định tin cậy để xác định định danh quá trình. Phục vụ hệ thống cung cấp những dịch vụ cơ sở để quản lý quá trình, file, truyền thông quá trình.

Dịch vụ gia tăng giá trị

Dịch vụ gia tăng giá trị là dịch vụ không nhất thiết được thi hành trong hệ thống phân tán nhưng lại rất hữu ích để hỗ trợ các ứng dụng phân tán. Về phía người dùng, sử dụng các ứng dụng phân tán được thúc đẩy không chỉ với mong muốn làm tăng hiệu năng tính toán và tăng việc thứ lỗi mà còn cần được tạo ra các hoạt động cộng tác. Mặt khác, cần quan tâm tới khái niệm nhóm các quá trình tương tác. Nhóm tính toán tựa như một tổ chức xã hội và cần thiết phải được quản lý.

Phục vụ nhóm quản lý việc khởi tạo và kết thúc các hoạt động nhóm, bao gồm cả địa chỉ nhóm và truyền thông. Nó thực hiện cả chức năng quản lý thông tin như tính thành viên, chính sách kết nạp và đặc quyền của thành viên. Quyết định của nhóm về việc thu nhận hoặc rời khỏi nhóm được thi hành bởi người lãnh đạo nhóm hoặc sự nhất trí của toàn thể thành viên trong nhóm. Nghi thức nhóm đảm bảo tính chất xác định của nhóm. Cấu trúc nhóm biến động theo các ứng dụng. Ví dụ, nhóm tin trên mạng, nhóm hội thảo phân tán, nhóm soạn thảo đồng thời, nhóm tính toán phân tán trải từ kết nối lỏng đến kết nối rất chặt (tăng dần theo mức độ gắn kết) với các quy tắc chi phối cứng rắn. Khi một ứng dụng nhóm trở thành chuẩn tắc thì nó được trộn vào hệ thống trở thành một dịch vụ mới. Theo nghĩa này, phục vụ hội thảo phân tán, phục vụ soạn thảo đồng thời là cần đưa vào hệ thống. Phục vụ Web là một ví dụ phục vụ giá trị giá tăng chuẩn tắc.