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 bbeb908 was
dcfc4b3,
checked in by Thierry Delisle <tdelisle@…>, 7 years ago
|
Added internals section and updated v0.10 up to chapter 4
|
-
Property mode set to
100644
|
File size:
1.3 KB
|
Rev | Line | |
---|
[27dde72] | 1 | % ====================================================================== |
---|
[db0fa7c] | 2 | \chapter{Introduction} |
---|
[27dde72] | 3 | % ====================================================================== |
---|
| 4 | |
---|
[dcfc4b3] | 5 | This thesis provides a minimal concurrency \acrshort{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 concurrency. Indeed, for highly productive concurrent programming, high-level approaches are much more popular~\cite{HPP:Study}. Examples are task based, message passing and implicit threading. The high-level approach and its minimal \acrshort{api} are tested in a dialect of C, call \CFA. [Is there value to say that this thesis is also an early definition of the \CFA language and library in regards to concurrency?] |
---|
[db0fa7c] | 6 | |
---|
[dcfc4b3] | 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 programmer. While these two concepts are often combined, they are in fact distinct, requiring 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.