This paper discusses the major problems associated with the exploitation of locality of data structures in functional programs and how to improve it by controlling the granularity of such programs on a multiprocessor. Optimal execution of parallel programs depends on partitioning the program into modules (processes) and scheduling these modules for the shortest execution time possible. We show how various techniques can help us in increasing the granularity of parallel programs and enhancing the locality of its data structures on the larger-grain distributed multi-processor model, LAGER. Even in the presence of other granularity control methods, the overall parallel execution time of a parent process is minimized by scheduling its sub-processes in a particular order of their relative time complexities.