Chúng ta có thể trao đổi thông tin, quản lý toàn bộ nhân sự của một đơn vị với nhiều chi nhánh trên toàn quốc hoặc ở các quốc gia khác nhau, chúng ta có thể ở nhà để đăng ký vé máy bay,
Trang 1MỤC LỤC
CHƯƠNG I 3
TỔNG QUAN VỀ HỆ TIN HỌC PHÂN TÁN 3
I.HỆ TIN HỌC: 3
II.HỆ TIN HỌC PHÂN TÁN: 3
1 Đặc điểm cơ bản của hệ tin học phân tán 4
2.Các vấn đề điều hành mạng máy tính: 5
3 Các đặc trưng của hệ phân tán 5
2 Hoạt động các tiến trình 7
5 Thuyết minh: 10
III KẾT LUẬN: 11
III SẮP XẾP KIỂU ĐỐNG DẤU: 13
Đóng dấu: 13
Nội dung cơ bản của phương pháp này: 13
1 Thuật toán trật tự tổng quát chặt chẽ 13
1.1 Thuật toán LamPort 13
1.2 Ứng dụng thuật toán trong hệ phân tán: 18
- Trường hợp 1: 18
- Trường hợp 2: 18
Trường hợp 3: .19
IV KẾT LUẬN: 19
TÀI LIỆU THAM KHẢO 20
Trang 2LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển nhanh, vượt bậc của nền Khoa học - Công nghệ Mạng máy tính ra đời làm cho thế giới của chúng ta dường như nhỏ lại và mọi người trở nên gần nhau hơn và mọi người có thể trao đổi thông tin với một khối lượng lớn và khoảng cách xa hơn với thời gian nhanh hơn Trên thực tế, một xu hướng kỹ thuật mới ra đời - xu hướng phân tán các thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và sản xuất thông tin trên cơ sở mạng máy tính Vì vậy nếu chúng ta ngồi trước máy vi tính có nối mạng (LAN, WAN, Internet, …) thì hầu như chúng ta có được mọi thứ Chúng ta có thể trao đổi thông tin, quản lý toàn bộ nhân sự của một đơn vị với nhiều chi nhánh trên toàn quốc hoặc ở các quốc gia khác nhau, chúng ta có thể ở nhà để đăng ký vé máy bay, vé tàu xe, mua hàng tại siêu thị, thanh toán tiền qua hệ thống E-Banking của ngân hàng, … Song để khai thác có hiệu quả hệ thống, vấn đề quan trọng là chiến lược khai thác và sử dụng các tài nguyên dùng chung như thế nào? Chiến lược khai thác các tài nguyên dùng chung này là chức năng cũng như đối tượng nghiên cứu của các hệ tin học phân tán Trong thực
tế, hệ tin học phân tán với những nguyên lý, phương pháp của nó đã và đang được nhiều người quan tâm để có thể vận dụng trong quá trình tác nghiệp của mình Hiện tại, các nội dung mang tính lý thuyết nguyên lý của hệ tin học phân tán còn nhiều vấn đề chưa được giải quyết triệt để và đang là mục tiêu khám phá của nhiều nhà nghiên cứu về công nghệ thông tin.
Trong phạm vi của bài tiểu luận này, với những kiến thức mà tôi đã được học, đọc cũng như tự tìm hiểu thêm từ sách báo và mạng Internet, tôi xin trình bày hai nội dung theo trình tự như sau:
1 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.
2 Hãy nêu các bước (thuật toán) cho phép sắp xếp các thông điệp tại Server nhận.
Với một lĩnh vực còn mới mẻ, đa dạng và phức tạp như trên vì vậy việc tìm hiểu của tôi còn
nhiều hạn chế Kính mong nhận được sự góp ý, định hướng của Thầy PGS.TS Lê Văn Sơn và các
bạn cùng lớp để tôi có thể tiếp tục nghiên cứu và đạt được kết quả tốt hơn trong thời gian tới Xin chân thành cảm ơn !
Học viên thực hiện
Trần Viết
Trang 3CHƯƠNG I TỔNG QUAN VỀ HỆ TIN HỌC PHÂN TÁN
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ể
Người sử dụng là một đối tượng phải được hiểu theo nghĩa rộng, dưới góc độ hệ điều hành NSD có thể là cách nhà chuyên môn, các máy tính, các hệ tự động vân hành gắn với máy tính,… đang khai thác hệ thống qua các lệnh điều khiển theo một thuật toán nào đó nhằm đạt được mục tiêu xác định từ trướ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
Hình 1 Ba thực thể của hệ tin học.
II HỆ 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
Phần cứng
Phần mềm
Dữ liệu
Trang 4chuyí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ế, …
1 Đặc điểm cơ bản của 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.
Để xđy dựng một hệ tin học phđn tân, cần phải quan tđm đến 4 vấn đề sau:
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.
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ó.
Đđ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.
Các hệ thống phần mềm
Hệ thống
dư î liệu
Tập hợp phần
c ư ï ng
Hệ thống truyền thông
Trang 5Mộ trong những tư tưởng lớn của hệ tin học 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 Đó là những cơ sở căn bản cho việc xây dựng các ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử, thư viện điện tử số
và bệnh viện ảo
2 Các vấn đề điều hành mạng máy tính:
a 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
b 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
c Thô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
d 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
3 Các đặc trưng của hệ phân tán
a Trình tự và đồng bộ các tiến trình: chỉ ra các vấn đề đồng bộ có thể dẫn đến phải thiết
chế một trật tự tổng quát của các sự kiện diễn ra trong hệ cần phải xác định mối liên hệ trao đổi thông qua các thông điệp với thời hạn truyền khác nhau, những thông tin tạm thời trao đổi không
có giá trị tuyệt đối và trình tự tổng quát cần phải được thể hiện bằng phương tiện giải thuật đảm bảo hoạt động nhịp nhàng giữa các tiến trình có liên quan với nhau
b Cung cấp tài nguyên: cho thấy những khó khăn gặp phải trong quá trình phân tán dữ liệu
và cung cấp các tài nguyên vật lý hay logic Trong không gian phân tán, khó có thể nắm bắt được
Trang 6ngay lập tức trạng thái tổng quát của việc cung cấp tài nguyên và cũng khó có thể tránh được tình trạng bế tắc diễn ra Tồn tài nhiều biện pháp khác nhau cho phép khắc phục hiện tượng vừa nêu
c Các thao tác chuẩn của hệ phân tán bao gồm:
- 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
Hệ thống gửi yêu cầu gọi là Client, còn hệ thống tiếp nhận và giải quyết yêu cầu gọi là Server Phép toán yêu cầu chỉ dẫn gọi là phép giao dịch Hệ hoạt động theo kiểu này là tuân thủ các
ý tưởng của mô hình Client/Server
Trong mô hình này việc bảo đảm tính toàn vẹn dữ liệu là một trong các yêu cầu quan trọng hàng đầu Một trong những biện pháp có thể áp dụng để giải quyết vấn đề này là sử dụng thủ thục
then_cai và mo_then_cai với các đối tượng găng Tuy nhiên biện pháp vừa nêu không phải là duy
nhất
Các biện pháp vừa nêu nhằm:
- Phát hiện xung đột
- Hủy bỏ công việc thực hiện của các chương trình tham gia xung đột
- Tái lập việc thực hiện các chương trình bị xung đột
- Đề phòng trường hợp chờ vô thời hạn
d Cá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 7CHƯƠ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
I ĐẶ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 Tương tranh.
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
2 Hoạt động các tiến trình
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
II 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
Phân tán giải thuật này kéo theo việc phân tán các chức năng cung cấp mà cần phải điều khiển hàng đợi trên trạm Do vậy, một trạm chuyên cho việc tiếp nhận các yêu cầu và các khuyến nghị giải phóng từ tất cả các trạm còn lại Một trật tự giống nhau trên tất cả các trạm chỉ đạt được, nếu ta áp dụng dấu trong các thông điệp bởi đồng hồ lô gích truyền và đánh số các trạm Quan hệ trật tự toàn bộ được định nghĩa Thêm vào đó, để cho một trạm có thể ra quyết định bằng việc tham
Trang 8chiếu duy nhất vào hàng đợi của mình, nó còn cần phải nhận một thông điệp của từng trạm khẳng định rằng không có thông điệp nào trước các thông điệp khác mà còn đang quá cảnh trên đường
1.Thuật toán loại trừ tương hỗ có thể mô tả theo sơ đồ sau đây.
Bước 1 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:
1 REQ Thông điệp REQ được phát đi cho tất cả các trạm, khi trạm i muốn
vào trong đoạn găng
2 REL Thông điệp REL được phát đi cho tất cả các trạm, khi trạm i đã rời
khỏi đoạn găng
3 ACQ Thông điệp ACQ được gởi bởi trạm j cho trạm i, khi trạm j đã nhận từ
trạm i thông điệp REQ
Bước 2 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:
trong đó, i, Hinit là thời điểm khởi sự giống nhau cho tất cả các trạm
Bước 3 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
Bước 4 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
2 Kiểm nghiệm giải thuật
Mi = (REL,Hinit,i)
Trang 9- Các yêu cầu vào đoạn găng được xử lý theo trật tự FIFO và theo quan hệ ⇒ Để chứng minh điều
đó, ta lưu ý rằng khi tram i quyết định vào đoạn găng, nó không thể đưa vào trong mạng yêu câu
REQ nào trước bối cảnh sau Thực tế, khi trạm i vào đoạn găng có nghĩa là nó đã nhận thông điệp
từ tất cả các trạm khác và tất cả các thông điệp đều sau thông điệp REQ của riêng nó.
Ta kiểm tra các đặc tính sau đây:
1 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
2 Tram đã 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
3 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
4 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
- 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.
Trang 105 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