Một trong các chiến lược thường được sử dụng để phối hợp tác tử trong việc giải quyết vấn đề phân tán là chia sẻ công việc (task sharing). Ý tưởng chia sẻ công việc rất đơn giản: khi tác tử có nhiều việc phải thực hiện hoặc có những phần việc không có khả năng thực hiện, tác tử có thể yêu cầu các tác tử khác với ít việc hơn hay có khả năng hơn thực hiện một phần việc giúp mình. Chia sẻ công việc bao gồm các bước sau.
Phân rã công việc: công việc được chia thành các phần việc nhỏ hơn mà các
tác tử khác có thể thực hiện. Nếu cần thiết, phần việc còn lại được phân rã tiếp để tạo thành các phần việc nhỏ hơn. Quá trình này có thể tiếp tục cho đến khi từng phần việc đủ nhỏ để từng tác tử riêng lẻ có thể thực hiện được. Phân phối công việc: các phần việc được phân phối đến những tác tử thích
hợp để thực hiện.
Thực hiện công việc: tác tử tương ứng thực hiện phần việc được giao. Mỗi
tác tử sau khi nhận phần việc của mình lại có thể tiếp tục phân chia thành những phần việc nhỏ hơn và giao cho tác tử khác thực hiện và quá trình này tiếp tục cho đến khi không cần chia sẻ tiếp.
Tổng hợp kết quả:sau khi thực hiện xong phần việc của mình, tác tử gửi kết
quả cho tác tử gốc (tác tử giao nhiệm vụ). Tác tử gốc kết hợp kết quả thành phần để nhận được kết quả chung.
TT TT
Phân rã công việc Phân phối và thực hiện Tổng hợp kết quả công việc
Hình 2.8 Mô hình chia sẻ công việc