Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBrown, Christopher Mark
dc.contributor.authorBarwell, Adam David
dc.contributor.authorJanjic, Vladimir
dc.date.accessioned2020-07-10T14:30:01Z
dc.date.available2020-07-10T14:30:01Z
dc.date.issued2020-07-01
dc.identifier.citationBrown , C M , Barwell , A D & Janjic , V 2020 , ' Restoration of legacy parallelism in C and C++ applications ' , Paper presented at 13th International Symposium on High-Level Parallel Programming and Applications (HLPP 2020) Porto, Portugal July 9-10, 2020 , 9/07/20 - 10/07/20 .en
dc.identifier.citationconferenceen
dc.identifier.otherPURE: 269101193
dc.identifier.otherPURE UUID: 3e5934c6-efa3-4bc6-a0fd-a0d12c3da683
dc.identifier.urihttp://hdl.handle.net/10023/20232
dc.description.abstractParallel patterns are a high-level programming paradigm that enables non-experts in parallelism to develop structured parallel programs that are maintainable, adaptive, and portable whilst achieving good performance on a variety of parallel systems. However, there still exists a large base of legacy-parallel code developed using ad-hoc methods and incorporating low-level parallel/concurrency libraries such as pthreads without any parallel patterns in the fundamental design. This code would benefit from being restructured and rewritten into pattern-based code. However, the process of rewriting the code is laborious and error-prone, due to typical concurrency and pthreading code being closely intertwined throughout the business logic of the program. In this paper, we present a new software restoration methodology, to transform legacy-parallel programs implemented using e.g. pthreads into structured patterned equivalents. We demonstrate our restoration technique on a number of benchmarks, allowing the introduction of patterned parallelism in the resulting code; we record improvements in cyclomatic complexity and speedups.
dc.language.isoeng
dc.rightsCopyright © 2020 the Author(s). This work has been made available online in accordance with publisher policies or with permission. Permission for further reuse of this content should be sought from the publisher or the rights holder. This is the author created accepted manuscript following peer review and may differ slightly from the final published version.en
dc.subjectParallel patternsen
dc.subjectRestorationen
dc.subjectpthreadsen
dc.subjectProgram transformationen
dc.subjectCode analysisen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subject.lccQA75en
dc.titleRestoration of legacy parallelism in C and C++ applicationsen
dc.typeConference paperen
dc.contributor.sponsorEuropean Commissionen
dc.description.versionPostprinten
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.description.statusPeer revieweden
dc.identifier.grantnumber779882en


This item appears in the following Collection(s)

Show simple item record