1. INTRODUCTION Load balancing is the process by which task modules constituting an application are assigned to processors, with the goals of maximizing the processor utilization and minimizing the total turnaround time which can be viewed as a task assignment problem by which task modules are assigned to available multi-processors in order to achieve the aforesaid two goals.