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 ea0c5e3 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
|
Line | |
---|
1 | % ====================================================================== |
---|
2 | \chapter{Introduction} |
---|
3 | % ====================================================================== |
---|
4 | |
---|
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 |
---|
6 | |
---|
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.