dc.contributor.author |
Tarhini, Ali Abbas, |
dc.date |
2013 |
dc.date.accessioned |
2015-02-03T10:23:25Z |
dc.date.available |
2015-02-03T10:23:25Z |
dc.date.issued |
2013 |
dc.date.submitted |
2013 |
dc.identifier.other |
b17911187 |
dc.identifier.uri |
http://hdl.handle.net/10938/9964 |
dc.description |
Thesis (M.E.)-- American University of Beirut, Department of Electrical and Computer Engineeering, 2013. |
dc.description |
Advisor : Dr. Hazem Hajj, Associate Professor, Electrical and Computer Engineering--Committee Members : Dr. Mohammad Mansour, Associate Professor, Electrical and Computer Engineering ; Dr. Wassim El Hajj, Assistant Professor, Computer Science. |
dc.description |
Includes bibliographical references (leaves 53-54) |
dc.description.abstract |
With the advance of multi-core and many core systems, parallel programming has become possible for all developers. To obtain a better performance of software programs in today’s computers, programmers manually transform sequential code into parallel code to distribute the workload among the available processors. Replacing sequential code by parallel code yields to improvement in overall throughput, reduction in potential bottlenecks, and reduction in power consumption. However, manual hand coding is a difficult and error prone task for average programmers, especially when the code is complex. Furthermore loops in code are among the most important factors that impact the performance of any program. Most programs spend a lot of their running time iterating through one or more compute intensive loops. Many existing loop parallelization algorithms analyze loops at compile time to determine dependencies among loop iterations. However, for some loops, the dependencies cannot be analyzed except dynamically such as the case when array accesses are indexed data that are determined at runtime. This thesis presents a new dynamic algorithm for parallelizing loops by extracting the maximal sets of independent iteration statements and executing them concurrently. Our proposed method starts by conducting dependence analysis and sequence numbering. All statement iterations are first assigned sequence numbers signifying the order of their execution. The statement iterations having the same sequence number are then run concurrently. The algorithm was implemented using vb.net, and the experiments were conducted on the “Perfect Club Benchmark” created by the Center for Supercomputing Research and Development (CSRD) at the University of Illinois Urbana Champaign (UIUC) for evaluating high performance computing. In comparing to the conventional methods for loop parallelization, the proposed algorithm achieved a 980percent (9.8X) speedup and a 10percent reduction in memory usage. |
dc.format.extent |
xii, 54 leaves : illustrations ; 30 cm |
dc.language.iso |
eng |
dc.relation.ispartof |
Theses, Dissertations, and Projects |
dc.subject.classification |
ET:005920 AUBNO |
dc.subject.lcsh |
Computer programming. |
dc.subject.lcsh |
Parallel programming (Computer science) |
dc.subject.lcsh |
Parallel processing (Electronic computers) |
dc.subject.lcsh |
Multiprocessors. |
dc.subject.lcsh |
Systems software. |
dc.subject.lcsh |
Software engineering. |
dc.subject.lcsh |
Computer algorithms. |
dc.title |
Automatic loop parallelization - |
dc.type |
Thesis |
dc.contributor.department |
American University of Beirut. Faculty of Engineering and Architecture. Department of Electrical and Computer Engineeering. |