Abstract
Aurora is a prototype or-parallel implementation of the full Prolog language for shared memory multiprocessors, based on the SRI model of execution. It consists of a Prolog engine based on SICStus Prolog and several alternative schedulers. The task of the schedulers is to share the work available in the Prolog search tree
This paper describes the Bristol scheduler. Its distinguishing feature is that work is shared at the bottom of partially explored branches (“dispatching on bottom-most”). This can be contrasted with the earlier schedulers, which use a “dispatching on topmost” strategy. We argue that dispatching on bottom-most can lead to good performance, by reducing the overheads of scheduling.
Our approach has been to find the simplest scheduler design which could achieve performance competitive with earlier more complex schedulers. This design gives us a flexibility in deciding strategies for sharing work and allows us to examine ways of improving the performance on both non-speculative and speculative work. We note that in speculative regions the priority of some work is higher than others. We have investigated strategies which help workers to avoid low priority work.
We present the basic design of the Bristol scheduler, discussing the data structures and the main algorithms. We also present performance results for the new scheduler using a number of benchmark programs and large applications. We show that the performance of the Bristol scheduler compares favourably with other schedulers. Our work also shows that special treatment of speculative work leads to improved performance.
On leave from (and present address) SZKI, IQSOFT, Donáti u. 35–45, Budapest, Hungary
Preview
Unable to display preview. Download preview PDF.
References
Khayri Ali. Or-parallel execution of Prolog on BC-Machine. SICS Research Report, Swedish Institute of Computer Science, 1987.
Khayri A. M. Ali and Roland Karlsson. The Muse or-parallel Prolog model and its performance. In Proceedings of the North American Conference on Logic Programming, MIT Press, October 1990.
Per Brand. Wavefront scheduling. 1988. Internal Report, Gigalips Project.
Ralph Butler, Terry Disz, Ewing Lusk, Robert Olson, Ross Overbeek, and Rick Stevens. Scheduling OR-parallelism: an Argonne perspective. In Proceedings of the Fifth International Conference on Logic Programming, pages 1590–1605, MIT Press, August 1988.
Alan Calderwood and Péter Szeredi. Scheduling or-parallelism in Aurora — the Manchester scheduler. In Proceedings of the Sixth International Conference on Logic Programming, pages 419–435, MIT Press, June 1989.
Bogumił Hausman. Pruning and Speculative Work in OR-Parallel PROLOG. PhD thesis, The Royal Institute of Technology, Stockholm, 1990.
Feliks Kluźniak. Developing Applications for Aurora. Technical Report TR-90-17, University of Bristol, Computer Science Department, August 1990.
Ewing Lusk, David H. D. Warren, Seif Haridi, et al. The Aurora or-parallel Prolog system. New Generation Computing, 7(2,3):243–271, 1990.
V. Santos Costa, D. H. D. Warren, and R. Yang. The Andorra-I Engine: A parallel implementation of the Basic Andorra model. In Logic Programming: Proceedings of the 8th International Conference, MIT Press, 1991.
Raed Sindaha. Scheduling speculative work in the Aurora or-parallel Prolog system. March 1990. Internal Report, Gigalips Project, University of Bristol.
Péter Szeredi. Performance analysis of the Aurora or-parallel Prolog system. In Proceedings of the North American Conference on Logic Programming, pages 713–732, MIT Press, October 1989.
Péter Szeredi, Mats Carlsson, and Rong Yang. Interfacing engines and schedulers in or-parallel prolog systems. In PARLE91: Conference on Parallel Architectures and Languages Europe, Springer Verlag, June 1991.
David H. D. Warren. The SRI model for or-parallel execution of Prolog—abstract design and implementation issues. In Proceedings of the 1987 Symposium on Logic Programming, pages 92–102, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag
About this paper
Cite this paper
Beaumont, A., Raman, M., Szeredi, P., Warren, D.H.D. (1991). Flexible scheduling of or-parallelism in Aurora: The Bristol scheduler. In: Aarts, E.H.L., van Leeuwen, J., Rem, M. (eds) PARLE '91 Parallel Architectures and Languages Europe. PARLE 1991. Lecture Notes in Computer Science, vol 506. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54152-7_77
Download citation
DOI: https://doi.org/10.1007/3-540-54152-7_77
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54152-3
Online ISBN: 978-3-540-47472-2
eBook Packages: Springer Book Archive