Show simple item record

dc.contributor.authorGayatri, Rahulkumar
dc.contributor.authorBadia Sala, Rosa Maria
dc.contributor.authorAyguadé Parra, Eduard
dc.contributor.otherUniversitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
dc.identifier.citationGayatri, R.; Badia, R.M.; Ayguade, E. Loop level speculation in a task based programming model. A: International Conference on High Performance Computing. "20th IEEE International Conference on High Performance Computing HiPC". Bangalore: 2013, p. 39-48.
dc.description.abstractUncountable loops (such as while loops in C) and if-conditions are some of the most common constructs in programming. While-loops are widely used to determine the convergence in linear algebra algorithms or goal finding problems from graph algorithms, to name a few. In general while-loops are used whenever the loop iteration space, the number of iterations a loop executes is unknown. Usually in while-loops, the execution of the next iteration is decided inside the current loop iteration (i.e. the execution of iteration i depends on the values computed in iteration i-1). This precludes their parallel execution in today's ubiquitous multi-core architectures. In this paper a technique to speculatively create parallel tasks from the next iterations before the current one completes is proposed. If consecutive loop-iterations are only control dependent, then multiple iterations can be executed simultaneously; later in the execution path, the runtime system will decide to either commit the results of such speculatively executed iterations or undo the changes made by them. Data dependences within or between non-speculative and speculative work are honored to guarantee correctness. The proposed technique is implemented in SMPSs, a task-based dataflow programming model for shared-memory multiprocessor architectures. The approach is evaluated on a set of applications from graph algorithms and linear algebra. Results are promising with an average increase in the speedup of 1.2x with 16 threads when compared to non speculative execution of the applications. The increase in the speedup is significant, since the performance gain is achieved over an already parallelized version of the benchmarks.
dc.description.sponsorshipWe thankfully acknowledge the support of the European Commission through the TERAFLUX project (FP7-249013) and the HiPEAC-3 (contract FP7-ICT 287759) Network of Excellence (FP7/ICT 217068), the support of the Spanish Ministry of Education (TIN2007-60625, CSD2007-00050 and FI program), the Generalitat de Catalunya (2009- SGR-980) and the national project (TIN2012-34557).
dc.format.extent10 p.
dc.subjectÀrees temàtiques de la UPC::Informàtica::Programació
dc.subject.lcshParallel programming (Computer science)
dc.subject.otherIteration space
dc.subject.otherProgramming Models
dc.titleLoop level speculation in a task based programming model
dc.typeConference report
dc.subject.lemacProgramació en paral·lel (Informàtica)
dc.contributor.groupUniversitat Politècnica de Catalunya. CAP - Grup de Computació d'Altes Prestacions
dc.description.peerreviewedPeer Reviewed
dc.rights.accessOpen Access
dc.description.versionPostprint (author’s final draft)
upcommons.citation.authorGayatri, R.; Badia, R.M.; Ayguade, E.
upcommons.citation.contributorInternational Conference on High Performance Computing
upcommons.citation.publicationName20th IEEE International Conference on High Performance Computing HiPC

Files in this item


This item appears in the following Collection(s)

Show simple item record

All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder