Một trong những tư tưởng lớn của các hệ phân tán là phân tán hóa các quá trình xử lý thông tin và thực hiện các công việc đó trên các trạm xa nhau... Đặc điểm cơ bản Hệ tin học phân tá
Trang 1BÁO CÁO TIỂU LUẬN
GVHD: PGS.TS LÊ VĂN SƠN HỌC VIÊN: TRẦN VIẾT
LỚP: KHMT K24 ĐT: 0915 272 865
Trang 2NỘI DUNG BÁO CÁO
Trang 3 Một trong những tư tưởng lớn của các hệ phân tán
là phân tán hóa các quá trình xử lý thông tin và thực hiện các công việc đó trên các trạm xa nhau
Trang 4ĐẶT VẤN ĐỀ
Để thực hiện được như vậy, các tiến trình liên lạc với nhau, đòi hỏi phải có những cơ chế đồng bộ hóa để bảo đảm hoạt động của các tiến trình đồng hành không tác động sai lệch đến nhau
Trang 5CHƯƠNG I TỔNG QUAN VỀ HỆ PHÂN TÁN
Hệ tin học
Hệ tin học có thể bao gồm các thành phần cơ bản như phần
cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng,…
Các thiết bị phần cứng bao gồm bộ xử lý trung tâm, bộ nhớ
và các thiết bị ngoại vi và đóng vai trò là một trong hai loại tài nguyên của hệ thống tin học.
Các chương trình ứng dụng là thành phần tiếp theo sau hệ
điều hành được hiểu như là các phần mềm cơ sở phục vụ cho việc triển khai các ứng dụng cụ thể
Trang 6Hệ tin học
Như vậy xét về mặt quản lý – điều hành các hoạt động của hệ thống thì các thực thể vừa nêu trên bao gồm phần cứng, phần mềm, và
dữ liệu là những đối tượng mà hệ điều hành phải quan tâm Những đối tượng này chính
là thực thể cơ bản của hệ tin học
Trang 7Hệ tin học
Hình 1 Ba thực thể của hệ tin học.
Phần cứng
Phần mềm
Dữ liệu
Trang 8Hệ tin học phân tán
Hệ tin học phân tán là hệ thống không chia sẻ bộ
nhớ và đồng hồ Điều đó cho phép phân biệt với một xu hướng tin học khác về phân tán các tính toán trên nhiều bộ xử lý hay vi xử lý của hệ thống
đa bộ xử lý Như vậy, hệ tin học phân tán đòi hỏi
hệ thống phần cứng phải trang bị bộ nhớ cục bộ Các bộ xử lý trao đổi với nhau thông qua các hệ thống đường truyền khác nhau như là cáp chuyên dụng, bus trao đổi, đường điện thoại, đường cáp quang, mạng điện chiếu sáng cao và hạ thế, …
Trang 9Đặc điểm cơ bản Hệ tin học phđn tân
Căn cứ văo thănh phần của hệ tin học, hệ tin học phđn tân có thể bao gồm bốn thực thể sau:
Hình 2 Bốn thực thể của hệ tin học phđn tân.
Các hệ thống phần mềm
Hệ thống dữ liệu
Tập hợp phầ
n cứn g Hệ
thống truyền thông
Trang 10Đặc điểm cơ bản Hệ tin học phân tán
STT Tên gọi Giải thích
1 Chia sẻ tài nguyên Một tiến trình trên một trạm nào đó
có thể yêu cầu được cung cấp tài nguyên dùng chung ở một trạm khác.
2 Liên lạc Các thực thể của hệ thống có thể
trao đổi, liên lạc với nhau khi hệ thống đã được mắt nối với nhau.
Trang 11Đặc điểm cơ bản Hệ tin học phân tán
3 Tin cậy Một trạm của hệ bị sự cố thì không làm ảnh
hưởng cho toàn hệ, ngược lại, công việc của trạm đó được phân cho các trạm khác thực hiện Ngoài ra, trạm bị sự cố có khả năng phục hồi lại trạng thái trước khi bị sự cố hay trạng thái ban đầu của nó.
4 Tăng tốc Đây là khái niệm mới về phân tán tải Một
tính toán nào đó, nếu chỉ sử dụng một trạm, thì thời gian trả kết quả sẽ rất lớn Tính toán này được chia nhỏ và thực hiện song song trên các trạm Điều này cũng rất cần thiết đối với những trạm bị quá tải.
Trang 12Các vấn đề điều hành mạng máy tính
Liên lạc: là thuật ngữ được sử dụng để chi các tác vụ trao
đổi thông tin giữa các thực thể thuộc hệ thống, trong
đó thực thể gửi gọi là trạm phát Trạm phát sẽ phát thông tin cho một hay nhiều thực thể nhận, gọi là trạm nhận Thông tin trong quá trình gửi và nhận gọi là thông điệp.
Vấn đề trỏ thông tin : Trường hợp NSD mạng muốn liên
lạc với nhau, họ phải sử dụng hệ thống tên quy ước hay còn gọi là địa chỉ mạng Các địa chỉ này tuân theo nguyên tắc xây dựng nhất định và không trùng nhau Trong mạng, một NSD nào đó có thể sử dụng bất cứ trạm nào để liên lạc với NSD mà họ muốn.
Trang 13Thông điệp: Các thông điệp được chia cắt theo kiểu vật lý thông thường được phân nhóm nhằm thỏa mãn những ràng buộc đường truyền hoặc ràng buộc về lưu trữ Những thông điệp này còn gọi là các gói thông tin với kích cỡ cố định Trước khi phát thông tin vào đường truyền, trạm phát phải chia thông tin thành các gói theo quy ước chặt chẽ Quá trình này được tiến hành tự động ở các tầng thấp và NSD thường không thể biết.
Truyền thông: là sự trao đổi thông tin bằng hình thức thông điệp giữa các đối tượng gửi và đối tượng nhận Trao đổi thông tin có thể thực hiện dưới dạng từng đôi một gọi là đối thoại hoặc một đối tượng gửi cho nhiều đối tượng nhận gọi
là hội thảo
Các vấn đề điều hành mạng máy tính
Trang 14Các đặc trưng của hệ phân tán
- Tiếp nhận và ghi yêu cầu chỉ dẫn.
- Dịch yêu cầu để có thể tìm thông tin cần thiết Thực hiện một số việc riêng của hệ thống cục bộ như: kiểm tra quyền truy cập thông tin, lập hóa đơn dịch vụ…
- Gửi kết quả cho hệ thống đã phát yêu cầu.
Trang 15Các đặc điểm cơ bản của tất cả các hệ thống tin học phân tán là:
- Thời hạn truyền thông tin trong hệ không giống nhau, các thông điệp có thể bị mất trong quá trình chuyển tải, các thông điệp có thể được truyền kép và hệ thống có thể rơi vào sự cố
- Một (hay nhiều) máy tính cấu thành hệ phân tán có thể bị sự cố và hoạt động của tòan hệ trở nên kém hiệu quả
Trang 16CHƯƠNG II
GIẢI THUẬT LOẠI TRỪ TƯƠNG HỖ TRONG CUNG CẤP TÀI NGUYÊN DÙNG CHUNG TRONG HỆ PHÂN TÁN
(Trần Viết – KHMT K24)
Trang 17Đặt vấn đề
Tính cấp thiết về mặt nguyín lý vă kỹ thuật của vấn đề đồng bộ hoâ câc tiến trình thể hiện ở hai nguyín do cơ bản sau:
1 Nhìn chung, câc tiến trình kể cả câc tiến trình xuất phât
từ câc ứng dụng độc lập muốn truy cập văo câc tăi nguyín với
số lượng vốn rất hạn chế hay truy cập về thông tin dùng chung
cùng một lúc Trường hợp năy gọi lă tương tranh.
Vì vậy, tương tranh lă nguyín nhđn chính của câc xung đột giữa câc tiến trình muốn truy cập văo tăi nguyín dùng chung.
Trang 18GIẢI THUẬT LOẠI TRỪ TƯƠNG HỖ
2 Các tiến trình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực để giải quyết bài toán đặt ra và cho kết qủa nhanh chóng nhất Điều này cho phép tăng hiệu năng sử dụng thiết bị và hiệu qủa hoạt động của chương trình
Vì vậy, hợp lực là nguyên nhân chính của sự tác động tương hỗ được lập trình giữa các tiến trình nhằm cho phép chúng tham gia vào các hành động chung.
Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi phải có trao đổi thông tin qua lại với nhau Trong các hệ thống tập trung, điều đó được thực hiện nhờ thuật toán loại bỏ tương hỗ thông qua các biến cùng tác động trong một vùng nhớ chung Trong hệ tin học phân tán, các thông tin cần trao đổi thông qua các kênh thuộc hệ thống viễn thông
Trang 19Giới thiệu giải thuật loại trừ tương hỗ
Loại trừ tương hỗ có thể được điều khiển trên một trạm trung tâm có nhiệm
vụ nhận tất cả các thông điệp và khuyến nghị giải phóng Trạm này duy trì một hàng đợi, sắp xếp các yêu cầu theo trật tự đến và phục vụ cho từng thông điệp một trong trật tự này.
Trang 20Thuật toán loại trừ tương hỗ
Thuật toán loại trừ tương hỗ có thể mô tả theo sơ đồ sau đây
Trạm i của mạng có thể gửi cho các trạm khác thông điệp có dạng (T,Hi,i), trong đó Hi
là dấu của thông điệp có nghĩa là đồng hồ lô gích của nó và T có thể nhận một trong ba giá trị REQ, REL và ACQ
Ba giá trị này xác định bản chất của ba loại thông điệp khác nhau:
Trang 21Thuật toán loại trừ tương hỗ
Trang 22Giải thuật loại trừ tương hỗ
Mỗi trạm quản lý một hàng đợi các thông điệp được sắp xếp hoàn toàn bởi quan hệ => theo cặp <thời gian, số> của từng thông điệp Theo cấu trúc, hàng đợi luôn luôn chứa một thông điệp và chỉ một thường trực trong mỗi trạm, bao gồm trạm cục bộ Khi có một thông điệp được gửi đi bởi trạm i, đồng thời nó cũng được ghi trong hàng đợi của trạm này.
Giả sử rằng mỗi hàng đợi ban đầu chứa các thông điệp:
Mi = (REL,Hinit,i) trong đó, i, Hinit là thời điểm khởi sự giống nhau cho tất cả các trạm.
Trang 23Giải thuật loại trừ tương hỗ
Trên mỗi trạm, khi nhận được một thông điệp dạng (REQ, Hi,i) hay (REL,Hi,i) thông điệp này thay thế thông điệp Mi bất chấp nó là gì Khi nhận thông điệp loại (ACQ, Hi, i), thông điệp này thay thế Mi ngoại trừ nếu Mi là một yêu cầu mà trong trường hợp đó ACQ bị bỏ qua
Do vậy, ta có thể tiết kiệm việc gởi đi thông điệp ACQ cho trạm i khi trạm này đã gởi một thông điệp REQ và không còn thông điệp REL
Trang 24Giải thuật loại trừ tương hỗ
Trạm i được truyền vào đoạn găng khi thông điệp REQ của nó đến trước theo nghĩa của quan hệ ⇒ tất cả các thông điệp khác trong hàng đợi của nó Cần nhắc lại rằng hàng đợi chứa một thông điệp loại này trên một trạm.
Trang 25Giải thuật loại trừ tương hỗ
Kiểm nghiệm giải thuật
Trạm i đang ở trong đoạn găng là tram duy nhất nằm trong đoạn găng ấy Thực tế cho thấy thông điệp REQ được phát bởi i vẫn tiếp tục tồn tại trong tất cả các hàng đợi cho đến khi nó được thay thế bởi thông điệp REL
Trang 26 Trạm đã yêu cầu vào đoạn găng phải đảm bảo thời hạn và phải ra khỏi đoạn găng sau một khoảng thời gian xác định Thuật toán thể hiện tính đồng đều và tránh được tổn thất.
Giải thuật loại trừ tương hỗ
Trang 27 Ví dụ:
Xét một mạng bao gồm ba trạm, trong số
đó có hai trạm 1 và 2 yêu cầu vào đoạn găng tại thời điểm 2 của đồng hồ lo gics của chúng Tập hợp các thông điệp được truyền giữa chúng với nhau có thể mô tả trong hình
vẽ sau (hình 3) Trong hình vẽ này, ta cũng
có thể tìm thấy một số trạng thái của các hàng đợi thông điệp
Giải thuật loại trừ tương hỗ
Trang 28 Phản ứng với sự cố:
- Sự cố xảy ra với trạm chưa vào được trong đoạn găng không làm rối loạn hoạt động của giải thuật với điều kiện là nó gây ra việc truyền thông điệp đặc biệt
vang – mat (vắng) cho việc chuyển tải của mạng giao
vận Do có trang bị như thế, việc vào đoạn giăng trở nên không được nhanh chóng và dễ dàng cho các trạm khác Nếu trạm có xự cố đã gửi yêu cầu, thì nó kết thúc với lí do trở thành trước đối với tất cả các trạm khác.
Giải thuật loại trừ tương hỗ
Trang 29 Khi một trạm lại được đưa vào trong mạng sau khi đã có xự cố và đã khắc phục, nó cần phải kiến tạo lại trạng thái hiện hành của các yêu cầu Để đảm bảo
điều đó, nó phát đi thông điệp vao – lai (xin vào lại) và
để trả lời, các trạm gửi hoặc thời gian của yêu cầu
cuối cùng của nó REQ không được thỏa mãn (Nếu có tồn tại một REQ) hoặc một thông điệp REL Mạng
cần phải bổ khuyết cho các trạm bị xự cố bằng cách
gửi thông điệp vang – mat Khi nó đã nhận tất cả các trả lời cho thông điệp vao – lai, trạm vừa đưa vào đó
có thể bắt đầu lại bằng các yêu cầu.
Giải thuật loại trừ tương hỗ
Trang 30 Thuyết minh:
Để cho giải thuật này, điều kiện đủ là một trạm cần biết gần đúng trạng thái của trạm khác trên mạng Sự xấp xỉ này không đặc ra trạng thái mặc định cho loại trừ tương hỗ Nó có thể làm chậm một tý việc vào đoạn găng của một trạm
Giải thuật loại trừ tương hỗ
Trang 31Giải thuật loại trừ tương hỗ
(Hình 2: Loại trừ tương hỗ nhờ dấu)
Trang 32Kết luận:
Các dấu được cung cấp bởi đồng hồ lô gích cho
phép đánh dấu các sự kiện và xác định một trật tự
tổng quát chặt chẽ Nhưng, tại đây ta không có quan
hệ nào giữa các sự kiện và các giá trị của dấu.
Trân một trạm cho trước, việc nhận một thông điệp
có đóng dấu không thể cho nó biết được còn sự kiện nào đến trước sự kiện đó đang ở trên đường Như thế, ta còn phải nhận thông điệp từ các trạm khác còn lại.
Giải thuật loại trừ tương hỗ
Trang 33CHƯƠNG III
THUẬT TOÁN CHO PHÉP SẮP XẾP CÁC
THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 34SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Đặt vấn đề
Trong một số trường hợp cần phải sắp xếp toàn bộ theo kiểu chặt chẻ các sự kiện của
hệ Nguyên lý của vấn đề được khái quát
như sau: Một tiến trình nào đó gửi thông điệp
để yêu cầu sử dụng tài nguyên, một tiến trình
sử dụng xong tài nguyên nào đó truyền một thông tin giải phóng khi nó ngừng chiếm dụng
Trang 35Đồng bộ hoá theo một trật tự tổng quát chặt chẽ
Trong một số trường hợp cần phải sắp xếp toàn bộ theo kiểu chặt chẽ các sự kiện của hệ Nguyên lý của vấn đề được khái quát như sau Một tiến trình nào đó gởi thông điệp để yêu cầu
sử dụng tài nguyên; một tiến trình sử dụng xong tài nguyên nào đó truyền một thông tin giải phóng-khi nó ngừng chiếm dụng
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 36 Cung cấp tập trung
Nếu chỉ có một thông điệp đến chương trình cung cấp thì trật tự đến thể hiện một trật
tự chặt chẽ Ngược lại, nếu có nhiều thông
điệp đến cùng một lúc thì việc sắp xếp chúng phải theo kiểi loại trừ tương hỗ trong hàng
đợi cục bộ của trạm có chứa chương trình
cung cấp Điều đó cũng cho phép ta có được một trật tự chặt chẽ
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 37 Cung cấp phân tán
Vì lý do ổn định và hiệu quả mà ta phải phân tán chức năng cung cấp trên nhiều
trạm khác nhau Sự hoạt động gắn bó với
nhau giữa các chương trình cung cấp là rất
cần thiết để đảm bảo cho hoạt động cung
cấp được hoàn toàn chính xác
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 38Thuật toán cung cấp cho hệ phân tán
Trang 39Đóng dấu là hành vi gán giá trị nguyên
cho một thông điệp nhằm ghi nhận thời điểm truyền trên cơ sở tham chiếu đồng hồ logic
Nội dung cơ bản của phương pháp này là
tram phát được gắn một giá trị gọi là dấu Giá trị này có tính chất thời điểm cho trạm phát thông tin và dựa vào đồng hồ logic cục
Trang 40Thuật toán trật tự tổng quát chặt chẽ
Khái quát:
Thuật toán là sự suy rộng của Hàng đợi tập trung cho việc cài đặt phân tán
Thuật toán này được Lamport (1978) đưa
ra, nó sử dụng cơ chế đóng dấu thời gian cho việc đồng bộ các đồng hồ lôgic
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 41 Các kiểu thông điệp:
(REQ, C i , i) : Một yêu cầu cho việc truy cập vào miền găng CS của tiến trình Pi Yêu cầu này được
phát đi cho tất các các tiến trình khác.
(REP, C i , i) : Hồi âm từ tiến trình Pi cho tiến trình
Pj khi Pi nhận được yêu cầu từ Pj.
(REL, C i , i) : Thông điệp giải phóng từ Pi thông báo cho biết nó đã rời khỏi CS Thông điệp này được
gửi cho tất cả các tiến trình khác.
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 42Các biến tiến trình:
C i : Đồng hồ cục bộ của Pi, khởi tạo từ 0.
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 43Thuật toán:
Khi một tiến trình tại trạm Si muốn thi hành
đoạn găng, nó sẽ gửi thông điệp REQ có
đánh dấu thời gian cho tất cả các trạm trong
hệ thống kể cả trạm Si
Mỗi trạm duy trì một hàng đợi chứa các
thông điệp yêu cầu được sắp xếp theo trật tự các dấu thời gian; các đồng hồ logic và quan
hệ trật tự toàn cục được sử dụng để gắn các dấu thời gian
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN
Trang 44 Khi một trạm nhận được yêu cầu, nó sẽ đưa thông
điệp đó vào hàng đợi yêu cầu của nó theo thứ tự dấu thời gian và gửi một thông điệp trả lời REP Nếu cần, quan hệ trật tự toàn cụcđược sử dụng để phá vỡ các
sự ràng buộc
Ý tưởng chung là một tiến trình không thể thi hành
đoạn găng của nó cho đến khi nó nhận được trả lời
từ tất cả các trạm khác Các thông điệp trả lời sẽ
“flush out” các yêu cầu bất kỳ từ các tiến trình khác,
để chúng ta biết hàng đợi được cập nhật.
SẮP XẾP CÁC THÔNG ĐIỆP TẠI SEVER NHẬN