Chia xẻ và cân bằng động

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

Hai ví dụ về lập lịch của phần trên đây chính là cách thức lập lịch tĩnh. Khi một QT đ−ợc đ−a tới một nút, QT này đ−ợc l−u lại đó cho đến khi nó đ−ợc hoàn thiện. Cả 2 ví dụ trên đều đòi hỏi biết tr−ớc về thời gian chạy và cách thức truyền thông của quá trình. Với mô hình QT đi tr−ớc, mục tiêu đầu tiên là tối thiểu hoá thời gian hoàn thiện toàn bộ, trong khi mô hình QT TT cố gắng tối thiểu hoá tổng chi phí TT, đồng thời tìm cách thoả mãn những ràng buộc về tính toán. Một mô hình toán học và một thuật toán tốt là yếu tố cần thiết cho lập lịch. Tuy nhiên, việc tính toán lại tập trung và chỉ xảy ra tại một thời điểm định tr−ớc.

Biết tr−ớc thông tin về các QT là không thực tế trong hầu hết các ứng dụng phân tán. Với đòi hỏi kết nối và tính toán không cần thông tin tr−ớc, ta phải dựa trên một chiến l−ợc lập lịch linh hoạt, cho phép những quyết định đ−ợc thực hiện tại địa ph−ơng. Trong phần này, chúng ta sẽ sử dụng mô hình QT không liên kết để thể hiện một số chiến l−ợc lập lịch động. Việc sử dụng mô hình không liên kết không có nghĩa là mọi QT không có liên hệ với nhau, mà đ−ợc hiểu theo nghĩa: chúng ta không biết một QT này t−ơng tác với các QT khác nh− thế nào. Vì vậy, ta có thể lập lịch với giả sử rằng chúng không kết nối. Điều này t−ơng đ−ơng với việc bỏ qua sự phụ thuộc giữa các QT. Với mô hình này, mục tiêu của việc lập lịch khác so với mục tiêu của mô hình −u tiên và mô hình liên hệ. Mục tiêu lớn nhất có thể thấy đ−ợc trong lập lịch là h−ớng tới tính hiệu dụng (utilzation) của hệ thống và tính công bằng (fairness) cho các QT xử lý của ng−ời dùng. Tính hiệu dụng của các bộ xử lý có liên quan trực tiếp đến các th−ớc đo tốc độ nh− khối l−ợng xử lý và thời gian hoàn thành. Sự công bằng rất khó để định nghĩa cũng nh− ảnh h−ởng của nó đến hoạt động là không rõ ràng. Có thể nói hiệu dụng và công bằng là yêu cầu trong lập lịch cho mô hình không liên kết của một hệ thống phân tán.

Một chiến l−ợc đơn giản để nâng cao hiệu quả sử dụng của một hệ thống là tránh đ−ợc nhiều nhất tình trạng bộ xử lý rỗi. Giả sử rằng ta có thể chỉ định một QT điều khiển chứa đựng thông tin về kích th−ớc hàng đợi của mỗi bộ xử lý. Các QT đến và ra khỏi

hệ thống theo ph−ơng thức dị bộ. Một QT đến sẽ đ−a ra yêu cầu đòi hỏi bộ điều khiển cung cấp một bộ xử lý. Bộ điều khiển sẽ lập lịch điều phối đ−a QT đó đến một bộ xử lý có hàng đợi ngắn nhất. Để cập nhập thông tin về kích th−ớc hàng đợi, mỗi bộ xử lý cần cung cấp thông tin cho bộ điều khiển ngay khi một QT đ−ợc hoàn tất và ra khỏi khu xử lý. Việc kết nối với hàng đợi ngắn nhất chính là chiến l−ợc điều phối tĩnh cho chia xẻ nhiệm vụ (static load sharing) nhằm mục đích giảm bớt thời gian rỗi của các bộ xử lý và giảm sự chênh lệch về hàng đợi (cân đối nhiệm vụ) giữa các bộ xử lý. Việc cân đối tải là đòi hỏi cao hơn so với chia xẻ tải, bởi vì chúng nâng cao hiệu quả sử dụng và đ−a tới một cách cân đối đúng theo nghĩa bằng nhau về nhiệm vụ phải thực hiện của mỗi bộ xử lý. Cân bằng nhiệm vụ có tác dụng làm giảm thời gian phí tổn trung bình của các QT. Chiến l−ợc này có thể đ−ợc sửa đổi bằng cách cho phép di chuyển linh động một QT từ hàng đợi dài đến các hàng đợi ngắn hơn. Mô hình hàng đợi trên đã đ−ợc đề cập đến trong hình 5.3 c, mô hình trạm làm việc. Tính hiệu quả và cân bằng càng đ−ợc nâng cao bởi ph−ơng thức phân phối linh động lại các công việc hay còn gọi di trú QT. Tuy nhiên, sự cân bằng đề cập ở trên vẫn ch−a mang thật đầy đủ ý nghĩa bởi nó dựa trên quan điểm của hệ thống hơn là của ng−ời dùng. Trong các QT đ−ợc phát sinh bởi ng−ời dùng tại các trạm địa ph−ơng. Vì vậy, một hệ thống cân bằng theo quan điểm ng−ời sử dụng phải là một hệ thống −u tiên cho ch−ơng trình của ng−ời dùng nếu ch−ơng trình đó đòi hỏi chia xẻ các tài nguyên tính toán ít hơn các ch−ơng trình khác. Trên nguyên tắc này, bộ điều khiển phải kiểm soát đ−ợc bộ xử lý hiện đang cấp phát

cho một QT của ng−ời sử dụng. Ngay khi một bộ xử lý rỗi, bộ điều khiển sẽ cấp phát

bộ xử lý đó cho một QT đang chờ đợi tại phía có số lần đ−ợc cấp phát CPU ít nhất. Tính hiệu dụng đ−ợc thể hiện bằng cách cố gắng định vị tối đa các bộ xử lý có thể đ−ợc. Tiêu chuẩn này có thể đ−ợc điều chỉnh bằng việc tính toán độ dài hàng đợi, thông số phản ánh nhiệm vụ tại mỗi vùng và cũng vì thế thực hiện đ−ợc sự cân bằng các QT đ−ợc nạp. So sánh với ph−ơng pháp điều phối “hàng đợi kết nối với QT ngắn nhất” (join-to-the-shortest queue), ta có thể thấy ph−ơng pháp này cho một định nghĩa tốt hơn về sự công bằng, việc điều phối đ−ợc khởi tạo bởi một QT tại điểm xuất phát thay vì tại điểm đích, và vì thế nó phù hợp hơn cho mô hình xâu-bộ xử lý.

Cuộc tranh luận quanh bất kỳ vấn đề nào về hệ phân tán sẽ không bao giờ kết thúc trừ phi ta chứng minh đ−ợc tác dụng của sự điều khiển tập trung (hoặc chứng minh loại bỏ nó). Nếu chúng ta huỷ bỏ sự điều khiển tập trung trong việc chuyển giao một QT từ 1 vùng này (nơi gửi) đến 1 vùng khác (nơi nhận), công việc chuyển giao QT phải đ−ợc tạo lập bởi nơi gửi, nơi nhận, hoặc cả hai. Trong 2 phần tiếp, chúng ta sẽ thảo luận Thuật toán tạo lập trạm gửi và thuật toán tạo lập từ trạm nhận cho công việc chuyển giao QT.

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