You are here: TUCS > PUBLICATIONS > Publication Search > Thick Control Flows: Introduct...
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
thread-wise variable is an array-like value having a thread-wise
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)