Towards a language framework for thick control flows

Juha-Matti Mäkelä, Martti Forsell, Ville Leppänen

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

    2 Citations (Scopus)

    Abstract

    In the recent years the search for scalability in terms of computing power has led to very complex parallel computer architectures which require greater control of the storage and computation resources to utilize all the available hardware capacity for optimal performance. New solutions in the level of programming languages/models have increased the reliance and need for threads. A system with a huge number of threads can face problems with thread micro-management, smooth scaling between data and task parallelism, portability, and consistency. We present TCF++, a new concurrent C/C++ language extension generalizing on the idea of threads with so called thick control flows. Opposed to threading, thick control flows provide a way to orchestrate computation using lower number of independent actors, dynamically adapting to problem size. The language extension approach is chosen to support mixing with legacy code. We qualitatively analyze the new language's eligibility and explain its idiomatic use with a selection of core parallel algorithm kernels.
    Original languageEnglish
    Title of host publicationProceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017
    PublisherInstitute of Electrical and Electronic Engineers IEEE
    Pages814-823
    Number of pages10
    ISBN (Electronic)9781538634080
    ISBN (Print)978-1-5386-3409-7, 978-1-5386-3408-0
    DOIs
    Publication statusPublished - 30 Jun 2017
    MoE publication typeA4 Article in a conference publication
    Event31st IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017 - Orlando, United States
    Duration: 29 May 20172 Jun 2017

    Workshop

    Workshop31st IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017
    Abbreviated titleIPDPSW 2017
    CountryUnited States
    CityOrlando
    Period29/05/172/06/17

    Fingerprint

    Flow control
    Computer architecture
    Parallel algorithms
    Computer programming languages
    Scalability
    Hardware

    Keywords

    • control structures
    • parallel architecture
    • parallel programming
    • programming examples
    • programming language
    • thread

    Cite this

    Mäkelä, J-M., Forsell, M., & Leppänen, V. (2017). Towards a language framework for thick control flows. In Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017 (pp. 814-823). [7965125] Institute of Electrical and Electronic Engineers IEEE. https://doi.org/10.1109/IPDPSW.2017.119
    Mäkelä, Juha-Matti ; Forsell, Martti ; Leppänen, Ville. / Towards a language framework for thick control flows. Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017. Institute of Electrical and Electronic Engineers IEEE, 2017. pp. 814-823
    @inproceedings{ef8d847a271842e68e6208fc03fad2a3,
    title = "Towards a language framework for thick control flows",
    abstract = "In the recent years the search for scalability in terms of computing power has led to very complex parallel computer architectures which require greater control of the storage and computation resources to utilize all the available hardware capacity for optimal performance. New solutions in the level of programming languages/models have increased the reliance and need for threads. A system with a huge number of threads can face problems with thread micro-management, smooth scaling between data and task parallelism, portability, and consistency. We present TCF++, a new concurrent C/C++ language extension generalizing on the idea of threads with so called thick control flows. Opposed to threading, thick control flows provide a way to orchestrate computation using lower number of independent actors, dynamically adapting to problem size. The language extension approach is chosen to support mixing with legacy code. We qualitatively analyze the new language's eligibility and explain its idiomatic use with a selection of core parallel algorithm kernels.",
    keywords = "control structures, parallel architecture, parallel programming, programming examples, programming language, thread",
    author = "Juha-Matti M{\"a}kel{\"a} and Martti Forsell and Ville Lepp{\"a}nen",
    year = "2017",
    month = "6",
    day = "30",
    doi = "10.1109/IPDPSW.2017.119",
    language = "English",
    isbn = "978-1-5386-3409-7",
    pages = "814--823",
    booktitle = "Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017",
    publisher = "Institute of Electrical and Electronic Engineers IEEE",
    address = "United States",

    }

    Mäkelä, J-M, Forsell, M & Leppänen, V 2017, Towards a language framework for thick control flows. in Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017., 7965125, Institute of Electrical and Electronic Engineers IEEE, pp. 814-823, 31st IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017, Orlando, United States, 29/05/17. https://doi.org/10.1109/IPDPSW.2017.119

    Towards a language framework for thick control flows. / Mäkelä, Juha-Matti; Forsell, Martti; Leppänen, Ville.

    Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017. Institute of Electrical and Electronic Engineers IEEE, 2017. p. 814-823 7965125.

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

    TY - GEN

    T1 - Towards a language framework for thick control flows

    AU - Mäkelä, Juha-Matti

    AU - Forsell, Martti

    AU - Leppänen, Ville

    PY - 2017/6/30

    Y1 - 2017/6/30

    N2 - In the recent years the search for scalability in terms of computing power has led to very complex parallel computer architectures which require greater control of the storage and computation resources to utilize all the available hardware capacity for optimal performance. New solutions in the level of programming languages/models have increased the reliance and need for threads. A system with a huge number of threads can face problems with thread micro-management, smooth scaling between data and task parallelism, portability, and consistency. We present TCF++, a new concurrent C/C++ language extension generalizing on the idea of threads with so called thick control flows. Opposed to threading, thick control flows provide a way to orchestrate computation using lower number of independent actors, dynamically adapting to problem size. The language extension approach is chosen to support mixing with legacy code. We qualitatively analyze the new language's eligibility and explain its idiomatic use with a selection of core parallel algorithm kernels.

    AB - In the recent years the search for scalability in terms of computing power has led to very complex parallel computer architectures which require greater control of the storage and computation resources to utilize all the available hardware capacity for optimal performance. New solutions in the level of programming languages/models have increased the reliance and need for threads. A system with a huge number of threads can face problems with thread micro-management, smooth scaling between data and task parallelism, portability, and consistency. We present TCF++, a new concurrent C/C++ language extension generalizing on the idea of threads with so called thick control flows. Opposed to threading, thick control flows provide a way to orchestrate computation using lower number of independent actors, dynamically adapting to problem size. The language extension approach is chosen to support mixing with legacy code. We qualitatively analyze the new language's eligibility and explain its idiomatic use with a selection of core parallel algorithm kernels.

    KW - control structures

    KW - parallel architecture

    KW - parallel programming

    KW - programming examples

    KW - programming language

    KW - thread

    UR - http://www.scopus.com/inward/record.url?scp=85028027768&partnerID=8YFLogxK

    U2 - 10.1109/IPDPSW.2017.119

    DO - 10.1109/IPDPSW.2017.119

    M3 - Conference article in proceedings

    SN - 978-1-5386-3409-7

    SN - 978-1-5386-3408-0

    SP - 814

    EP - 823

    BT - Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017

    PB - Institute of Electrical and Electronic Engineers IEEE

    ER -

    Mäkelä J-M, Forsell M, Leppänen V. Towards a language framework for thick control flows. In Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017. Institute of Electrical and Electronic Engineers IEEE. 2017. p. 814-823. 7965125 https://doi.org/10.1109/IPDPSW.2017.119