Tải bản đầy đủ (.pptx) (71 trang)

Nhân bản và nhất quán trong hệ thống phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (923.43 KB, 71 trang )

CHƯƠNG 7:
Nhân bản và Nhất Quán
(Replication and Consistency)
Câu hỏi:
1.Thế nào là scale technique?
2.Tạo bản sao của thành phần nào? Các lý do phải tạo bản sao?
3.Trong hệ thống không phân tán có tạo bản sao hay không? nếu có cho ví dụ?
4.Việc tạo và sử dụng bản sao có khó khăn gì?
5. Nhất quán là gì? Tại sao phải nhất quán?
6. Khó khăn của việc nhất quán? Giải pháp là gì?
7. Tại sao phải đưa ra mô hình nhất quán? Cơ sở nào để đưa ra các mô hình nhất quán?
8.Giải thích các mô hình nhất quán tiêu biểu và tính mạnh yếu?
9. Những công việc nào phải thực hiện khi cài đặt một hệ thống bản sao và vai trò của giao
thức phân tán?
10. Vai trò của giao thức nhất quán? Cài đặt và hoạt động?
Thành viên:
o
Lê Văn Ninh
o
Nguyễn Hữu Phước
o
Nguyễn Lê Thanh
o
Phạm Thành
o
Lê Đức Thịnh
o
Nguyễn Quốc Thành
1.Thế nào là scale technique?
o
Scale technique là các kĩ thuật liên quan đến tính mở rộng


(scalabitiy) của hệ thống, cụ thể là các kĩ thuật sẽ giúp hệ
thống được mở rộng.
o
Việc mở rộng trong hệ thống phân tán có thể hiểu là việc
gia tăng số lượng các thành phần để tăng hiệu suất xử lí.
2.Tạo bản sao của thành phần nào? Các lý do phải tạo bản sao?
o
Trong hệ thống phân tán, ta cần tạo bản sao của dữ liệu
(data) và server.
o
Có hai lí do để tạo bạn sao:

Tăng độ tin cậy (reliability).

Tăng hiệu suất (performance).
2.Tạo bản sao tăng độ tin cậy:
Ví dụ 1: Nhân bản một tập tin hệ thống sẽ tăng độ tin cậy của hệ
thống vì khi một bản sao bị hỏng bằng cách đơn giản là chuyển sang
dùng một trong những bản sao khác.
Ví dụ 2: Nhân bản server sẽ giúp tăng độ tin cậy của hệ thống. Khi
một server bị tấn công (DOS, DDOS) hoặc hư hại gì đó, ta có thể
chuyển sang server để dùng, ngoài ra, ta có thể sử dụng các bản sao
của server để sửa chữa các server bị hư hại.
2.Tạo bản sao tăng hiệu suất (1/2)
Ví dụ 1: Bằng cách đặt một bản sao của dữ liệu “gần gũi” với các quá
trình sử dụng chúng, thời gian truy cập dữ liệu của các tiến trình sẽ
giảm.
2.Tạo bản sao tăng hiệu suất (2/2)
Ví dụ 2: Nhân bản server để tăng hiệu suất. Nguyên tắc cơ bản để
tăng hiệu suất làm việc là tăng số tiến trình xử lí song song. Dựa vào

đó, trong hệ thống phân tán, ta có thể được cải thiện hiểu suất bằng
cách tạo ra bản sao của máy và sau đó phân chia công việc cho từng
bản sao đó để làm .
Chẳng hạn, Google đặt nhiều server tại nhiều quốc gia, giúp việc xử lí
trên google search, youtube… nhanh hơn hẳn các dịch vụ của các
công ty khác  Đảm bảo trong suốt về vị trí của hệ thống phân tán.
3.Trong hệ thống không phân tán có tạo bản sao hay không? (1/2)
Ví dụ 1: Trong kiến trúc máy tính ta có bộ nhớ cache. Bộ nhớ là một
thành phần lưu trữ các dữ liệu có thể được yêu cầu trong tương lai
nhờ đó mà giảm thiểu thời gian truy xuất dữ liệu của các tiến trình.
Các dữ liệu được lưu trữ trong bộ nhớ cache có thể là kết quả của
một tính toán trước đó, hoặc các bản sao của dữ liệu được lưu trữ ở
nơi khác.
3. Trong hệ thống không phân tán có tạo bản sao hay không? (2/2)
Trong mạng máy tính, ta có Web cache (hay còn gọi proxy server) sẽ lưu trữ các
trang thường hay truy cập, nhờ đó mà giảm tải cho server.
4. Việc tạo và sử dụng bản sao có khó khăn gì?
o
Việc sử dụng bạn sao sẽ đặt ra vấn đề về tính nhất quán của dữ
liệu: phải cập nhật lại tất cả các bản sao khi có một bản sao thay
đổi.
5. Nhất quán là gì ?
Nhất quán là đồng bộ các bản sao sao cho hệ thống luôn
được đồng bộ về dữ liệu:khi một bản sao được cập nhật thì
các bản sao của nó ở các máy trong hệ phân tán củng được
cập nhật theo.
5.Tại sao phải nhất quán?
o
Việc sử dụng bản sao gây ra các hạn chế đó là tính nhất quán dữ liệu
của hệ thống bị suy giảm.


Do sử dụng bản sao nên có thể xảy ra trường hợp có sự thay đổi trên một dữ liệu
mà không cập nhật trên các bản sao của nó.

Điều này gây ra sai sót trong hệ thống.
6.Khó khăn của việc nhất quán.
Khó khăn của việc nhất quán: Các bản sao được phân tán
trên diện rộng vấn đề đặt ra là làm sao xác định được bản
sao ở đâu đang được cập nhật một cách nhanh chóng nhất.
Nếu các bản sao ở xa thì rõ ràng là việc cập nhật 1 bản
được update sẽ gây ra tốn đường truyền trong mạng (đồng
bộ toàn bộ các bản sao) mà việc thực hiện nhân bản này
nhằm tăng hiệu năng của hệ thống nên nếu đồng bộ không
hợp lý thì sẽ làm giảm hiệu năng của toàn hệ thống.
6.Giải pháp của việc nhất quán.
Giải pháp: chỉ áp dụng với các hệ phân tán đọc và ít cập nhật.
Các bản cập nhật sẽ được cập nhật tuy nhiên tiến trình của
người dùng sẽ truy cập được vào bản cập nhật này sau 1 thời
gian nhất định, để đảm bảo không có vấn đề lỗi khi 1 tiến trình
đang ghi trong khi 1 tiến trình khác đang đọc.
7.Tại sao phải đưa ra mô hình nhất quán?
o
Trong một hệ thống phân tán kho dữ liệu có thể được đọc hay ghi bởi
bất cứ một tiến trình nào. Tuy nhiên dữ liệu ghi vào một bản sao cục bộ
phải đảm bảo củng được truyền tới tất cả các bản sao ở xa vì thế nên
các mô hình nhất quán ra đời
o
Một mô hình nhất quán có thể được coi như một bản hợp đồng giữa một
kho dữ liệu của hệ phân tán với các tiến trình của nó. Nếu các tiến trình
đồng ý với các điều khoản của hợp đồng thì kho dữ liệu sẽ hoạt động

đúng như như tiến trình mong muốn.
7.Cơ sở đưa ra mô hình nhất quán
o
Dựa trên đối tượng cần đảm bảo tính thống nhất:

Data cebntric consisitency models.

Client Centric consisitency models.
o
Dựa theo tính mạnh yếu của sự nhất quán:

Strong consistency.

Weak Consistency.
Các mô hình nhất quán tiêu biểu
o
Dựa trên đối tượng cần đảm bảo tính thống nhất:

Data cebntric consisitency models.

Client Centric consisitency models.
o
Dựa theo tính mạnh yếu của sự nhất quán:

Strong consistency.

Weak Consistency.
Consistency Models
Consistency Models
Consistency models là gì?

Là một hợp đồng thiết yếu giữa một data store và các process, trong đó data store
chỉ ra một cách chính xác kết quả đọc và ghi nào xuất hiện đồng hành
Phân loại:
Data centric consistency model (mô hình nhất quán
hướng dữ liệu)
Strong consistency models
Weak consistency models
Client centric consistency model (mô hình nhất quán
hướng client)
Data centric consistency models
o
Strong consistency models

Strict consistency - mô hình nhất quán chặt chẽ.

Linearizability – mô hình nhất quán tuyến tính.

Sequential consistency – mô hình nhất quán tuần tự .

Causal consistency – mô hình nhất quán nhân quả.

FIFO consistency – mô hình nhất quán FIFO.
o
Weak consistency models

General weak consistency – mô hình nhất quán yếu chung.

Release consistency – mô hình nhất quán yếu đi ra.

Entry consistency - mô hình nhất quán yếu đi vào.

Strict Consistency
Mô hình nhất quán chặt chẽ cần thỏa mãn các điều kiện:
Thao tác đọc bất kì trên mục dữ liệu x đều trả về một giá trị tương ứng với kết quả
của thao tác ghi gần nhất trên x đó. Sử dụng khái niệm thời gian tuyệt đối, thời gian
tuyệt đối này là tổng thể cho cả hệ thống để xác định đúng khái niệm “gần nhất”.
P1
R(x)a
W(x)a
P2
Giả sử: tất cả các data item
đều được khỏi động là NIL
W(x)a: giá trị a được ghi vào x
R(x)a: đọc x trả về giá trị a
Hành vi này là đúng trong strict consistency
R(x)NIL
Hành vi này là sai trong strict consistency
Strict Consistency
Strict consistency là những gì chúng ta có trong trường hợp tuần tự thông thường, trong đó
chương trình của chúng ta không cản trở bất kì của chương trình nào khác.
Khi datastore là strictly consistent, tất cả các hoạt động ghi là có thể nhìn thấy ngay đối với tất cả các
process và trật tự theo thứ tự thời gian toàn cục tuyệt đối được duy trì
Nếu một data item bị thay đổi, tất cả các hoạt động đọc được thực hiện trên dữ liệu đó đều trả về một giá
trị mới, bất chấp hoạt động đọc diễn ra sớm như thế nào khi thay đổi, và bất chấp process nào đang đọc cùng vị
trí của chúng.
Nếu một hoạt động đọc được thực hiện, nó lấy giá trị hiện hành, bất kể hoạt động ghi kế tiếp diễn ra nhanh
như thế nào.
Điều này không thể cài đặt trong distributed system

Ưu điểm


Nhược điểm
Sequential Consistency
Mô hình nhất quán tuần tự Sequential Consistency:
là một mô hình yếu hơn strict consistency. Một data store được cho là mô hình nhất quán
tuần tự khi nó thỏa mãn điều kiện sau: Kết quả của bất kỳ sự thực thi nào đều giống như kết
quả thực thi hoạt động đọc và ghi bởi tất cả các process trên dât store theo tuần tự có thứ tự
nào đó và các hoạt động của mỗi process xuất hiện trong tuần tự này theo trật tự được chỉ ra
bởi chương trình.
Khi các process chạy đồng hành trên các máy tính khác nhau, bất kì hoạt động đọc ghi xen
lẫn hợp lệ đều là hành vi có thể chấp nhận.
Tất cả các process đều thấy sự thực thi xen lẫn giống nhau.
Không điều nào đề cập đến thời gian
Một process thấy các hoạt động ghi từ tất cả các process nhưng chỉ thấy hoạt động đọc của
mình
Sequential Consistency
P1
P2
P3
P4
W(x)a
R(x)b
R(x)aR(x)b
W(x)b
R(x)a
P1 thực hiện W(x)a sau đó P2
cũng thực hiện W(x)b
P3 và P4 đọc giá trị b sau đó
đọc giá trị a

Ưu điểm


Nhược điểm
R(x)a R(x)b
Đây là Sequential ConsistencyĐây không là Sequential Consistency

×