TIỂU LUẬN hệ TIN học PHÂN tán

21 881 0
TIỂU LUẬN hệ TIN học PHÂN tán

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn LỜI MỞ ĐẦU Hệ tin học phân tánhệ thống rất đa dạng, đa diện, phức tạp về mặt cấu trúc, là vùng tri thức hiện đại đang được các chuyên gia CNTT đặc biệt quan tâm và đổi mới rất nhanh chóng. Trong những ứng dụng thực tế của hệ phân tán thì hệ điều hành Unix là một thành công lớn. Unix là hệ điều hành đa người dùng được viết trên ngôn ngữ bậc cao và được ứng dụng rộng rãi trên thế giới. Hệ điều hành đa người dùng thuộc vào loại hệ điều hành đa chương trình định hướng “thân thiện với người dùng”. Tại cùng một thời điểm, có nhiều người dùng cùng sử dụng máy tính và đối với mỗi người dùng như vậy đều có cảm giác như được sử dụng máy tính một cách “độc quyền” vì họ được trực tiếp liên kết với chương trình của mình đang thực hiện trong máy tính. Chương trình có thể được chạy trên nhiều phần cứng khác nhau, mà các phần cứng này đều có thể độc lập với nhau. Hệ phân tán là một lĩnh vực nghiên cứu mới hứa hẹn nhiều triển vọng và đang thu hút sự chú ý của các nhà nghiên cứu trên toàn thế giới. Trong phạm vi nhỏ hẹp của đề tài này, chúng tôi chỉ mong muốn được trình bày một khía cạnh của vấn đề đó là việc đảm bảo tính đồng bộ của thông tin tại nhiều trạm khác nhau trong một thời điểm bằng thuật toán sao chép. Việc nghiên cứu, phát triển các phương pháp đảm bảo tính đồng bộ trong môi trường phân tán đến nay đã có một số thành công đáng kể. Trướchết, phải nói đến sự tích hợp hàng loạt các hàm vào các hệ điều hành, hệ quản trị cơ sở dữ liệu, ngôn ngữ lập trình với phương thức riêng rẽ của từng hệ cho phép đảm bảo phần cơ bản của việc gắn bó thông tin nói chung trong quá trình đa truy cập thông qua hệ thống viễn thông. Việc triển khai phương pháp cho phép gắn bó dữ liệu trong môi trường phân tán trong điều kiện lýtưởng (không có bất kỳ sự cố nào) đã được áp dụng và mang lại những hiệuquả nhất định cho các hệ thống đăng ký. Tuy nhiên, trong quá trình triển khai lập trình và vận hành các hệ thống đăng ký, vấn đề gắn bó dữ liệu trong các cơ sở dữ liệu khi hệ thống bị sự cố đang đặt ra như là vấn đề quan trọng và có ý nghĩa sống còn trong việc phát triển toàn hệ nói chung. Đề tài gồm các phần chính như sau: Chương I: Những kiến thức cơ bản về hệ tin học phân tán Chương II: Khả năng phân tán của hệ điều hành Unix Chương III: Thuật toán quản lí nhiều bản sao Chương IV: Bài tập Bài tập: Hãy nghiên cứu kỹ các sửa đổi nhằm đem lại cho các thuật toán khác nhau về quản lý nhiều bản sao nhằm mục tiêu tính đến các sự cố kỹ thuật sau: 1. Chỉ có một sự cố duy nhất. 2. Khi đang xử lý một sự cố, thì sự cố khác lại đến. Học viên thực hiện Nguyễn Trung Hiếu HVTH: Nguyễn Trung Hiếu 1 Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn Chương 1. NHỮNG KIẾN THỨC CHUNG VỀ HỆ PHÂN TÁN 1.1 Khái niệm Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành. Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp, nhưng cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết quả đến các tài nguyên vốn có và rất đa dạng của hệ thống như là những tài nguyên dùng chung. 1.2 Thành phần cơ bản Thành phần cơ bản của hệ phân tán bao gồm các hệ thống cục bộ (mạng hay máy đơn), trong đó một (hay nhiều) hệ thống phát các yêu cầu thông tin còn các hệ thống khác trả lời các yêu cầu có liên quan đến phần dữ liệu của mình. Nói một cách tổng quát là trong hệ luôn diễn ra việc thực hiện các công việc do các hệ thống yêu cầu. 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. − Gửi kết quả cho hệ thống đã phát yêu cầu. 1.3 Các đặc điểm cơ bản Các đặc điểm cơ bản của tất cả các hệ 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 của hệ phân tán có thể bị sự cố và hoạt động của toàn hệ trở nên kém hiệu quả. 1.4 Khả năng phân tán Nói đến hệ tin học phân tán, hiện nay có rất nhiều ý kiến khác nhau về nguyên tắc xây dựng hệ. Như vậy khả năng phân tán cũng là một khái niệm chưa mang tính nhất quán. Tuy nhiên trong phạm vi nghiên cứu này ta xem khả năng phân tán là việc phân tán quá trình xử lí thông tin và thực hiện công việc đó trên các trạm xa nhau. Để đánh giá khả năng phân tán ta đánh giá hệ trên các khả năng cụ thể sau: − Chia sẻ tài nguyên: Mạng máy tính có thể dùng chung 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. − Liên lạc: Khi hệ thống được mắc nối với nhau, các thực thể của hệ có thể trao đổi thông tin cho nhau. − Tin cậy: Một trạm của hệ bị sự cố không làm cho toàn hệ bị ảnh hưởng, mà ngược lại, công việc của trạm đó được phân cho các trạm khác đảm nhiệm. Ngoài ra trạm bị sự cố có thể tự động phục hồi lại các trạng thái trước khi bị sự cố hay trạng thái ban đầu của nó. − Tăng tốc: Một tính toán lớn nào đó, nếu chỉ sử dụng một trạm thì thời gian trả về kết quả sẽ rất lớn. Tính toán này sẽ được chia nhỏ và thực hiện song song trên các trạm. HVTH: Nguyễn Trung Hiếu 2 Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn Chương 2. KHẢ NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH UNIX 2.1 Lịch sử hình thành và phát triển Trong những năm 1960, Viện công nghệ Massachusetts (MIT: Massachusetts Institute of Technology) và Phòng thí nghiệm Bell của hãng AT&T thực hiện dự án xây dựng một hệ điều hành có tên gọi là Multics (MULTiplexed Information and Computing Service) với mục tiêu tạo lập được một hệ điều hành phủ trên vùng lãnh thổ rộng (hoạt động trên tập các máy tính được kết nối), đa người dùng, có năng lực cao về tính toán và lưu trữ. Dự án nói trên thành công ở mức độ hết sức khiêm tốn và người ta đã biết đến một số khiếm khuyết khó khắc phục của Multics. Năm 1969, phiên bản đầu tiên của hệ điều hành Unix đã được công bố. Tác giả là Ken Thompson, một chuyên viên tại phòng thí nghiệm Bell, người đã tham gia dự án Multics. Sau đó không lâu Dennics Richie phối hợp với Ken Thompson nghiên cứu các phiên bản tiếp theo. Năm 1973, Richie và Thompson viết lại nhân của hệ điều hành UNIX trên ngôn ngữ C cho ra phiên bản mới 3.0. Phiên bản này đã trở nên dễ dàng cài đặt tới các loại máy tính khác nhau; tính chất như thế được gọi là tính khả chuyển (portable) của UNIX. Hãng AT&T phổ biến chương trình nguồn UNIX tới các trường đại học, các công ty thương mại và chính phủ với giá không đáng kể. Phiên bản 6.0 được phát triển vào khoảng năm 1976 với sự thang gia của nhiều trường đại học ở Mỹ. Năm 1978 phiên bản 7.0 ra đời và là tiền thần của phiên bản hiện nay. Phiên bản này dựa trên mô hình PDP-11 cho máy tính lớn VAX. Năm 1982, Unix Support Group trong công ty AT&T tạo ra Unix mới gọi là System III. Hệ này dựa trên cơ sở liên hợp ba phiên bản 7.0, 32V cho VAX và Unix/RT. Năm 1983, System V được các công ty con Bell của AT&T công bố. Giai đoạn 1985-1987, UNIX-5 phiên bản 2 và 3 tương ứng được đưa ra vào các năm 1985 và 1987. Trong giai đoạn này, có khoảng 100.000 bản UNIX đã được phổ biến trên thế giới, cài đặt từ máy vi tính đến các hệ thống lớn. Đầu thập kỷ 1990. UNIX-5 phiên bản 4 được đưa ra như là một chuẩn của UNIX. Đây là sự kết hợp của các bản sau: − AT&T UNIX-5 phiên bản 3, − Berkley Software Distribution (BSD), − XENIX của MicroSoft, − SUN OS. Trong thời gian gần đây (khoảng năm 1997) một số phiên bản mới của UNIX được giới thiệu và phổ biến trên Internet. 2.2 Đặc trưng cơ bản HVTH: Nguyễn Trung Hiếu 3 Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn Hệ điều hành Unix có những đặc trưng chính sau: − Được viết trên ngôn ngữ bậc cao, do đó dễ đọc, dễ hiểu, dễ chuyển đổi. − Có giao diện người dùng đơn giản − Nguyên tắc: Xây dựng các chương trình phức tạp từ những chương trình con đơn giản. − Chỉ có một dạng file đơn giản − Đa tiến trình, đa người dùng, phân chia thời gian. 2.3 Khả năng phân tán Như đã nói ở chương 1 phần 1.4, để xem xét đánh giá khả năng phân tán của hệ điều hành Unix ta xem xét, đánh giá khả năng chia sẽ dữ liệu, khả năng liên lạc, độ tin cậy và tính mở của hệ điều hành này. 2.3.1 Chia sẻ tài nguyên Unix là hệ đa xử lý, thức khả năng thực thi nhiều tác vụ cùng một lúc. Một chương trình máy tính là một chuỗi các chỉ lệnh (intuctions hay còn gọi là lệnh máy) mà theo đó máy tính phải thực hiện. Mặt khác tài nguyên máy tính là hữu hạn và khi các chương trình chạy thì các chương trình đều có nhu cầu trên các tài nguyên đó. Để đáp ứng nhu cầu tài nguyên đảm bảo tính đa nhiệm, nhiều người dùng, hệ điều hành cấp tài nguyên cho mỗi chương trình trong một lượng thời gian nhất định, sao cho các chương trình đều có cơ hội thực hiện như nhau và trong thời gian thực hiện chương trình cần kiểm soát việc thực hiện đó chặt chẽ. Để thực hiện được điều này ta sử dụng tiến trình. Tiến trình là thời gian thực hiện của một chương trình và việc thực hiện đó chỉ xãy ra trong một khoản thời gian nhất định. Tuy nhiên để thực hiện được chương trình, tiến trình sẽ sử dụng CPU để chạy các lệnh của nó và bộ nhớ nơi có mã lệnh, dữ liệu và ngăn xếp. Một tiến trình khi thực hiện phải làm theo một trình tự các chỉ lệnh trong vùng mã lệnh của tiến trình và không nhảy tới các chỉ lệnh của tiến trình khác. Tiến trình chỉ có thể đọc/ghi truy nhập dữ liệu và ngăn xếp của nó, nhưng không thể trên dữ liệu và ngăn xếp của tiến trình khác. Tiến trình liên lạc với các tiến trình khác và phần còn lại của hệ thống bằng các Gọi Hệ Thống (system call). Hệ thống chia việc thực hiện ra làm hai chế độ: user mode và kernel mode, nhưng cho dù như vậy, thì kernel vẫn là người thực hiện mã của tiến trình. HVTH: Nguyễn Trung Hiếu 4 Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn 2.3.2 Liên lạc a. Liên lạc giữa các tiến trình Các tiến trình thông báo các sự kiện cho nhau thông qua các tín hiệu. Tuy nhiên đó mới là cơ chế cơ bản, hệ điều hành Unix System V IPC còn có các cơ chế sau: Đường ống (pipe): là loại vô danh có hạn chế là chỉ dùng với các tiến trình thuộc con cháu của tiến trình phát sinh ra system call pipe, do vật các tiến trình không có cùng quan hệ huyết thống sẽ không thể liên lạc qua pipe được. FIFO là loại pipe có tên, các tiến trình không cùng huyết thống vẫn dùng chung được. Thông điệp (message): cho phép các tiến trình gởi các khuôn dữ liệu có khuôn dạng tới bất kỳ tiến trình nào. Vùng nhớ chia sẻ (shared memory): các tiến trình chia sẻ một phần không gian địa chỉ ảo của mình. Đánh tín hiệu (semaphore hay còn gọi là cờ hiệu): các tiến trình dùng để đồng bộ việc thực hiện. Dò theo một tiến trình (tracing): Hệ Unix cung cấp một tiện ích nguyên thủy cho việc liên lạc giữa các tiến trình dùng để theo dõi và kiểm soát việc thực hiện tiến trình và rất tiện lợi cho làm gỡ rối. b. Liên lạc trên mạng client/server Các chương trình ứng dụng như thư điện tử (mail), truyền tệp từ xa (ftp), hay login từ xa (telnet, rlogin) muốn kết nối vào một máy khác, thường dùng các phương pháp nói chuyện để lập kết nối và trao đổi dữ liệu. Ví dụ các chương trình mail lưu văn bản thư của người gởi vào một tệp riêng cho người đó. Khi gởi thư cho người khác trên cùng một máy, chương trình mail sẽ thêm tệp mail vào địa chỉ. Khi người nhận đọc thư, chương trình sẽ mở tệp thư của người đó và đọc nội dung thư. Để gởi thư đến một máy khác, chương trình mail phải khéo léo tìm tệp thư ở máy đó. Vì rằng chương trình mail không thể thao tác các tệp ở máy kia (remote) trực tiếp, sẽ có một chương trình ở máy kia đóng vai trò một nhân viên phát hành thư (agent) cho các tiến trình thư. Như vậy các tiến trình của máy gởi (local) cần cách thức để liên lạc với (agent) máy kia (nhận) qua ranh giới của các máy. Tiến trình của máy gởi (local) gọi là tiến trình khách (client) của tiến trình chủ (server) máy nhận thư. Vì Unix tạo ra các tiến trình bằng fork(), nên tiến trình server phải tồn tại trước khi tiến trình client cố lập kết nối. Cách thức thông thường là thực hiện qua init và sau khi tạo tiến trình server sẽ luôn đọc kênh liên lạc cho tới khi nhận được yêu cầu phục vụ và tiếp theo tuân theo các thủ tục cần thiết để lập kết nối. Các chương trình client và server sẽ chọn môi trường mạng và thủ tục theo thông tin trong các cơ sở dữ liệu của ứng dụng hay dữ liệu có thể đã mã mã cố định trong chương trình. Với liên lạc trên mạng, các thông điệp phải có phần dữ liệu và phần kiểm điều khiển. Phần điều khiển chứa thông tin địa chỉ để xác định nơi nhận. Thông tin địa chỉ được cấu trúc theo kiểu và thủ tục mạng được sử dụng. Phương thức truyền thống áp dụng cho kết nối mạng liên quan tới system call ioctl() để xác định các thông tin điều khiển, nhưng việc sử dụng không thuần nhất trên các loại mạng. Đó là chỗ bất cập khi các chương trình thiết kế cho mạng này lại không chạy được cho mạng kia. Đã có nhiều nổ lực để cải thiện giao diện mạng cho Unix, sử dụng luồng (stream) là một cơ chế thích HVTH: Nguyễn Trung Hiếu 5 Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn hợp hổ trợ mạng, vì các modul thủ tục có thể phối hợp linh hoạt bằng cách đầy vào stream mở và cách sử dụng chuyển cho mức người dùng. c. Sockets Để tạo ra phương pháp chung cho việc liên lạc giữa các tiến trình cũng như hổ trợ các giao thức mạng tinh xảo, Unix của BSD cung cấp một cơ chế gọi là socket. Hình 2.1 Mô hình của Socket Socket layer cung cấp ghép nối giữa system call và các lớp thấp hơn. Protocol layer có các modul giao thức sử dụng để liên kết, ví dụ TCP/IP. Device layer có các trình điều khiển thiết bị, kiểm soát hoạt động của thiết bị mạng, ví dụ Ethernet. Trong UNIX, người ta sử dụng ống như là trường hợp đặc biệt của cơ chế socket. Thông thường, trên cùng một máy, một ống chỉ được sử dụng để cho hai tiến trình liên lạc với nhau thông qua lời gọi hệ thống fork. Cơ chế socket còn có thể áp dụng cho các tiến trình không ở trong tình trạng liên lạc với nhau. Mỗi socket được sử dụng chỉ trong một vùng. Các tiến trình liên lạc với nhau trong cùng một vùng và sử dụng cùng một kiểu định khuôn địa chỉ. HVTH: Nguyễn Trung Hiếu 6 Client proces Server proces Socket layer Protocol layer: TCP/IP Device layer: Ethernet driver Socket layer Protocol layer: TCP/IP Device layer: Ethernet driver N et w or k Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn Hình 2.2 Các loại Socket Công cụ hỗ trợ mạng máy tính. Hệ thống hỗ trợ mạng máy tính bằng các giao thức DARPA, Internet UDP, TCP, IP và ICMP trên một bình diện rộng của các giao diện mạng Ethernet, vòng tròn Jeton, ARPANET. Các cấu trúc phân tầng của hệ cho phép: 1. Thêm vào mạng các giao thức mới. 2. Tổ chức công việc trên mạng thông qua các socket. Trong môi trường mạng máy tính theo mô hình ISO 7 lớp, thông thường các dữ liệu được truyền giữa các tầng với nhau thông qua các giao thức thích nghi cho các giao diện socket. Tóm lại giữa 2 tầng kề nhau luôn luôn tồn tại một giao diện tầng, giữa 2 tầng tương ứng của hai hệ thống liên lạc luôn luôn sử dụng một loại giao thức. Các dữ liệu mạng được truyền từ tầng này đến tầng khác và giữa hai tầng tương ứng. Hình 2.3 Tương quan giữa các mô hình mạng 2.3.3 Độ tin cậy Các tiến trình liên lạc với nhau theo môn hình client_server: liên lạc được thực hiện qua đường dẫn hai chiều: một đầu cuối, tiến trình server lắng nghe một socket, còn tiến HVTH: Nguyễn Trung Hiếu 7 Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn trình client liên lạc với tiến trình server bằng socket ở đầu cuối đằng kia trên máy khác. Kernel duy trì mối liên kết và dẫn dữ liệu từ client đến server. Các thuộc tính liên lạc chia sẻ chung cho các socket như các qui ước gọi tên, định dạng địa chỉ, … được nhóm lại thành domain. BSD Unix hổ trợ “Unix system domain” cho các tiến trình thực hiện liên lạc trên một máy và “Internet domain” cho các tiến trình thực hiện liên lạc trên mạng dùng giao thức DARPA. Mỗi socket có một kiểu của nó, gọi là virtual circuil (mạng ảo) cho phép phát các dữ liệu tuần tự và tin cậy, gatagram không bảo đảm tuần tự, chắc chắn hay phát đúp, nhưng rẻ tiền hơn bởi không cần các thiết bị đắt giá, nên cũng có ích cho một số kiểu liên lạc. Mỗi hệ thống có một giao thức mặc định, ví dụ giao thức TCP cung cấp dịch vụ mạng ảo, UDP cung cấp dịch vụ datagram trong vùng Internet. 2.3.4 Tính mở của hệ thống. Tính mở của hệ thống máy tính là dễ dàng mở rộng phần cứng (thêm các thiết bị ngoại vi, bộ nhớ, các giao diện truyền thông ) và các phần mềm (các mô hình hệđiều hành, các giao thức truyền tin, các dịch vụ chung tài nguyên, )Một hệ phân tán có tính mở là hệ có thể được tạo từ nhiều loại phần cứng và phần mềm của nhiều nhà cung cấp khác nhau với điều kiện là các thành phần này phảitheo một tiêu chuẩn chung.Tính mở của hệ phân tán được xem xét thao mức độ bổ sung vào các dịch vụdùng chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại. Tính mở được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của mộthệ và làm cho nó tương thích với các nhà phát triển phần mềm.Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa cáctiến trình và công khai các giao diện dùng để truy cập các tài nguyên chung. HVTH: Nguyễn Trung Hiếu 8 Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn Chương 3. THUẬT TOÁN QUẢN LÝ NHIỀU BẢN SAO 3.1 Sự cần thiết sử dụng nhiều bản sao Trong các hệ phân tán, việc trao đổi các thông tin từ xa là một vấn đề đáng được quan tâm. Trong các hệ này, từng hệ thống cục bộ đều có thể lưu trữ một bản sao của tất cả các thông tin liên quan đang ở trong tất cả các hệ cục bộ khác. Sự tồn tại nhiều bản sao trong một hệ phân tán có các đặc điểm sau: Cập nhật thông tin diễn ra ở 1 trạm nào đó cần phải được tiến hành cho tất cả các trạm và không được bỏ sót 1 trạm nào. Trong khoảng thời gian làm “tươi” thông tin phải đảm bảo sao việc truy vấn dữ liệu cho kết quả kịp thời hay đặt tả được truy vấn trong trạng thái “treo”. Cần phải tránh trường hợp các thao tác trên 2 bản sao khác nhau nhưng chứa cùng một thông tin được truy cập bởi 2 hay nhiều yêu cầu dẫn đến không gắn bó. Hai vấn đề nêu trên xác định về các ràng buộc đối với vấn đề gắn bó dữ liệu. Đảm bảo sự gắn bó này điều kiện đủ là phải tuân thủ trình tự nào đó cho tất cả các bản sao, các cập nhật thông tin. Khi nghiên cứu về hệ phân tán chúng ta thấy rằng thời gian truy cập trung bình vào hệ thông tin phân tán có thể được rút ngắn, trong một số trường hợp, nhờ vào phương pháp nhân nhiều bản và được gọi là nhân nhiều bản sao của một đối tượng thông tin. Ta cần phân biệt hai trường hợp khác nhau được thể hiện sau đây. Trường hợp 1: Ta xét 1 hệ thống đa xử lý với bộ nhớ chung như hình 3.1 sau đây: Hình 3.1. Đa xử lý với bộ nhớ chung Mỗi một bộ xử lý đều có bộ nhớ cục bộ của mình, hay còn gọi là cache, được dùng để sao chép lại các vùng đang làm việc của bộ nhớ chung. Một chương trình thể hiện thuật toán thay thế đảm nhiệm nhiệm vụ làm mới các bộ nhớ cục bộ. Trường hợp có nhiều bộ xử lý muốn truy cập vào cùng một đối tượng, ta sử dụng như là sự tham chiếu đến phiên bản của đối tượng tìm thấy trong bộ nhớ chung. Hình 3.2 mô tả 1 hệ truy cập từ xa thông qua 1 máy server duy nhất: HVTH: Nguyễn Trung Hiếu 9 L L L L B cb B cb B cb B cb B ch B ch Bộ xử lý Bộ nhớ cục bộ (e) Bộ nhớ chung (e) Tiểu luận: Hệ phân tán GVHD: PGS. TS. Lê Văn Sơn Hình 3.2. Hệ truy cập từ xa thông qua máy server Ở đây, một đối tượng được đưa vào trên một trạm xác định và được quản lý bởi một server cục bộ trên trạm này. Khi một tiến trình ở xa muốn sử dụng đối tượng, nó phải bắt đầu bằng yêu cầu server cho một bản sao thông qua hệ thống viễn thông. Sau khi sử dụng xong, tiến trình phải gửi lại cho server một phiên bản đã được sửa đổi của đối tượng. Các trường hợp thể hiện trong các hình vẽ 3.1 và 3.2 xét theo chức năng là giống nhau. Đó là trường hợp một bản duy nhất của đối tượng là một đặc quyền. Trường hợp 2: Xét hệ thống đối xứng như hình 3.3 sau: Hình 3.3. Hệ thống đối xứng Tại đây, tất cả các bản đóng vai trò đối xứng. Công việc được tiến hành theo kiểu này cho phép rút ngắn thời gian truy cập, nếu số lần truy cập để đọc lớn hơn số lần truy cập để ghi và vì lý do thuận lợi sử dụng theo nghĩa có sẵn để dùng. Điều này đặt ra cho chúng ta nhiều vấn đề cần giải quyết, đó là các lần ghi thông tin hay gọi là cập nhật bản sao và có các đặc điểm sau: Khi chỉ tồn tại một bản tập HVTH: Nguyễn Trung Hiếu 10 L L L L B cb B cb B cb B cb B ch B ch Bộ xử lý Bộ nhớ cục bộ (e) Bộ nhớ chung (e) Máy Client Hệ thống viễn thông Hệ thống viễn thông L L Máy Server L L L L L L [...]... HVTH: Nguyễn Trung Hiếu 19 Tiểu luận: Hệ phân tán GVHD: PGS TS Lê Văn Sơn TÀI LIỆU THAM KHẢO 1 Ts Lê Văn Sơn, Hệ tin học phân tán, Nhà xuất bản đại học quốc gia TP Hồ Chí Minh, 2002 2 Ts Lê Văn Sơn, Nghiên cứu phát triển giải thuật quản lý nhiều bản sao cho các ứng dụng phức tạp, Tạp chí Khoa học và Công nghệ Đại học Đà Nẵng, Số 1 (2003) 3 Trịnh Ngọc Minh, Nhập môn hệ điều hành Unix – Linux 4 Hà... chuyên đề Hệ điều hành UNIX – LINUX, 2002 5 Huỳnh Thúc Cước, Kiến trúc Unix – Linux 6 Stefano Ceri & Giuseppe Pelagatti, Distributed database: Principles and systems, Mc Graw – Hill book company, 1994 HVTH: Nguyễn Trung Hiếu 20 Tiểu luận: Hệ phân tán GVHD: PGS TS Lê Văn Sơn MỤC LỤC LỜI MỞ ĐẦU 1 Chương 1 NHỮNG KIẾN THỨC CHUNG VỀ HỆ PHÂN TÁN 2 Chương 2 KHẢ NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH... sao là đảm bảo tính gắn bó thông tin (coherence), toàn vẹn dữ liệu và tránh bế tắc diễn ra trong quá trình khai thác, vận hành hệ HVTH: Nguyễn Trung Hiếu 11 Tiểu luận: Hệ phân tán GVHD: PGS TS Lê Văn Sơn Nội dung quản lý nhiều bản sao là các giải pháp cho phép tự động hóa các công việc kiểm tra tính hợp thức của truy cập thông tin, khôi phục thông tin, cập nhật thông tin, an toàn cho các bản sao, sử... cho hệ thống ổn định Chúng không thích hợp cho loại hệ hay sự cố, đặc biệt cho trường hợp phân tán hệ thành hai hay nhiều mạng con độc lập; mỗi mạng tiếp tục hoạt động như là hệ cục bộ Dẫu rằng các bản sao tạo nên mạng con vẫn duy trì sự gắn bó nhưng sự hợp nhất lại chúng là vấn đề nan giải Ta chỉ có thể tránh được hiện tượng này bằng cách để số lượng các trạm nhỏ hơn hay bằng đa số tuyệt đối của hệ. .. T’, trạm vào lại 17 Tiểu luận: Hệ phân tán GVHD: PGS TS Lê Văn Sơn Yêu cầu cập nhật trên các trạm Thực hiện cập nhật Giải phóng các trạm 4 Trạm ei, i=1 n ij Thực hiện các thông điệp T’i của mình 4.3.4 Thuật toán đảm bảo sự gắn bó mạnh Gọi hệ thống bao gồm n trạm e1, e2,… en, các thông điệp cần thiết để thực hiện rút ra và vào lại cập nhật các bản sao của trạm ej Giả sử rằng hệ thống quy định thứ... phát lại thông tin Trong trường hợp công việc cập nhật kết thúc tốt đẹp, một thông điệp khẳng định cũng được phát đi bởi trạm nhận Sau khi phát đi thông điệp, trạm gửi chuyển sang trạng thái chờ thông điệp mới, còn trạm nhận thông điệp chỉ chuyển sang trạng thái chờ khi đã nhận đủ các thông điệp khẳng định HVTH: Nguyễn Trung Hiếu 18 Tiểu luận: Hệ phân tán GVHD: PGS TS Lê Văn Sơn KẾT LUẬN Trong quá... Tiểu luận: Hệ phân tán GVHD: PGS TS Lê Văn Sơn KẾT LUẬN Trong quá trình xây dựng hệ phân tán hỗ trợ các ứng dụng lớn vấn đề cập nhật thông tin dùng chung trong các bản sao của cùng một đối tượng là một trong những vấn đề quan trọng Nó không chỉ đảm bảo hệ thống hoạt động với tốc độ bình quân chấp nhận được, ổn định, tin cậy mà quan trọng hơn cả là phải đảm bảo tính gắn bó của dữ liệu trong các bản... của đối tượng để tránh bế tắc khi vận hành hệ thống trong khi phải tối đa khả năng sẵn sàng dữ liệu Các thuật toán giải quyết những vấn đề này được gọi là các thuật toán điều khiển bản sao Việc quản lý nhiều bản sao của cùng một đối tượng thông tin đang được các nhà chuyên môn tin học quan tâm nghiên cứu ngay trong giai đoạn phân tích, thiết kế và xây dựng hệ điều hành Ngoài ra, đây còn là một trong...ee ee Tiểu luận: Hệ phân tán ee GVHD: PGS TS Lê Văn Sơn trung đặc quyền thì ta có thể Hệ thống viễn thông đối tượng thực hiện trên một đặt ra việc thay đổi Hệ thống viễn thông trong các bản sao sẽ được sao ngay lập tức vào bản chính - đây là trường hợp ghi tức thời và các cập nhật... mình HVTH: Nguyễn Trung Hiếu 14 Tiểu luận: Hệ phân tán GVHD: PGS TS Lê Văn Sơn Chương 4 BÀI TẬP 4.1 Yêu cầu Hãy nghiên cứu kỹ các sửa đổi nhằm đem lại cho các thuật toán khác nhau về quản lý nhiều bản sao nhằm mục tiêu tính đến các sự cố kỹ thuật sau: 1 Chỉ có một sự cố duy nhất 2 Khi đang xử lý một sự cố, thì sự cố khác lại đến 4.2 Phân tích Nếu dữ liệu được phân tán trên nhiều server, để

Ngày đăng: 06/01/2014, 14:52

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • Chương 1. NHỮNG KIẾN THỨC CHUNG VỀ HỆ PHÂN TÁN

    • 1.1 Khái niệm

    • 1.2 Thành phần cơ bản

    • 1.3 Các đặc điểm cơ bản

    • 1.4 Khả năng phân tán

    • Chương 2. KHẢ NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH UNIX

      • 2.1 Lịch sử hình thành và phát triển

      • 2.2 Đặc trưng cơ bản

      • 2.3 Khả năng phân tán

        • 2.3.1 Chia sẻ tài nguyên

        • 2.3.2 Liên lạc

        • 2.3.3 Độ tin cậy

        • 2.3.4 Tính mở của hệ thống.

        • Chương 3. THUẬT TOÁN QUẢN LÝ NHIỀU BẢN SAO

          • 3.1 Sự cần thiết sử dụng nhiều bản sao

          • 3.2 Các thuật toán quản lý nhiều bản sao.

            • 3.2.1 Thuật toán áp dụng then cài

            • 3.2.2 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu

            • 3.2.3 Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần hoàn

            • 3.2.4 Thuật toán đảm bảo sự gắn bó mạnh

            • Chương 4. BÀI TẬP

              • 4.1 Yêu cầu

              • 4.2 Phân tích

              • 4.3 Chi tiết các thông điệp

                • 4.3.1 Thuật toán áp dụng then cài

                • 4.3.2 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu

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

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

Tài liệu liên quan