ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change
on this file since c5e3208 was
7c17511,
checked in by Thierry Delisle <tdelisle@…>, 7 years ago
|
More work on the basics section
|
-
Property mode set to
100644
|
File size:
1.2 KB
|
Rev | Line | |
---|
[27dde72] | 1 | % ====================================================================== |
---|
[db0fa7c] | 2 | \chapter{Introduction} |
---|
[27dde72] | 3 | % ====================================================================== |
---|
| 4 | |
---|
[7c17511] | 5 | This proposal provides a minimal concurrency API that is simple, efficient and can be reused to build higher-level features. The simplest possible concurrency system 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. Therefore a high-level approach is adapted in \CFA |
---|
[db0fa7c] | 6 | |
---|
[7c17511] | 7 | There are actually two problems that need to be solved in the design of concurrency for a programming language: which concurrency and which parallelism tools are available to the users. While these two concepts are often combined, they are in fact distinct concepts that require different tools~\cite{Buhr05a}. Concurrency tools need to handle mutual exclusion and synchronization, while parallelism tools are about performance, cost and resource utilization. |
---|
Note: See
TracBrowser
for help on using the repository browser.