Ignore:
Timestamp:
May 29, 2017, 1:39:37 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
ff98952
Parents:
eb182b0
Message:

Major update to the concurrency proposal to be based on multiple files

Location:
doc/proposals/concurrency/text
Files:
3 added
1 edited

Legend:

Unmodified
Added
Removed
  • doc/proposals/concurrency/text/intro.tex

    reb182b0 r27dde72  
    1 % ### #     # ####### ######  #######
    2 %  #  ##    #    #    #     # #     #
    3 %  #  # #   #    #    #     # #     #
    4 %  #  #  #  #    #    ######  #     #
    5 %  #  #   # #    #    #   #   #     #
    6 %  #  #    ##    #    #    #  #     #
    7 % ### #     #    #    #     # #######
     1% ======================================================================
     2\chapter{Introduction}
     3% ======================================================================
    84
    9 \chapter{Introduction}
    10 This proposal provides a minimal core concurrency API that is both simple, efficient and can be reused to build higher-level features. The simplest possible concurrency core is a thread and a lock but this low-level approach is hard to master. An easier approach for users is to support higher-level constructs as the basis of the concurrency in \CFA. Indeed, for highly productive parallel programming, high-level approaches are much more popular~\cite{HPP:Study}. Examples are task based, message passing and implicit threading.
     5This proposal provides a minimal concurrency API that is simple, efficient and can be reused to build higher-level features. The simplest possible concurrency core is a thread and a lock but this low-level approach is hard to master. An easier approach for users is to support higher-level constructs as the basis of the concurrency in \CFA. Indeed, for highly productive parallel programming, high-level approaches are much more popular~\cite{HPP:Study}. Examples are task based, message passing and implicit threading.
    116
    12 There are actually two problems that need to be solved in the design of the concurrency for a programming language: which concurrency tools are available to the users and which parallelism tools are available. While these two concepts are often seen together, they are in fact distinct concepts that require different sorts of tools~\cite{Buhr05a}. Concurrency tools need to handle mutual exclusion and synchronization, while parallelism tools are more about performance, cost and resource utilization.
     7There are actually two problems that need to be solved in the design of concurrency for a programming language: which concurrency tools are available to the users and which parallelism tools are available. While these two concepts are often seen together, they are in fact distinct concepts that require different sorts of tools~\cite{Buhr05a}. Concurrency tools need to handle mutual exclusion and synchronization, while parallelism tools are about performance, cost and resource utilization.
Note: See TracChangeset for help on using the changeset viewer.