Heuristic task assignment algorithm using process algebra - Fernandez, Kai Shan L. (Animo Repository, 1995)
Because academic interest in distributed computer systems is expected to continually grow, software professionals can benefit from understanding the special challenges posed by distributed software development. Distributed software system design requires that the system be divided into several software processes and data files and that these be allocated to the distributed system's various processors. In the design, the task allocation activity is the assignment of each processes and data file to one or more system processors. One of the keys to task allocation is to establish a model in terms of minimizing the total execution and interprocessor communication cost and taking both deadlines and queuing delays into consideration. The category to which the proposed model falls is the heuristic approach where optimality is being traded off for speed and is useful when an optimal solution is not required or not obtainable within a time limit. Process algebra is the mathematical tool used to represent the operations during task assignment as well as the results.