A dynamic load distribution (LD) algorithm improves the performance of a distributed system by using current system load information to relocate application tasks among processing nodes so that workload imbalance in the system can be smoothed out.In this paper, we propose a Guarantee and Reservation Protocol (GR Protocol) which can be used by dynamic LD algorithms. The protocol enables batch task assignments, which mean that multiple tasks can be selected for remote execution during each single sender-receiver negotiation session. This is in contrast to the commonly used single task assignments. Principally, the GR Protocol is used for obtaining the mutual agreement between a task sender and a receiver on the appropriate task batch size. The key in this protocol is the virtual workload model which ensures coordinated task dispersements within the distributed systems, and at the same time avoids processor thrashing. That is, to avoid situations when a receiver node is flooded with excessive incoming tasks and thus becomes overloaded.are needed before the workload imbalance can be smoothed out. There are two immediate performance penalties: (1) unnecessarily high CPU and communication overhead can be incurred; and (2) tasks cannot be dispersed fast enough, resulting in large task response times. A new LD algorithm has been proposed recently using batch task assignments, which mean that multiple tasks can be selected for remote execution during each single sender-receiver negotiation session [5]. This approach requires that the amount of workload contained in a task batch, referred to as the task batch size, must be determined dynamically during negotiations based on the load states of the negotiating nodes.In this paper, we present the Guarantee and Reservation Protocol (GR Protocol), which can be used by dynamic LD algorithms employing batch task assignments. Principally, the GR Protocol is used for obtaining the mutual agreement between a task sender and a receiver on the appropriate task batch size.The key in this protocol is the virtual workload model which ensures coordinated task dispersements within the distributed systems, while at the same time avoids processor thrashing [4].That is, to avoid situations when a receiver node is flooded with excessive incoming tasks from multiple sender nodes and. thus becomes overloaded.