Parallelization of While Loops in Nested Loop Programs for Shared-Memory Multiprocessor Systems

S.J. Geuns, Marco Jan Gerrit Bekooij, T. Bijlsma, Henk Corporaal

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    17 Citations (Scopus)


    Many applications contain loops with an undetermined number of iterations. These loops have to be parallelized in order to increase the throughput when executed on an embedded multiprocessor platform. This paper presents a method to automatically extract a parallel task graph based on function level parallelism from a sequential nested loop program with while loops. In the parallelized task graph loop iterations can overlap during execution. We introduce the notion of a single assignment section such that we can exploit single assignment to overlap iterations of the while loop during the execution of the parallel task graph. Synchronization is inserted in the parallelized task graph to ensure the same functional behavior as the sequential nested loop program. It is shown that the generated parallel task graph does not introduce deadlock. A DVB-T radio receiver where the user can switch channels after an undetermined amount of time illustrates the approach.
    Original languageUndefined
    Title of host publicationDesign, Automation & Test in Europe Conference & Exhibition, DATE 2011
    Place of PublicationUSA
    Number of pages6
    ISBN (Print)978-1-61284-208-0
    Publication statusPublished - 16 Mar 2011
    Event2011 Design, Automation & Test in Europe Conference & Exhibition, DATE 2011 - Grenoble, France
    Duration: 14 Mar 201118 Mar 2011

    Publication series

    PublisherIEEE Computer Society
    ISSN (Print)1530-1591


    Conference2011 Design, Automation & Test in Europe Conference & Exhibition, DATE 2011
    Abbreviated titleDATE


    • METIS-278761
    • EWI-20437
    • IR-78154

    Cite this