29 research outputs found

    Proceedings of the 7th International Conference on PGAS Programming Models

    Get PDF

    Safe and scalable parallel programming with session types

    Get PDF
    Parallel programming is a technique that can coordinate and utilise multiple hardware resources simultaneously, to improve the overall computation performance. However, reasoning about the communication interactions between the resources is difficult. Moreover, scaling an application often leads to increased number and complexity of interactions, hence we need a systematic way to ensure the correctness of the communication aspects of parallel programs. In this thesis, we take an interaction-centric view of parallel programming, and investigate applying and adapting the theory of Session Types, a formal typing discipline for structured interaction-based communication, to guarantee the lack of communication mismatches and deadlocks in concurrent systems. We focus on scalable, distributed parallel systems that use message-passing for communication. We explore programming language primitives, tools and frameworks to simplify parallel programming. First, we present the design and implementation of Session C, a program ming toolchain for message-passing parallel programming. Session C can ensure deadlock freedom, communication safety and global progress through static type checking, and supports optimisations by refinements through session subtyping. Then we introduce Pabble, a protocol description language for designing parametric interaction protocols. The language can capture scalable interaction patterns found in parallel applications, and guarantees communication-safety and deadlock-freedom despite the undecidability of the underlying parameterised session type theory. Next, we demonstrate an application of Pabble in a workflow that combines Pabble protocols and computation kernel code describing the sequential computation behaviours, to generate a Message-Passing Interface (MPI) parallel application. The framework guarantees, by construction, that generated code are free from communication errors and deadlocks. Finally, we formalise an extension of binary session types and new language primitives for safe and efficient implementations of multiparty parallel applications in a binary server-client programming environment. Our exploration with session-based parallel programming shows that it is a feasible and practical approach to guaranteeing communication aspects of complex, interaction-based scalable parallel programming.Open Acces

    Software for Exascale Computing - SPPEXA 2016-2019

    Get PDF
    This open access book summarizes the research done and results obtained in the second funding phase of the Priority Program 1648 "Software for Exascale Computing" (SPPEXA) of the German Research Foundation (DFG) presented at the SPPEXA Symposium in Dresden during October 21-23, 2019. In that respect, it both represents a continuation of Vol. 113 in Springer’s series Lecture Notes in Computational Science and Engineering, the corresponding report of SPPEXA’s first funding phase, and provides an overview of SPPEXA’s contributions towards exascale computing in today's sumpercomputer technology. The individual chapters address one or more of the research directions (1) computational algorithms, (2) system software, (3) application software, (4) data management and exploration, (5) programming, and (6) software tools. The book has an interdisciplinary appeal: scholars from computational sub-fields in computer science, mathematics, physics, or engineering will find it of particular interest

    Multi-Agent Systems

    Get PDF
    A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems which are difficult or impossible for an individual agent or monolithic system to solve. Agent systems are open and extensible systems that allow for the deployment of autonomous and proactive software components. Multi-agent systems have been brought up and used in several application domains

    General Undergraduate Catalog, 2015-2016

    Get PDF
    Marshall University Undergraduate Course Catalog for the 2015-2016 academic year.https://mds.marshall.edu/catalog_2010-2019/1004/thumbnail.jp

    General Undergraduate Catalog, 2016-2017

    Get PDF
    Marshall University Undergraduate Course Catalog for the 2016-2017 academic year.https://mds.marshall.edu/catalog_2010-2019/1003/thumbnail.jp

    General Undergraduate Catalog, 2014-2015

    Get PDF
    Marshall University Undergraduate Course Catalog for the 2014-2015 academic year.https://mds.marshall.edu/catalog_2010-2019/1005/thumbnail.jp

    General Undergraduate Catalog, 2019-2020

    Get PDF
    Marshall University Undergraduate Course Catalog for the 2019-2020 academic year.https://mds.marshall.edu/catalog_2010-2019/1000/thumbnail.jp

    General Undergraduate Catalog, 2018-2019

    Get PDF
    Marshall University Undergraduate Course Catalog for the 2018-2019 academic year.https://mds.marshall.edu/catalog_2010-2019/1001/thumbnail.jp

    Graduate Catalog, 2015-2016

    Get PDF
    Marshall University Graduate Course Catalog for the 2015-2016 academic year.https://mds.marshall.edu/catalog_2010-2019/1014/thumbnail.jp
    corecore