Mô hình quá trình truyền thông

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 133 - 136)

Mô hình đồ thị đi tr−ớc biểu diễn QT đ−ợc thảo luận trong phần tr−ớc là mô hình tính toán. Ch−ơng trình đ−ợc biểu diễn bằng DAG là những ứng dụng ng−ời dùng điển hình, trong đó ràng buộc đi tr−ớc giữa các bài toán trong ch−ơng trình đ−ợc ng−ời dùng chỉ dẫn rõ ràng. Mục tiêu cơ bản của lập lịch là đạt sự đồng thời tối đa việc thực hiện bài toán trong ch−ơng trình. Giảm tối thiểu truyền thông bài toán đóng vai trò thứ yếu, mặc dù có ảnh h−ởng đáng kể tới số hiệu hiệu năng chính: thời gian hoàn thiện tổng thể.

Lập lịch QT cho những ứng dụng hệ thống theo nhiều bối cảnh rất khác nhau, bởi vì các QT trong một ứng dụng hệ thống có thể tạo ra một cách độc lập. Không có ràng buộc tr−ớc-sau ngoại trừ nhu cầu truyền thông giữa các QT. Không có thời gian hoàn thành của các QT nh− tr−ờng hợp mô hình QT đi tr−ớc. Mục tiêu của lập lịch QT là tận

2 12 3 5 3 4 4 6 12 8 1 2 6

dụng tối đa nguồn tài nguyên và giảm tối thiểu truyền thông liên QT. Những ứng dụng này là mô hình tốt nhất cho mô hình QT truyền thông, đ−ợc trình bày trong hình 5.1 b. Mô hình QT truyền thông đ−ợc biểu diễn bằng một đồ thị vô h−ớng G với tập V các đỉnh biểu diễn QT và tập E các cạnh có trọng số nối hai đỉnh biểu diễn số l−ợng giao dịch của hai QT liên kết nhau. Giả thiết về việc thực hiện QT và truyền thông là t−ơng tự mô hình đi tr−ớc song có một sự khác biệt nhỏ. Việc thực hiện QT và truyền thông đ−ợc biểu diễn theo giá thành.

Giá thành thực hiện QT là hàm theo BXL mà QT đ−ợc gán tới đo để thực hiện. Vấn đề chính yếu là các bộ xử lý không đồng nhất (khác nhau về tốc độ và cấu trúc phần cứng). Do vậy, dùng ký hiệu ej (pi) để biểu thị giá thành cho QT j trên pi, trong đó pi là bộ xử lý đ−ợc dùng cho QT j. Giá thành truyền thông ci,j (pi, pj) giữa hai QT i và j dùng cho hai bộ xử lý khác nhau pi và pj là tỉ lệ với trọng số cung kết nối i với j. Giá thành truyền thông đ−ợc xem là không đáng kể (giá thành bằng 0) khi i =j. Bài toán đ−ợc đặt ra là tìm phân công tối −u của mô hình m mođun QT tới P bộ xử lý theo mối quan hệ của hàm đối t−ợng d−ới đây đ−ợc gọi là Bài toán định vị mođun.

∑∑ ∑ ∈ ∈ + = ) ( ) , ( , ) ( ) , ( ) ( ) , ( G E j i j i j i G V J i j p e p p e P G Cost

Bài toán định vị mođun đ−ợc Stone đ−a ra đầu tiên và đ−ợc nghiên cứu rộng rãi khá lâu. T−ơng tự nh− phần lớn các ứng dụng đồ thị, Bài toán định vị môđun tổng quát là NP-đầy đủ ngoại trừ một vài tr−ờng hợp hạn chế. Với P=2, Stone dự đoán một cách giải đa thức hiệu quả sử dụng thuật toán dòng - cực đại (maximum – flow) của Ford- Fulkerson. Các thuật toán giải đa thức cũng đã đ−ợc phát triển bởi Bokhari và Towsley cho một vài đồ thị tôpô đặc biệt nh− đồ thị dạng cây và song song chuỗi. Trong ví dụ d−ới đây chúng ta minh họa khái niệm trên bằng xem xét mô hình hàng hoá song xử lý cuả Stone trong việc phân chia đồ thị QT truyền thông tới kiến trúc để đạt đ−ợc tổng giá thành thực hiện và truyền thông nhỏ nhất.

Khảo sát một ch−ơng trình bao gồm 6 QT sẽ đ−ợc lập lịch vào hai bộ xử lý A và B nhằm giảm tối thiểu giá thành tổng tính toán và truyền thông. Thời gian thực hiện cho mỗi QT trên mỗi bộ xử lý đ−ợc trình bày qua hình 5.7 a. Hình 5.7 b là đồ thị biểu diễn đa xử lý truyền thông giữa 6 QT. Hai bộ xử lý là không giống nhau. Ví dụ QT 1 cần 5 đơn vị giá thành để chạy trên bộ xử lý A nh−ng cần 10 đơn vị giá thành khi chạy trên bộ xử lý B. Nhãn gán trên một cạnh của đồ thị truyền thông là giá thành truyền thông

2 12 3 5 3 4 4 6 12 8 1 2 6 11 B A 4 10 4 3 3 5 4 2 6 5 Giá nhát cắt = 38 Hình 5.8. Nhắt cắt giá tối thiểu

nếu hai QT kết nối nhau đ−ợc định vị tới những bộ xử lý khác nhau. Để ánh xạ QT tới các bộ xử lý, phân chia thành hai đồ thị rời nhau bằng một đ−ờng kẻ cắt ngang qua một số cung. Kết quả phân chia thành hai đồ thị rời nhau, mỗi đồ thị gán tới một bộ xử lý. Tập các cung bị loại bỏ qua nhát cắt đ−ợc gọi là tập cắt (cut set). Giá thành của một

tập cắt là tổng trọng l−ợng của những cung biểu thị chính tổng giá thành truyền thông liên QT giữa hai bộ xử lý.

Bài toán tối −u sẽ là tầm th−ờng khi chúng ta chỉ phải giảm tối thiểu giá thành truyền thông vì chúng ta có thể sắp đặt tất cả các QT lên một bộ xử lý đơn và loại trừ tất cả trần các truyền thông liên QT. Tối −u là vô nghĩa trừ phi cần phải đảm bảo các ràng buộc nào đó trong việc tính toán thực hiện và thi hành khác. Điều kiện hạn chế là QT nào đó chỉ có thể chạy đ−ợc trên một bộ xử lý nào đó nh− hình 5.7 a là một ví dụ tốt về ràng buộc tính toán. Một vài việc thực thi có thể yêu cầu không nhiều hơn k QT chỉ định cho một bộ xử lý hay những QT đó đ−ọc chỉ định tới tất cả các bộ xử lý hiện có. Hình 5.8 chỉ ra nhắt cắt giá thành tối thiểu cho tr−ờng hợp hình 5.7 với hàm tính giá COST (G, P). Trong l−ợc đồ, bổ sung hai đỉnh mới biểu diễn các bộ xử lý A và B vào đồ thị truyền thông (cùng những cung nối mỗi bộ xử lý tới mỗi đỉnh QT). Trọng số đ−ợc gán tới cạnh nối giữa bộ xử lý A và QT i là giá thành thực hiện QT i trên bộ xử lý B và ng−ợc lại. Việc gán trọng số kiểu này là khôn ngoan bởi vì một vết cắt dọc theo đ−ờng đậm nét liên quan đến phân công QT đ−ợc thực hiện trên bộ xử lý B. Chúng ta xem xét chỉ các nhát cắt phân chia các nút (A và B). Tổng trọng số của các đ−ờng nối trong vết cắt là tổng giá thành truyền thông và giá thành tính toán.

Việc tính tập cắt giá thành tối thiểu cho mô hình trên là t−ơng đ−ơng với việc tìm dòng cực đại (maximum-flow) và cắt tối thiểu (minimum-cut) của mạng hàng hóa. Đồ thị ở hình 5.8 có thể hiểu nh− một mạng với các đ−ờng giao thông (cung) nối các thành phố (đỉnh) với nhau. Trọng số trên đ−ờng nối là thông l−ợng của đoạn. Nút A là thành phố nguồn và nút B là thành phố đích của việc vận chuyển hàng hoá. Khi cho một đồ thị hàng hoá, vấn đề tối −u là tìm ra luồng cực đại từ nguồn tới đích. Fort và Fulkerson trình bày một thuật toán gán nhãn cho phép tìm một cách hệ thống đ−ờng mở rộng dần từ nguồn tới đích (thuật toán đ−ợc thấy trong hầu hết các cuốn sách giáo khoa về thụât toán). Hai ông cũng chứng minh rằng luồng cực đại (maximum fow) cho một mạng t−ơng đ−ơng mặt cắt nhỏ nhất (minimum cut) làm tách rời nguồn với đích trong đồ thị. Thuật toán luồng cực đại và định lý mặt cắt nhỏ nhất của luồng cực đại hoàn toàn phù hợp với sự tối −u hoá bài toán định vị mô - đun (sự lập lịch QT) cho hai bộ xử lý.

Để tổng quát hoá bài toán có nhiều hơn hai bộ xử lý, Stone phác thảo giải pháp cho hệ thống có 3 bộ xử lý và đề xuất một ph−ơng pháp lặp sử dụng thuật toán cho hai bộ xử lý để giải quyết những bài toán có n bộ xử lý. Để tìm ra một sự định vị mô-đun của m QT cho n bộ xử lý, thuật toán mặt cắt nhỏ nhất luồng cực đại có thể áp dụng cho một bộ xử lý Pi và một bộ siêu xử lý ảo P bao gồm các bộ xử lý còn lại. Sau khi vài QT đã đ−ợc lên lịch cho Pi, thủ tục đ−ợc lặp lại t−ơng tự trên bộ siêu xử lý cho đến khi tất cả các QT đ−ợc ấn định.

Bài toán định vị mô-đun là phức tạp vì những mục đích của sự tối −u hoá cho việc giảm chi phí tính toán và truyền tin xuống mức thấp nhất th−ờng mâu thuẫn (đối lập) với nhau. Bài toán đủ quan trọng để chứng minh cho những giải pháp mang tính kinh nghiệm (tự tìm tòi). Một ph−ơng pháp để phân chia sự tối −u hoá tính toán và truyền thông trở thành 2 vấn đề riêng biệt. Trong một mang máy tính nơi chi phí truyền tin có thể có ý nghĩa (đáng kể) hơn chi phí tính toán, ta có thể kếtp hợp các QT với sự t−ơng tác giữa các QT bậc cao thành các nhóm QT. Các QT trong mỗi nhóm sau khi đ−ợc ấn định cho bộ xử lý sẽ làm giảm chi phí tính toán xuống mức thấp nhất. Sự hợp nhất các QT truỳen tin giữa các bộ xử lý đơn giản nh−ng có thể thực hiện đ−ợc nhiều phép tính

hơn trên bộ xử lý và do đó làm giảm bớt sự trùng lặp. Một giải pháp đơn giản là chỉ kết hợp những QT có chi phí truyền tin cao hơn một ng−ỡng C nào đó. Thêm vào đó, số các QT trong một nhóm đơn không thể v−ợt quá một ng−ỡng X khác. Sử dụng ví dụ trong hình 5.7 và chi phí truyền tin trung bình đ−ợc −ớc l−ợng C=9 nh− mộtng−ỡng, 3 nhóm (2,4), (1,6), (3,5) có thể tìm ra. Hiển nhiên nhóm (2,4) và (1,6) phải đ−ợc sắp đặt t−ơng ứng cho các bộ xử lý A và B. Nhóm (3,5) có thể đ−ợc ấn định cho bộ xử lý A hoặc B. Việc ấn định chúng cho B có chi phí tính toán thấp hơn nh−ng phải chịu một chi phí truyền tin cao hơn nhiều. Vì vậy chúng đ−ợc ấn định cho A, kêt quả là chi phí tính toán trên A là 17, trên B là 14 và chi phí truyền tin giữa A và B là 10. Tổng chi phí là 41, một chi phí không cao hơn nhiều so với chi phí tối −u là 38 nhận đ−ợc từ thuật toán mặt cắt nhỏ nhất. Giá trị của ng−ỡng X có thể đ−ợc sử dụng để cân bằng sự thực hiện công việc trên các bộ xử lý. Sử dụng một giá trị X thích hợp để phân phối công việc cần làm thậm chí cũng sẽ ảnh h−ởng tới sự phân chia (3,5) cho bộ xử lý A trong ví dụ t−ơng tự.

Lịch trình tĩnh tối −u có độ phức tạp cao. Các thuật toán đơn giản để tìm ra là hấp dẫn, thu hút. Mặc dù nhiều giải pháp để tìm ra tạo ra nhiều sự xét đoán nh−ng chúng ta chỉ có những thông tin gần đúng về giá truyền thông và tình toán. Hơn thế nữa việc thi hành sự phân chia xử lý khởi tạo là không đ−ợc phê bình nếu những xử lý có thể bị di chuyển sau khi chúng vừa đ−ợc phân chia. Đó là một trong những thúc đẩy cho lập lịch xử lý động đ−ợc đ−a ra trong đoạn tiếp theo.

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 133 - 136)