An Aspect Pointcut for Parallelizable Loops

Guardado en:
Bibliografiske detaljer
Udgivet i:ProQuest Dissertations and Theses (2013)
Hovedforfatter: Dean, John S.
Udgivet:
ProQuest Dissertations & Theses
Fag:
Online adgang:Citation/Abstract
Full Text - PDF
Tags: Tilføj Tag
Ingen Tags, Vær først til at tagge denne postø!

MARC

LEADER 00000nab a2200000uu 4500
001 1434898980
003 UK-CbPIL
020 |a 978-1-303-32404-8 
035 |a 1434898980 
045 0 |b d20130101 
084 |a 66569  |2 nlm 
100 1 |a Dean, John S. 
245 1 |a An Aspect Pointcut for Parallelizable Loops 
260 |b ProQuest Dissertations & Theses  |c 2013 
513 |a Dissertation/Thesis 
520 3 |a This study investigated the need for a pointcut for parallelizable loops in an aspect-oriented programming environment. Several prototype solutions exist for loop pointcuts, but the solutions are not very granular. In particular, they are not able to differentiate between loops that are parallelizable and those that are not. Being able to identify parallelizable loops automatically, as part of an aspect-oriented compiler's weaving process, is particularly important because (1) manually identifying parallelizable loops is known to be a difficult problem and (2) aspectizing parallelized loops can lead to a reduction in code tangling and an increase in separation of concerns. This paper describes the concepts behind the loop-pointcut problem. It then describes the approach used in this study for implementing a solution in the form of an aspect-oriented Java compiler with a parallelizable loop pointcut. Identifying parallelizable loops is known to be a difficult problem, and as such, this study's parallelizable loop pointcut implements a heuristic solution. The pointcut identifies many parallelizable loops as being parallelizable, but in erring on the side of conservatism, there are some parallelizable loops that the pointcut is unable to identify as parallelizable. To test the parallelizable-loop pointcut, the pointcut was applied to a benchmark set of parallelizable programs. There were two versions of each benchmark program—(1) an aspect-oriented version, where the aspect-oriented compiler's weaver added the multi-threading functionality, and (2) a non-aspect-oriented version, where the benchmark program's source code directly implemented the multi-threading functionality. For each benchmark program, the output from the aspect-oriented version was compared to the output from the non-aspect-oriented version. The study found that each loop that was deemed parallelizable by the aspect-oriented benchmark program was executed in parallel (with multiple threads) by both versions of the program—the aspect-oriented version and the non-aspect-oriented version. There were some loops in the non-aspect-oriented benchmark programs that were deemed parallelizable and executed in parallel, but those same loops were deemed non-parallelizable by their associated aspect-oriented benchmark program. This discrepancy is explained by the study's conservative approach to identifying loops as parallelizable. 
653 |a Computer science 
773 0 |t ProQuest Dissertations and Theses  |g (2013) 
786 0 |d ProQuest  |t ProQuest Dissertations & Theses Global 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/1434898980/abstract/embedded/L8HZQI7Z43R0LA5T?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/1434898980/fulltextPDF/embedded/L8HZQI7Z43R0LA5T?source=fedsrch