cuốn sách gpt4 ai đã làm

thuật toán - Triển khai thuật toán Max-Min và Min-Min

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:52:24 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi đang cố gắng mô phỏng thuật toán lập lịch Max-Min và Min-Min và tự viết mã trong mô phỏng. Nhưng không hiểu rõ cách triển khai cách chúng hoạt động trong mã.

Ví dụ: trong thuật toán FCFS tôi đã sử dụng 3 máy chủ (vms), mỗi máy chủ nhanh hơn máy chủ kia và có 5 nhiệm vụ với thời gian đến khác nhau. Vì vậy, tác vụ đầu tiên sẽ kiểm tra máy chủ đầu tiên và sẽ được lên lịch ở đó, tác vụ thứ hai nếu nó đến khi máy chủ đầu tiên chưa hoàn thành, sẽ kiểm tra tính khả dụng và được lên lịch cho máy chủ thứ hai. Nếu cả 3 máy chủ đều bị chiếm dụng, tác vụ tiếp theo sẽ được lên lịch đến máy chủ có thời gian thực hiện còn lại ngắn nhất.

Bây giờ đối với Min-Min và Min-Max, đây là nền tảng lý thuyết:

Min Min: Giai đoạn 1: Đầu tiên tính toán thời gian hoàn thành từng nhiệm vụ trên mỗi máy, sau đó chọn cho mỗi nhiệm vụ máy xử lý nhiệm vụ đó trong thời gian ngắn nhất có thể. Giai đoạn 2: Trong số tất cả các tác vụ trong siêu tác vụ, hãy chọn tác vụ có thời gian hoàn thành ngắn nhất và giao nó cho máy có thời gian thực hiện dự kiến ​​ngắn nhất. Tác vụ sẽ bị xóa khỏi danh sách siêu tác vụ và quá trình này tiếp tục cho đến khi danh sách siêu tác vụ trống.

Max-Min: Giai đoạn 1: Đầu tiên tính toán thời gian hoàn thành từng nhiệm vụ trên mỗi máy, sau đó với mỗi nhiệm vụ, hãy chọn máy sẽ xử lý nhiệm vụ trong thời gian ngắn nhất. Giai đoạn 2: Trong số tất cả các nhiệm vụ trong Meta Task, chọn Complete The nhiệm vụ dài nhất và giao nó cho máy. Tác vụ sẽ bị xóa khỏi danh sách siêu tác vụ và quá trình này tiếp tục cho đến khi danh sách siêu tác vụ trống.

Tôi đã đạt được giai đoạn 1 của hai thuật toán và tôi cần kiểm tra thời gian tăng tốc của tác vụ cũng như tốc độ tăng tốc của máy chủ -> bùng nổ/tăng tốc = thời gian thực hiện. Tôi tìm thấy máy chủ tốt nhất cho mọi nhiệm vụ. Nhưng tôi không thể hiểu được giai đoạn 2. Đối với Min-Min, lần nào tôi cũng phải chọn nhiệm vụ nhanh nhất và khi tìm thấy nó, tôi phải lên lịch cho máy chủ nhanh hơn. Nhưng khối lượng công việc sẽ không cân bằng. Như tôi đã nói trong số 3 máy chủ, ít nhất một máy chủ nhanh hơn, chẳng hạn như máy chủ có ID 1, nên mỗi khi một tác vụ được lên lịch cho máy chủ này, tôi cần thêm 2 máy chủ khác để thực hiện. .

Vấn đề tương tự như Max-Min, tìm nhiệm vụ tệ nhất và lên lịch cho máy chủ tệ nhất, nhưng chỉ có một máy chủ là tệ nhất nên 2 máy chủ còn lại sẽ không hoạt động. Làm cách nào để cân bằng điều này và tính đến việc các nhiệm vụ đến vào những thời điểm khác nhau?

Nếu bạn cần bất cứ điều gì khác xin vui lòng cho tôi biết và cảm ơn trước!

câu trả lời hay nhất

bạn có thể Phân tích so sánh các thuật toán Min-Min và Max-Min dựa trên Tham số Makespan Bạn có thể tìm thấy mô tả chi tiết về cả hai thuật toán trong . :

Tôi đã dán mã giả cho Min-Min tại đây. ETij là nhiệm vụ tTôi Trong tài nguyên Rj thời gian thực hiện trên. rjcho Rjthời gian sẵn sàng.

nhập mô tả hình ảnh ở đây

Bạn thực sự có thể có tải không cân bằng vì tất cả các tác vụ nhỏ sẽ được thực hiện trước. Thuật toán Max-Min khắc phục được nhược điểm này.

Thuật toán Max-Min thực hiện các bước tương tự như thuật toán Min-Min nhưng sự khác biệt chính nằm ở giai đoạn thứ hai, trong đó nhiệm vụ tTôi được chọn có thời gian hoàn thành tối đa thay vì thời gian hoàn thành tối thiểu như min-min và được gán cho tài nguyên Rj, cho thời gian hoàn thành tối thiểu.

Về thuật toán - Triển khai thuật toán Max-Min và Min-Min, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/55530715/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress