{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/21915"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/21915","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Self-scheduling, data synchronization and program transformation for multiprocessor systems","abstract":"The limitation of vector supercomputing and of device speed has led to the development of multiprocessor supercomputers. Although large tightly-coupled shared-memory multiprocessor systems have become feasible, such systems cannot be considered successful, unless their numerous processors can coordinate with each other efficiently for a wide range of applications. Advanced software techniques and their supports from system architectures are keys to the success of modern multiprocessor supercomputers.","abstract_html":"The limitation of vector supercomputing and of device speed has led to the development of multiprocessor supercomputers. Although large tightly-coupled shared-memory multiprocessor systems have become feasible, such systems cannot be considered successful, unless their numerous processors can coordinate with each other efficiently for a wide range of applications. Advanced software techniques and their supports from system architectures are keys to the success of modern multiprocessor supercomputers.","abstract_has_math":false,"creators":["Tang, Peiyi"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Yew, Pen-Chung"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T13:23:04Z","date_published":"2011-05-07T13:23:04Z","updated_at":"2026-07-22T22:25:18Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1989 Tang, Peiyi"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI8924956","(UMI)AAI8924956"],"render_values":[{"text":"AAI8924956","href":null,"code":true},{"text":"(UMI)AAI8924956","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/21915","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Yew, Pen-Chung"]},{"key":"dc:creator","label":"Author","values":["Tang, Peiyi"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T13:23:04Z","10000-01-01","1989"]},{"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 1989 Tang, Peiyi"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI8924956","(UMI)AAI8924956","http://hdl.handle.net/2142/21915"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["The limitation of vector supercomputing and of device speed has led to the development of multiprocessor supercomputers. Although large tightly-coupled shared-memory multiprocessor systems have become feasible, such systems cannot be considered successful, unless their numerous processors can coordinate with each other efficiently for a wide range of applications. Advanced software techniques and their supports from system architectures are keys to the success of modern multiprocessor supercomputers.","This dissertation first concentrates on two important software issues for large multiprocessor systems: processor scheduling and data synchronization.","Self-scheduling, an efficient dynamic heuristic scheduling, is a practical solution to the scheduling problem of multiprocessor systems. We propose several self-scheduling schemes which can be used by a compiler to generate self-scheduling object codes for parallel programs. Since busy-waiting is used to enforce cross-iteration data dependences, deadlocks in self-scheduling are possible. We identify the conditions that allow deadlock-free self-scheduling for different self-scheduling models and propose the use of an appropriate scheduling order for allocating processors to prevent deadlocks. Self-scheduling order also has significant impact on the performance of parallel loops with cross-iteration data dependences. We propose the shortest-delay self-scheduling (SDSS) order based on Doacross delays determined by cross-iteration data dependences. We show by simulation that SDSS can offer near-optimal performance in most cases. A compile-time program transformation for SDSS is also presented.","Data synchronization is necessary to enforce cross-iteration data data dependences. We propose a set of data-level synchronization instructions to support data synchronization. Compiler algorithms for generating these data-level synchronization instructions for different types of subscript functions are presented.","\"The last part of the dissertation addresses an architecture issue of large multiprocessor systems: \"\"hot-spot\"\" contention. We suggest the use of software combining to distribute \"\"hot-spot\"\" addressings. A number of software combining algorithms for different access patterns, such as barrier synchronization, fetch-and-add type of operations and semaphore P/V operations, are presented.\"","Made available in DSpace on 2011-05-07T13:23:04Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 8924956.pdf: 7895076 bytes, checksum: 3bdb8fa4984f99baf131b3507fc1a9a4 (MD5) Previous issue date: 1989","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:54:03Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:25:04-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":["Self-scheduling, data synchronization and program transformation for multiprocessor systems"]}]}],"canonical_facts":{"dc:contributor":["Yew, Pen-Chung"],"dc:creator":["Tang, Peiyi"],"dc:date":["2011-05-07T13:23:04Z","10000-01-01","1989"],"dc:description":["The limitation of vector supercomputing and of device speed has led to the development of multiprocessor supercomputers. Although large tightly-coupled shared-memory multiprocessor systems have become feasible, such systems cannot be considered successful, unless their numerous processors can coordinate with each other efficiently for a wide range of applications. Advanced software techniques and their supports from system architectures are keys to the success of modern multiprocessor supercomputers.","This dissertation first concentrates on two important software issues for large multiprocessor systems: processor scheduling and data synchronization.","Self-scheduling, an efficient dynamic heuristic scheduling, is a practical solution to the scheduling problem of multiprocessor systems. We propose several self-scheduling schemes which can be used by a compiler to generate self-scheduling object codes for parallel programs. Since busy-waiting is used to enforce cross-iteration data dependences, deadlocks in self-scheduling are possible. We identify the conditions that allow deadlock-free self-scheduling for different self-scheduling models and propose the use of an appropriate scheduling order for allocating processors to prevent deadlocks. Self-scheduling order also has significant impact on the performance of parallel loops with cross-iteration data dependences. We propose the shortest-delay self-scheduling (SDSS) order based on Doacross delays determined by cross-iteration data dependences. We show by simulation that SDSS can offer near-optimal performance in most cases. A compile-time program transformation for SDSS is also presented.","Data synchronization is necessary to enforce cross-iteration data data dependences. We propose a set of data-level synchronization instructions to support data synchronization. Compiler algorithms for generating these data-level synchronization instructions for different types of subscript functions are presented.","\"The last part of the dissertation addresses an architecture issue of large multiprocessor systems: \"\"hot-spot\"\" contention. We suggest the use of software combining to distribute \"\"hot-spot\"\" addressings. A number of software combining algorithms for different access patterns, such as barrier synchronization, fetch-and-add type of operations and semaphore P/V operations, are presented.\"","Made available in DSpace on 2011-05-07T13:23:04Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 8924956.pdf: 7895076 bytes, checksum: 3bdb8fa4984f99baf131b3507fc1a9a4 (MD5) Previous issue date: 1989","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:54:03Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:25:04-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":["AAI8924956","(UMI)AAI8924956","http://hdl.handle.net/2142/21915"],"dc:language":["eng"],"dc:rights":["Copyright 1989 Tang, Peiyi"],"dc:subject":["Computer Science"],"dc:title":["Self-scheduling, data synchronization and program transformation for multiprocessor systems"],"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:18Z"}