Where academic tradition
meets the exciting future

An Extended PRAM-NUMA Model of Computation for TCF Programming

Martti Forsell, Ville Leppänen, An Extended PRAM-NUMA Model of Computation for TCF Programming. International Journal of Networking and Computing 3(1), 98–115, 2013.


The main problems with current multicore architectures are that they are difficult to program
due to the asynchrony of the underlying model of computation and that the performance is weak
with many parallel workloads due to architectural limitations. To address these problems we
have introduced the Parallel Random Access Machine - Non Uniform Memory Access (PRAMNUMA)
model of computation that can be used to implement efficient shared memory computers
for general purpose parallel applications with enough parallelism and yet support sequential
and NUMA legacy code and avoid loss of performance in applications with low parallelism.
While programming of computers making use of the PRAM-NUMA model is provably easy,
there is still room for improvement since they make implementing time-shared multitasking
expensive, sometimes replicate much of the execution unnecessarily, and force the programmer
to use looping and conditional control primitives in the case the application parallelism does not
match the hardware parallelism. Thick Control Flow (TCF) is a parallel programming model
that does not provide a fixed number of threads like PRAM-NUMA but a number of control
flows that have certain thickness that can vary according to needs of the application catching
the best parts of the dynamicism and generality of the original unbounded PRAM model and
simplicity of the Single Instruction Stream Multiple Data Streams (SIMD) model. In this paper
we study the possibility to implement the TCF model on top of the PRAM-NUMA model
and propose an extended PRAM-NUMA model that makes this straightforward. A number of
variants of the extended model are identified and tied to existing execution models. Architectural
implementation techniques and programming of the extended model and its variants are outlined
and discussed with short examples.

BibTeX entry:

  title = {An Extended PRAM-NUMA Model of Computation for TCF Programming},
  author = {Forsell, Martti and Leppänen, Ville},
  journal = {International Journal of Networking and Computing},
  volume = {3},
  number = {1},
  pages = {98–115},
  year = {2013},
  keywords = {Parallel computing, Models of computation, Programming model, PRAM, NUMA, Thick control flow},

Belongs to TUCS Research Unit(s): Software Development Laboratory (SwDev)

Edit publication