## Thick Control Flows: Introduction and Prospects

Ville Leppänen, Martti Forsell, Jari-matti Mäkelä, Thick Control Flows: Introduction and Prospects. In: Hamid Arabnia (Ed.), Proceedings of 2011 Conference on Parallel and Distributed Processing Techniques and Appliations, PDPTA'11, II, 541-546, CSREA Press, 2011.

### Abstract:

Besides correctness of programing, the technical software problem of
many contemporary approaches to multithreaded computations is how to
organize the co-operation of a huge number of parallel threads. For
the software problems, we propose parallel {\em thick control flows}
as the solution.

When a thick control flow (in terms of the number of threads) is
executing a statement or an expression of a program, all the threads
are considered to execute the same program element synchronously in
parallel. Considering method calls, when a control flow with
thickness $t$ calls a method, the method is {\bf not} called
separately by each of the $t$ threads, but the control flow calls it
only once with $t$ threads. A call stack is not related to each
thread but to each of the parallel control flows, since threads do
not have program counters -- only control flows have program
counters. The concept of thread is only implicit. A thick
actual value. Method signatures naturally advance types with
thickness, but non-thick types are also useful.

The concept of thick control flow makes the programmer to focus on
co-operation of few parallel thick control flows instead of a huge
number of parallel threads. The concept computation's state is
promoted as a flow is seen to have a state (instead of each
thread). The concept of state has been in a central role in achieving
correctness in sequential programs. The concept of thick control
flows is related to data parallelism and stream computing. It is a
natural generalization of ordinary imperative sequential programming.

### BibTeX entry:

@INPROCEEDINGS{iLeFoM_11a,  title = {Thick Control Flows: Introduction and Prospects},  booktitle = {Proceedings of 2011 Conference on Parallel and Distributed Processing Techniques and Appliations, PDPTA'11},  author = {Leppänen, Ville and Forsell, Martti and Mäkelä, Jari-matti},  volume = {II},  editor = {Arabnia, Hamid},  publisher = {CSREA Press},  pages = {541-546},  year = {2011},  keywords = {Parallel programming, language constructions, multicore systems, implict threads},}

Belongs to TUCS Research Unit(s): Algorithmics and Computational Intelligence Group (ACI)

Edit publication