Changeset 1694849 for doc/papers


Ignore:
Timestamp:
May 7, 2019, 10:45:33 AM (2 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
arm-eh, cleanup-dtors, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr
Children:
9e6d652
Parents:
63b05ba
Message:

cleanup abstract and introduction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/papers/concurrency/Paper.tex

    r63b05ba r1694849  
    245245\abstract[Summary]{
    246246\CFA is a polymorphic, non-object-oriented, concurrent, backwards-compatible extension of the C programming language.
    247 This paper discusses the design philosophy and implementation of its advanced control-flow and concurrency/parallelism features, along with the supporting runtime.
    248 These features are created from scratch as ISO C has only low-level and/or unimplemented concurrency, so C programmers continue to rely on library features, like C pthreads.
     247This paper discusses the design philosophy and implementation of its advanced control-flow and concurrent/parallel features, along with the supporting runtime.
     248These features are created from scratch as ISO C has only low-level and/or unimplemented concurrency, so C programmers continue to rely on library features like C pthreads.
    249249\CFA introduces modern language-level control-flow mechanisms, like coroutines, user-level threading, and monitors for mutual exclusion and synchronization.
    250 The design contributions provide significant programmer simplification and safety by eliminating spurious wakeup and barging in monitors.
    251 As well, multiple monitors can be safely acquired \emph{simultaneously} (deadlock free), which is fully integrated with the monitor synchronization mechanisms.
    252 These features also integrate with the \CFA polymorphic type-system and exception handling, while respecting the expectations and style of C programmers.
    253 Experimental results show comparable performance of the new features with similar (weaker) mechanisms in other concurrent programming-languages.
     250Library extension for executors, futures, and actors are built on these basic mechanisms.
     251The runtime provides significant programmer simplification and safety by eliminating spurious wakeup and reducing monitor barging.
     252The runtime also ensures multiple monitors can be safely acquired \emph{simultaneously} (deadlock free), and this feature is fully integrated with all monitor synchronization mechanisms.
     253All language features integrate with the \CFA polymorphic type-system and exception handling, while respecting the expectations and style of C programmers.
     254Experimental results show comparable performance of the new features with similar mechanisms in other concurrent programming-languages.
    254255}%
    255256
     
    265266\section{Introduction}
    266267
    267 This paper discusses the design philosophy and implementation of advanced language-level control-flow and concurrency/parallelism extensions in \CFA and its runtime.
     268This paper discusses the design philosophy and implementation of advanced language-level control-flow and concurrent/parallel features in \CFA~\cite{Moss18} and its runtime.
    268269\CFA is a modern, polymorphic, non-object-oriented\footnote{
    269270\CFA has features often associated with object-oriented programming languages, such as constructors, destructors, virtuals and simple inheritance.
    270271However, functions \emph{cannot} be nested in structures, so there is no lexical binding between a structure and set of functions (member/method) implemented by an implicit \lstinline@this@ (receiver) parameter.},
    271 backwards-compatible extension of the C programming language~\cite{Moss18}.
     272backwards-compatible extension of the C programming language.
    272273Within the \CFA framework, new control-flow features are created from scratch.
    273274ISO \Celeven defines only a subset of the \CFA extensions, where the overlapping features are concurrency~\cite[\S~7.26]{C11}.
     
    337338\item
    338339providing statically type-safe interfaces that integrate with the \CFA polymorphic type-system and other language features.
     340\item
     341library extensions for executors, futures, and actors built on the basic mechanisms.
    339342\item
    340343a runtime system with no spurious wakeup.
Note: See TracChangeset for help on using the changeset viewer.