SO SÁNH sự GIỐNG NHAU và KHÁC NHAU GIỮA hệ THỐNG đa bộ xử lý và hệ TIN học PHÂN tán

14 1.1K 0
SO SÁNH sự GIỐNG NHAU và KHÁC NHAU GIỮA hệ THỐNG đa bộ xử lý và 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

Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 LỜI MỞ ĐẦU Trong những thập kỷ gần đây, các thành tựu mới nhất của hệ thống tin học về phần cứng, phần mềm các hệ dữ liệu ổn định, tin cậy đã góp phần đáng kể cho sự phát triển của toàn xã hội nói chung ngành công nghệ thông tin nói riêng. Chính vì điều này mà các chuyên gia đầu ngành phải nghiên cứu các kỹ thuật mới ứng dụng hiệu quả vào thực tế nhằm đáp ứng nhu cầu của xã hội như thương mại điện tử, truyền thanh, truyền hình, internet…. kết quả tất yếu là một xu hướng kỹ thuật mới được hình thành – xu hướng phân tán các thành phần hình thành nên hệ thống tin học phân tán. Phạm vi nghiên cứu của tiểu luận này là phân tích, so sánh sự giống nhau khác nhau của hệ thống tin học phân tán hệ thống đa bộ xử hay hệ thống đa bộ vi xử lý. Trên cơ sở đó, xây dựng một chương trình mô phỏng quá trình đồng bộ của bãi đậu xe ô tô có n cổng (n ≥ 2). Tiểu luận này chia làm 2 phần:  Phần I : thuyết o Chương I: Giới thiệu chung về hệ thống đa bộ xử hệ tin học phân tán. o Chương II: So sánh sự giống nhau khác nhau của hệ thống đa bộ xử hệ tin học phân tán.  Phần II: Lập chương trình mô phỏng quá trình đồng bộ của bãi đậu xe ô tô có n cổng (n ≥ 2). Để hoàn thành đề tài tiểu luận này, tôi đã tham khảo giáo trình “Hệ tin học phân tán” của PGS.TS Lê Văn Sơn, thông tin trên Internet sự giúp đỡ của các bạn trong lớp Khoa học máy tính K24. Mặc dù vậy, đề tài vẫn không tránh khỏi sai sót. Tôi rất mong sự góp ý chân thành của Thầy giáo TS Lê Văn Sơn các bạn trong lớp. Trân trọng cảm ơn! Đà Nẵng, ngày 14 tháng 04 năm 2012 Học viên thực hiện: Hồ Ngọc Tú Trang 1 1 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 PHẦN I: THUYẾT Chương I : GIỚI THIỆU HỆ THỐNG ĐA BỘ XỬ HỆ THỐNG TIN HỌC PHÂN TÁN 1. Giới thiệu hệ thống đa bộ xử lý: Hệ thống đa bộ xử hệ thống trong đó có ít nhất 2 bộ xử các bộ xử này sử dụng chung bộ nhớ đồng hồ nhịp. Các hệ thống đa bộ xử có đặc tính là mỗi CPU có thể đánh địa chỉ tất cả bộ nhớ, một vài hệ đa xử có thêm vào chức năng là mỗi ô nhớ đều có được truy xuất nhanh như nhau, những máy này được gọi là UMA (Uniform Memory Access) multiprocessor. Ngược lại, NUMA (Nonuniform Memory Access) multiprocessor sẽ không có chức năng này. UMA Bus-Based SMP Architectures: là hệ thống đa xử đơn giản nhất, nó dựa trên một bus duy nhất. Khi CPU cần đọc hay ghi một ô nhớ nào đó, đầu tiên CPU sẽ kiểm tra trạng thái của hệ thống bus, nếu lúc này hệ thống bus nhàn rỗi thì CPU sẽ đặt địa chỉ của ô nhớ cần đọc lên bus, xác nhận một vài tín hiệu điều khiển đợi cho đến khi bộ nhớ đặt giá trị mong muốn lên bus. Nếu trạng thái của bus bận khi CPU muốn đọc hay ghi lên một ô nhớ nào đó, CPU bắt buộc phải đợi cho đến khi trạng thái của bus nhàn rỗi. Trong trường hợp này một số vấn đề bị nảy sinh. Đó là với 2 hay 3 CPU, sự tranh chấp bus là có thể quản được, tuy nhiên với 32 hay 64 CPU thì vấn đề trở nên là không thể giải quyết được. Lúc này, hệ thống sẽ bị giới hạn về băng thông các CPU sẽ nhàn rỗi trong hầu hết thời gian. Giải pháp giải quyết cho vấn đề này là thiết kế thêm cho mỗi CPU một bộ nhớ cache. Lúc này, thay vì thường xuyên truy xuất bộ nhớ để chứa dữ liệu, dữ liệu có thể được lưu giữ trong bộ nhớ cache cục bộ của mỗi CPU, làm giảm băng thông trên bus. Nói chung, việc caching được thực hiện không phải trên mỗi từ nhớ (word) riêng biệt mà được thực hiện trên mỗi block 32 hoặc 64 byte. Khi mỗi từ nhớ (word) được tham chiếu, toàn bộ một block 32 hoặc 64 byte sẽ được lưu trong bộ nhớ cache của CPU. Mỗi block sẽ được đánh dấu là read (trong trường hợp này nó có thể xuất hiện trong cache của các CPU khác) trong bộ nhớ cache hoặc được đánh dấu là read-write (trong trường hợp này nó không thể xuất hiện trong cache của các CPU khác). Một cách tiếp cận khác cho việc thiết kế, đó là, mỗi CPU không chỉ có bộ nhớ cache mà còn có thể có riêng một bộ nhớ cục bộ (local) được truy xuất thông qua một bus cục bộ dành riêng. UMA Multiprocessiors sử dụng Crossbar switches. Trong trường hợp các cache được thiết kế rất tốt thì việc sử dụng chỉ một bus (single bus) vẫn cứ còn là một giới hạn đối với việc sử dụng nhiều CPU (16 hoặc 32 CPU). Học viên thực hiện: Hồ Ngọc Tú Trang 2 2 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 Các kiểu hệ điều hành sử dụng cho những hệ thống đa bộ xử lý: * Mỗi CPU có riêng một hệ điều hành: Trong trường hợp này, bộ nhớ của hệ thống sẽ được chia thành nhiều phần trao cho mỗi CPU sở hữu riêng một vùng nhớ nó sẽ sử dụng riêng một bản sao của hệ điều hành. Một tùy chọn khác có thể được sử dụng đó là cho phép tất cả các CPU sẽ sử dụng chung các đoạn mã (code) của hệ điều hành tạo riêng cho mỗi CPU một bản sao của dữ liệu. * Kiểu Client-Server: Trong mô hình này, tất cả các tiến trình của hệ điều hành sẽ được xử bởi một CPU (master), có nghĩa là những lời gọi hệ thống (system call) sẽ được chuyển cho CPU này xử lý, tất cả các tiến trình người sử dụng sẽ được xử bởi tất cả những CPU còn lại (slave). * Hệ đa bộ xử đối xứng (Symmetric Multiprocessors): Trong mô hình này, chỉ có một hệ điều hành trong bộ nhớ nhưng bất kỳ CPU nào cũng có thể thực thi nó, nhiều tiến trình có thể chạy đồng thời mà không là ảnh hưởng đến sự thực thi, đây là mô hình mà hầu hết những hệ điều hành hiện đại đều hỗ trợ. 2. Giới thiệu hệ tin học phân tán: 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ử thông tin bao gồm nhiều bộ xử nằm tại các vị trí khác nhau đượ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 . Từ định nghĩa này, người ta có thể xem hệ phân tán như là một tập hợp bao gồm các bộ xử hoặc bộ vi xử với bộ nhớ đồng hồ nhịp độc lập. Như vậy, mỗi hệ xử thông tin thành phần của hệ phân tán bao gồm một hay nhiều bộ xử bộ nhớ cục bộ. Trong hệ phân tán, hệ xử thông tin thành phần phải được thiết kế sao cho về cấu trúc, số lượng dung lượng có thể cho phép thực hiện một cách trọn vẹn các chức năng mà nó phải đảm nhận. 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 loại tài nguyên vốn có rất đa dạng của hệ thống như là những tài nguyên dùng chung. Thành phần của hệ phân tán có thể phản ánh trong bảng sau: STT Thành phần 1 Bộ xử dùng cho các máy tính lớn hoặc máy trung. 2 Bộ vi xử lý. 3 Bộ xử hay vi xử các bộ nhớ chính. 4 Bộ xử hay vi xử với các bộ nhớ chính kèm theo một vài bộ nhớ truy cập nhanh. Học viên thực hiện: Hồ Ngọc Tú Trang 3 3 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 5 Máy lớn, trung hay máy tính hoàn chỉnh với điều kiện không sử dụng đồng hồ chung. 6 Trạm làm việc của mạng máy tính. 7 Thiết bị đầu cuối của mạng. 8 Các hệ thống tin học đóng vai trò trung chuyển. 9 Các mạng cục bộ hoạt động độc lập trong mạng lớn. Học viên thực hiện: Hồ Ngọc Tú Trang 4 4 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 Chương II : SO SÁNH HỆ THỐNG ĐA BỘ XỬ HỆ TIN HỌC PHÂN TÁN Dựa trên các đặc điểm của hệ thống đa bộ xử Hệ tin học phân tán đã được giới thiệu trong chương I, chúng ta sẽ đưa ra một số tiêu chí so sánh về mặt thiết kế cài đặt của hai loại hệ thống này. 1. Về kiến trúc phần cứng: - Giống nhau: Hệ thống đa bộ xử hệ tin học phân tán đều là những hệ thống có nhiều bộ xử (hay bộ vi xử lý). - Khác nhau: Hệ thống đa bộ xử Hệ tin học phân tán Tất cả các bộ xử đều phải sử dụng chung bộ nhớ, đồng hồ, thiết bị ngoại vị, các bộ xử liên lạc với bộ nhớ thông qua các bus, sự truyền thông giữa các bộ xử trong hệ thống đa xử thường được thực hiện thông qua bộ nhớ dùng chung (shared memory) giữa các bộ xử lý. Các phần tử được xem xét trong hệ thống đa bộ xử là các bộ xử lý. Mỗi bộ xử có riêng bộ nhớ cục bộ, đồng hồ, các thiết bị ngoại vi, sự truyền thông trong hệ tin học phân tán được thực hiện thông qua một cơ sở hạ tầng mạng (đường dây điện thoại hay các đường dây truyền thông tốc độ cao, mạng LAN, WAN). Các phần tử được xem xét trong hệ tin học phân tán là những máy tính (trạm), mỗi máy tính (trạm) trong hệ phân tán có thể là một hệ thống đa bộ xử lý, có bộ nhớ, đồng hồ nhịp riêng. 2. Về hệ điều hành: Hệ thống đa bộ xử Hệ tin học phân tán Tất cả các bộ xử đều thực thi một hệ điều hành (mỗi bộ xử có riêng một bản sao của hệ điều hành hoặc tất cả các bộ xử cùng thực thi mã lệnh của hệ điều hành). Mỗi trạm trong hệ thống có thể chạy một hệ điều hành riêng biệt, độc lập với các trạm khác, các trạm này liên lạc với nhau thông qua các cơ chế của các hệ điều hành sở hạ tầng mạng. Học viên thực hiện: Hồ Ngọc Tú Trang 5 5 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 3. Về hệ thống file: Hệ thống đa bộ xử Hệ tin học phân tán Tất cả các bộ xử đều sử dụng chung hệ thống file được hỗ trợ bởi hệ điều hành cài đặt trên hệ thống đa xử đó. Có thể sử dụng nhiều loại hệ thống file khác nhau. Các trạm cài đặt Microsoft có thể sử dụng hệ thống file FAT32, NTFS trong khi các trạm cài đặt hệ điều hành Linux có thể sử dụng hệ thống file ext2, ext3, …. Nói chung mỗi trạm sử dụng hệ thống file khác nhau tùy thuộc vào hệ điều hành được cài đặt trên trạm đó. 4. Về vị trí địa lý: - Hệ thống đa bộ xử chỉ có thể tồn tại trong một không gian nhỏ hẹp. - Hệ tin học phân tán có phạm vi rất rộng lớn: trong một quốc gia, trong một châu lục hoặc trên toàn thế giới. 5. Công việc quản trị hệ thống: Hệ thống đa bộ xử Hệ tin học phân tán Hệ thống đa xử được điều khiển bởi một hệ điều hành, tồn tại trong một không gian nhỏ hẹp, có thể được quản trị bởi một công ty, một tổ chức nào đó.Tất cả các bộ xử đều sử dụng chung hệ thống file được hỗ trợ bởi hệ điều hành cài đặt trên hệ thống đa xử đó. Hệ tin học phân tán trải dài trên một phạm vi rộng lớn, có thể được điều phối bởi nhiều hệ điều hành. Do đó việc quản trị hệ tin học phân tán cũng phức tạp hơn. Việc quản trị có thể được thực hiện bởi nhiều tổ chức khác nhau trên một phạm vi địa rộng lớn. 6. Các phần mềm chạy trên hệ thống: Các phần mềm được thiết kế cho hệ tin học phân tán có thể mềm dẻo hơn so với các phần mềm được thiết kế cho hệ đa bộ xử do tận dụng được những ưu điểm của riêng từng hệ điều hành riêng biệt. Tuy nhiên, những phần mềm được viết cho các hệ tin học phân tán sẽ rất phức tạp, liên quan nhiều đến cơ sở hạ tầng truyền thông mạng, phần mềm của các hệ tin học phân tán đòi hỏi các hệ điều hành tham gia vào hệ tin học phân tán đều phải hỗ trợ tốt cho sự truyền thông trên mạng, các hệ điều hành này phải cung cấp tốt các dịch vụ truyền thông mạng . Các hệ tin học phân tán phụ thuộc rất nhiều vào cơ sở hạ tầng mạng, trải dài trên một phạm vi địa rộng lớn do đó quá trình truyền thông sẽ có một thời gian trễ nhất định so với các hệ thống đa xử lý. Trong một hệ tin học phân tán, nếu một trạm bị sự cố thì hệ thống có thể vẫn họat động bình thường vì các trạm hoạt động độc lập với nhau, đây là điểm khác đối với các ứng dụng chạy trên hệ thống đa bộ xử lý. 7. Vấn đề lập chương trình cho hệ thống: Cả hai hệ thống đều có các kiểu xây dựng chương trình tương đối phổ biến trong những năm gần đây là các phân tích cơ bản như phân tích trên xuống, biến đổi chương trình,… nhằm vào việc phân rã bài toán thành các phần có chức năng hệ với nhau. Mỗi Học viên thực hiện: Hồ Ngọc Tú Trang 6 6 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 phần là một mô đun trên nguyên tắc chia sẽ dữ liệu. Khi lập trình trên các ngôn ngữ, mỗi mô đun sẽ là một chương trình con, một hàm hay một thủ tục. Các phân tích như vậy cho phép ta tiền định công việc tổ chức việc lập chương trình cùng một lúc bởi nhiều người. Mỗi một mô đun được triển khai kiểm tra thử nghiệm độc lập. Cuối cùng, nếu các mô đun đều triển khai tốt, thì việc bảo trì cũng được nhẹ nhàng hơn. Ngược lại, thiết kế ứng dụng tổng quát đòi hỏi phải tạo được mối liên hệ giữa các mô đun chỉ ra kiểu kết nối cho các tác động đẳng. Kiểu thực hiện này gọi là đồ điều khiển tổng quát được trình bày nhờ công cụ của cấu trúc điều khiển với các hình thức thể hiện khác nhau. Hệ thống đa bộ xử có thể vẫn sử dụng các ngôn ngữ nguyên lập trình truyền thống cho các hệ thống tập trung, áp dụng các giải thuật cho hệ thống đa bộ xử đang được phát triển mạnh trong những năm gần đây. Đối với hệ tin học phân tán, công cụ chính yếu để giải quyết vấn đề nêu trên là các ngôn ngữ lập chương trình được bổ sung thêm một số lệnh, hàm hay thủ tục chuẩn cho phép người lập trình biên soạn thực hiện trong môi trường phân tán. Các ngôn ngữ thuật toán mà ta thường sử dụng để lập chương trình cho các hệ tập trung không có được khả năng đặc biệt này. Cấu trúc điều khiển tuần tự (điều kiện, lặp, thủ tục) cho phép thực hiện tốt công việc, nhưng không phải lúc nào cũng thỏa mãn các yêu cầu của việc thực hiện song song. Hình thức khác nhau của chúng rất phong phú như cùng mặc định, cùng bên, tiến trình, gặp gỡ, kịch bản,…có thể nói ngắn gọn trong một thuật ngữ là hàm nguyên thủy. Sự phát triển nhanh chóng các cấu trúc được giải thích bằng thực tế là phần lớn chỉ đáp ứng cho các tình huống cụ thể trên các hệ thống đơn xử lý. Lập chương trình phân tán đòi hỏi sự thay đổi nhiều về lượng hơn là chất. Một trong những vấn đề quan trọng là ta cần phải lựa chọn là ngôn ngữ nào trong quá trình lập chương trình với sự phụ thuộc ít nhất vào cấu trúc vật của việc phân tán. Trong tất cả các trường hợp, người lập chương phân tán cần phải xem xét số lượng các tiến trình song song phối hợp chúng lại với nhau như thế nào là hợp nhất. Để triển khai các tiến trình này, đầu tiên, cần phải có khả năng cho thực hiện trên một trạm rồi liên thông giữa các trạm lại với nhau. 8. Về nguyên thiết kế các chiến lược đồng bộ hóa tiến trình : Trong cả hai hệ thống, 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ào thông tin dùng chung cùng một lúc, trường hợp này gọi là truy cập 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. 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 các bài toán đặt ra cho kết quả nhanh chóng nhất. Điều này cho phép tăng hiệu năng sử dụng thiết bị hiệu quả 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 hoạt động chung. Sự tương tranh 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 đa xử lý, điều đó 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. Các giải pháp điều khiển tương tranh bao gồm phương pháp sử dụng các biến cờ hiệu, sử dụng việc kiểm tra luân phiên, giải pháp của Peterson, giải pháp phần cứng, dùng Semaphore… Các giải pháp Học viên thực hiện: Hồ Ngọc Tú Trang 7 7 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 đồng bộ bao gồm: Đồng bộ hóa bằng Semaphore, chia sẻ vùng đệm, trao đổi thông điệp, tín hiệu, pipe… Trong hệ tin học phân tán, việc đồng bộ hóa chỉ đặt ra duy nhất vấn đề thiết lập một trật tự giữa các sự kiện. Giữa các trạm khác nhau, trật tự đó chỉ có thể thể hiện được thông qua việc trao đổi các thông điệp với nhau. Các phương pháp đồng bộ hóa tiến trình bao gồm: Đồng bộ hóa bằng phương pháp trật tự từng phần, đồng bộ hóa bằng phương pháp trật tự tổng quát chặt chẽ, sắp xếp bằng bộ tuần tự… 9. Các chiến lược cung cấp tài nguyên: Đối với hệ thống đa xử lý: Dùng đồ thị để mô hình hóa việc cấp phát tài nguyên, đồ thị này có 02 loại nút: các tiến trình biểu diễn bằng hình tròn mỗi tài nguyên được hiện thị bằng hình vuông. Đối với hệ tin học phân tán: Thông thường hay sử dụng khái niệm giao dịch như là thực thể sử dụng, giao dịch là phép toán hợp thành một logic hoàn chỉnh mà việc triển khai có thể dẫn đến thực hiện một tiến trình duy nhất hay nhiều tiến trình được định vị trên các trạm khác nhau. Một tiến trình nào đó cần sử dụng tài nguyên phải yêu cầu bộ cung cấp một cách hợp thức bằng cách gửi thông điệp yêu cầu. Bộ cung cấp có thể áp dụng nhiều kiểu cung cấp khác nhau như tiến trình duy nhất, tập hợp các tiến trình, tập hợp các thủ tục. Các thông điệp yêu cầu sử dụng tài nguyên cũng có thể có dạng khác nhau như gọi thủ tục, thông báo thực hiện các lệnh đặc biệt. 11. Bế tắc giải quyết bế tắc: Trong cả hai hệ thống, bế tắc xảy ra khi tiến trình truy cập loại trừ được phân phối mà không có khả năng thu hồi các tiến trình phải sử dụng đồng thời nhiều tài nguyên. Bế tắc còn xảy ra do việc sử dụng tài nguyên không thể chia sẻ, sự chiếm giữ yêu cầu tài nguyên, không thu hồi tài nguyên từ tiến trình đang giữ chúng, tồn tại chu trình trong đồ thị cấp phát tài nguyên. - Đối với hệ thống đa bộ xử lý: Giải quyết tắc nghẽn theo một trong các cách sau: * Ghi nhận loại tài nguyên không thể chia sẻ * Đảm bảo rằng mỗi tiến trình yêu cầu thêm tài nguyên thì không thể chiếm giữ các tài nguyên khác. * Cho phép hệ thống thu hồi tài nguyên từ các tiến trình bị khóa cấp phát trở lại cho tiến trình khi nó thóat khỏi tình trạng bị khóa * Tránh tạo chu trình trong đồ thị cấp phát tài nguyên. -Đối với hệ tin học phân tán: Có thể giải quyết bế tắc bằng cách dự báo phòng tránh có nghĩa là tài nguyên được cung cấp theo kiểu có đề phòng trường hợp bế tắc. Một phương pháp khác là phát hiện chữa trị có nghĩa là khi có sự cố thì quay về trạng thái trước đó. Các thuật toán dự phòng, phát hiện, chữa trị đã được nghiên cứu cho trường hợp là tất cả các tài nguyên đều được quản bởi bộ cung cấp duy nhất. Bộ cung cấp này chấp nhận tất cả các yêu cầu biết rõ trạng thái của các tài nguyên. Học viên thực hiện: Hồ Ngọc Tú Trang 8 8 Bài tiểu luận môn Hệ phân tán Lớp KHMT K24 Học viên thực hiện: Hồ Ngọc Tú Trang 9 9 Tiểu luận môn học HỆ TIN HỌC PHÂN TÁN Phần bài tập PHẦN II: BÀI TẬP VIỀT CHƯƠNG TRÌNH MÔ PHỎNG QUÁ TRÌNH ĐỒNG BỘ HÓA BÃI ĐẬU XE ÔTÔ CÓ N CỒNG (N ≥ 2) 1 . Đặt vấn đề: Có một bãi đậu xe loại lớn có n cổng (n ≥ 2) vào ra, tại mỗi cổng có một người bảo vệ, nhiệm vụ của những người bảo vệ là phải biết được tình trạng của bãi giữ xe để có thể quyết định còn chỗ trống hay không số lượng chỗ trống là bao nhiêu để cho phép hay không cho phép một xe vào bến. Vấn đề là mỗi người bảo vệ chỉ có thể biết được trạng thái của bãi đậu xe với một độ trễ nhất định. Trong thực tế, một người bảo vệ nào đó có thể cho là đã hết chỗ trống trong khi một người khác lại vừa cho xe ra khỏi cổng. Cũng có thể xảy ra trường hợp cùng lúc những người bảo vệ giải quyết cho xe vào cùng một vị trí do họ thiếu thông tin. Như vậy, những người bảo vệ phải phối hợp với nhau để phân phối chính xác các vị trí đậu xe trong bãi . 2. Giải quyết vấn đề: Ta xem mỗi người bảo vệ như là một trạm trong một hệ tin học phân tán cùng truy cập đến thông tin chung là số tổng số chỗ N, số lượng xe đã vào bãi E, số lượng xe ra S kiểm tra X=N-E+S>0 khi muốn cho một xe vào bãi. Thuật giải có thể được mô tả cho mỗi trạm(người bảo vệ tại mỗi cổng) như sau: * Trạng thái ban đầu tại mỗi trạm là bình thường, chưa có thao tác (released) * Khi có yêu cầu xảy ra tại cổng vào ra (có thể là yêu cầu chỗ trống để cho xe vào hay cho một xe ra khỏi bãi), tại đây sẽ ghi nhận thời gian theo đồng hồ logic chuyển trạng thái sang yêu cầu truy cập thông tin (wanted) gửi thông báo đến các trạm còn lại chờ cho đến khi nhận được N-1 yêu cầu từ các trạm còn lại gửi về. Sau khi đã nhận đủ N-1 yêu cầu sẽ chuyển sang trạng thái đã hoạt động (held), tức là tiến trình đã vào miền găng đã có quyền truy cập vào các thông tin chung như đã được mô tả như trên. * Sau khi thực hiện xong việc giải quyết vào ra cho một xe tại cổng của mình ghi lại thông tin về hiện trạng của bãi đậu xe, sẽ chuyển sang trạng thái ban đầu (released) thông báo cho tất cả các trạm còn lại việc ra khỏi miền găng. Có hai vấn đề cần lưu ý là một trạm có thể phát đi yêu cầu vào miền găng trong khi một trạm khác đang ở trong miển găng một trạm đang ở trong miền găng thì nhận được các yêu cầu được vào miền găng từ những . - Giống nhau: Hệ thống đa bộ xử lý và hệ tin học phân tán đều là những hệ thống có nhiều bộ xử lý (hay bộ vi xử lý) . - Khác nhau: Hệ thống đa bộ xử lý Hệ. Hệ phân tán Lớp KHMT K24 Chương II : SO SÁNH HỆ THỐNG ĐA BỘ XỬ LÝ VÀ HỆ TIN HỌC PHÂN TÁN Dựa trên các đặc điểm của hệ thống đa bộ xử lý và Hệ tin học phân

Ngày đăng: 28/12/2013, 20:59

Từ khóa liên quan

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

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

Tài liệu liên quan