{"title":"具有与并行的分布式Prolog系统","authors":"M. Carlton, P. Van Roy","doi":"10.1109/HICSS.1988.11800","DOIUrl":null,"url":null,"abstract":"A description is given of the design and implementation of a distributed version of a Prolog interpreter running on a network of Sun workstations. The system easily takes advantage of AND-parallelism using fork and join primitives implemented by message passing. The design decisions and tradeoffs are explained in detail. The design is simple and yet powerful enough to achieve practical speedups on large existing Prolog programs. It is proved that deadlock is not possible provided a weak condition is met. The principles of programming using the new primitives are explained with simple examples. It is concluded that implementing AND-parallelism can give a significant performance gain despite the message overhead, and that the design complexity is less than that needed to incorporate other types of parallelism in Prolog.<<ETX>>","PeriodicalId":148246,"journal":{"name":"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"A distributed Prolog system with AND-parallelism\",\"authors\":\"M. Carlton, P. Van Roy\",\"doi\":\"10.1109/HICSS.1988.11800\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A description is given of the design and implementation of a distributed version of a Prolog interpreter running on a network of Sun workstations. The system easily takes advantage of AND-parallelism using fork and join primitives implemented by message passing. The design decisions and tradeoffs are explained in detail. The design is simple and yet powerful enough to achieve practical speedups on large existing Prolog programs. It is proved that deadlock is not possible provided a weak condition is met. The principles of programming using the new primitives are explained with simple examples. It is concluded that implementing AND-parallelism can give a significant performance gain despite the message overhead, and that the design complexity is less than that needed to incorporate other types of parallelism in Prolog.<<ETX>>\",\"PeriodicalId\":148246,\"journal\":{\"name\":\"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track\",\"volume\":\"11 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HICSS.1988.11800\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HICSS.1988.11800","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A description is given of the design and implementation of a distributed version of a Prolog interpreter running on a network of Sun workstations. The system easily takes advantage of AND-parallelism using fork and join primitives implemented by message passing. The design decisions and tradeoffs are explained in detail. The design is simple and yet powerful enough to achieve practical speedups on large existing Prolog programs. It is proved that deadlock is not possible provided a weak condition is met. The principles of programming using the new primitives are explained with simple examples. It is concluded that implementing AND-parallelism can give a significant performance gain despite the message overhead, and that the design complexity is less than that needed to incorporate other types of parallelism in Prolog.<>