{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/19811"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/19811","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"\"Machine-independent \"\"and\"\" and \"\"or\"\" parallel execution of logic programs\"","abstract":"Parallel machines are becoming increasingly cheap and more easily available. Commercial companies have already announced MIMD machines with more than 8000 processors. This prompts three questions: Should the programmer have to rewrite existing software for each new machine that comes along? Should it be necessary for the programmer to have intimate knowledge of the target machine in order to program it efficiently? Is it necessary for the programmer to identify the parallelism in programs explicitly?","abstract_html":"Parallel machines are becoming increasingly cheap and more easily available. Commercial companies have already announced MIMD machines with more than 8000 processors. This prompts three questions: Should the programmer have to rewrite existing software for each new machine that comes along? Should it be necessary for the programmer to have intimate knowledge of the target machine in order to program it efficiently? Is it necessary for the programmer to identify the parallelism in programs explicitly?","abstract_has_math":false,"creators":["Ramkumar, Balkrishna"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Kale, Laxmikant V."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T12:19:19Z","date_published":"2011-05-07T12:19:19Z","updated_at":"2026-07-22T22:25:14Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1991 Ramkumar, Balkrishna"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9136709","(UMI)AAI9136709"],"render_values":[{"text":"AAI9136709","href":null,"code":true},{"text":"(UMI)AAI9136709","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/19811","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kale, Laxmikant V."]},{"key":"dc:creator","label":"Author","values":["Ramkumar, Balkrishna"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T12:19:19Z","10000-01-01","1991"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1991 Ramkumar, Balkrishna"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9136709","(UMI)AAI9136709","http://hdl.handle.net/2142/19811"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Parallel machines are becoming increasingly cheap and more easily available. Commercial companies have already announced MIMD machines with more than 8000 processors. This prompts three questions: Should the programmer have to rewrite existing software for each new machine that comes along? Should it be necessary for the programmer to have intimate knowledge of the target machine in order to program it efficiently? Is it necessary for the programmer to identify the parallelism in programs explicitly?","Our thesis is that the answer is 'no' on all three counts. We demonstrate that it is possible for users to write parallel programs in a machine independent manner. We address this problem at two levels. We first describe the design and implementation of a parallel run time support system called the Chare kernel that provides a uniform interface to the programmer on the class of MIMD machines. This support system makes it possible for programmers to write machine independent programs efficiently. We choose the logic programming paradigm where a high level specification of the problem is possible and it is amenable to the implicit detection of parallelism. We have designed and implemented a compiler that exploits AND and OR parallelism in logic programs. We have developed an emulator for abstract machine code generated by our compiler as an application on the Chare kernel which runs without modification on shared memory and nonshared memory machines alike.","This thesis discusses addresses algorithmic issues relating to the design and implementation of an efficient parallel Prolog compiler on both shared and nonshared machines. This work differs significantly from most other related research, in part due to their dependence on a global memory address space. This work is the first to demonstrate that nonshared machines like the Intel and NCUBE hypercubes can be exploited effectively for the parallel execution of logic programs. It also provides a convincing demonstration of machine independent parallel programming.","Made available in DSpace on 2011-05-07T12:19:19Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9136709.pdf: 12734935 bytes, checksum: db49a8d1d764c49110421f689cfc668a (MD5) Previous issue date: 1991","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:39:35Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:16:43-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["\"Machine-independent \"\"and\"\" and \"\"or\"\" parallel execution of logic programs\""]}]}],"canonical_facts":{"dc:contributor":["Kale, Laxmikant V."],"dc:creator":["Ramkumar, Balkrishna"],"dc:date":["2011-05-07T12:19:19Z","10000-01-01","1991"],"dc:description":["Parallel machines are becoming increasingly cheap and more easily available. Commercial companies have already announced MIMD machines with more than 8000 processors. This prompts three questions: Should the programmer have to rewrite existing software for each new machine that comes along? Should it be necessary for the programmer to have intimate knowledge of the target machine in order to program it efficiently? Is it necessary for the programmer to identify the parallelism in programs explicitly?","Our thesis is that the answer is 'no' on all three counts. We demonstrate that it is possible for users to write parallel programs in a machine independent manner. We address this problem at two levels. We first describe the design and implementation of a parallel run time support system called the Chare kernel that provides a uniform interface to the programmer on the class of MIMD machines. This support system makes it possible for programmers to write machine independent programs efficiently. We choose the logic programming paradigm where a high level specification of the problem is possible and it is amenable to the implicit detection of parallelism. We have designed and implemented a compiler that exploits AND and OR parallelism in logic programs. We have developed an emulator for abstract machine code generated by our compiler as an application on the Chare kernel which runs without modification on shared memory and nonshared memory machines alike.","This thesis discusses addresses algorithmic issues relating to the design and implementation of an efficient parallel Prolog compiler on both shared and nonshared machines. This work differs significantly from most other related research, in part due to their dependence on a global memory address space. This work is the first to demonstrate that nonshared machines like the Intel and NCUBE hypercubes can be exploited effectively for the parallel execution of logic programs. It also provides a convincing demonstration of machine independent parallel programming.","Made available in DSpace on 2011-05-07T12:19:19Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9136709.pdf: 12734935 bytes, checksum: db49a8d1d764c49110421f689cfc668a (MD5) Previous issue date: 1991","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:39:35Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:16:43-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["AAI9136709","(UMI)AAI9136709","http://hdl.handle.net/2142/19811"],"dc:language":["eng"],"dc:rights":["Copyright 1991 Ramkumar, Balkrishna"],"dc:subject":["Computer Science"],"dc:title":["\"Machine-independent \"\"and\"\" and \"\"or\"\" parallel execution of logic programs\""],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:14Z"}