The Mercury User's Manual

Abstract

It is common for parallel applications to require a large number of threads of control, often much larger than the number of processors provided by the underlying hardware. Using heavyweight (Unix style) processes to implement those threads of control is prohibitively expensive. Mercury is an environment for writing object-oriented parallel programs in C++ that provides the user with simple primitives for inexpensive thread creation and blocking and spinning synchronization. If required, Mercury primitives allow the user to control scheduling decisions in order to achieve good locality of reference in non uniform memory access (NUMA) multiprocessors. This paper describes the basic Mercury primitives and provides examples of their use

    Similar works

    Full text

    thumbnail-image

    Available Versions