The aim of this paper was to implement a hierarchical farm which supported worker task migration from one farm to another and to implement a dynamic load balancing scheme by using a dynamic farm model described above. It needed to support multiple farms at each level with multiple worker classes at each farm level. Furthermore, it was necessary to formulate an Application Programmers Interface (API) for the farm which was independent of the nature of the farm (static or dynamic farm implementation) and would work with the PVM environment. It was important to design it in such a way that there would be no ``busy-waiting'' condition at any stage in the components. Any polling for an event to happen would only degrade the system performance. Also, it was a goal to use the farming constructs as a layer above the PVM software and to use the interface of PVM to build the farming model. This was necessary to support the farm implementation across different versions of PVM (starting from 3.2.0) so that it would give backward source code compatibilty (as long as PVM maintained backward compatibility).