A Genetic Algorithm for Load Balancing in Parallel Query Evaluation for Deductive Relational Data Bases
Datalog is a query language for deductive databases. This language allows to evaluate a query incrementally on a network of processes. The tuples flow among them in parallel in order to compute the solution to the query. A major issue in this evaluation is the problem of assigning the processes to processors in a multiprocessors system. Not only load balancing is wanted but lowering the communication costs among the processors is crucial. We have tackled this problem by using a GA that works on a specific fitness function that allows to meet these goals. The techniques and results are presented here.
KeywordsGenetic Algorithm Load Balance Logic Programming Query Language Task Allocation
Unable to display preview. Download preview PDF.
- Ceri, Gottlob and Tanca “Logic Programming and Databases”. Surveys in Computer Science. Springer Verlag. 1990.Google Scholar
- Bancilhon, “Magic Sets and Other Strange Ways to Implement Logic Programs”. In Proceedings of the 5th ACM Symposium on PODS. 1986.Google Scholar
- Ullman, “Principles of Database and Knowledge-Base Systems”. Vol. 2. Computer Science Press, New York. 1989.Google Scholar
- Aldana “A Dataflow Model for Datalog Parallel Evaluation” Tech. Rep. Dpt Lenguajes y Ciencias de la Computación. Univ. of Málaga, 1993.Google Scholar
- Mansour and Fox, “A Hybrid Genetic Algorithm for Task Allocation in Multicomputer”. ICGA-91, Morgan Kaufmann, 1991.Google Scholar
- Whitley “The GENITOR Algorithm and Selection Pressure: Why rank based allocation of reproductive trials is best”, ICG A, Springer-Verlag, 1989.Google Scholar
- Bennet, Ferris and Ioannidis, “A Genetic Algorithm for Database Query Optimization”. ICGA-91, Morgan Kaufmann, 1991.Google Scholar