𝔖 Bobbio Scriptorium
✦   LIBER   ✦

A new memory allocation method for shared memory multiprocessors with large virtual address space

✍ Scribed by Koide, Hiroshi; Suzuki, Mitsugu; Nakayama, Yasuichi


Publisher
John Wiley and Sons
Year
1997
Tongue
English
Weight
144 KB
Volume
9
Category
Article
ISSN
1040-3108

No coin nor oath required. For personal study only.

✦ Synopsis


This paper proposes a new memory allocation method for shared memory multiprocessors with large virtual address spaces. An evaluation of its performance is also presented.

For effective use of shared memory multiprocessors, it is important that no processor's execution is blocked. If several processors simultaneously access a shared variable, their processes are blocked and access to the variable is serialized. Thus, frequent access to shared variables reduces the parallelism. In particular, the parallelism is significantly reduced when a special shared variable -the 'allocation pointer' -is frequently accessed in the dynamic object allocation by an application program. In this paper, we propose a new method for allocating physical memory pages where the allocation pointer is monotonically increased in the virtual address space in contrast to the conventional method. This allows the critical sections for access to the allocation pointer to be executed effectively and atomically by using the fetch-and-add primitive. Our method improves the application program's parallelism by access to the allocation pointer with considerably short blocking time to the process. ©1997 by John Wiley & Sons, Ltd.

  1. Application programs can be split into many appropriate sub-tasks. We must consider how these sub-tasks are distributed to all processors. 2. We must also consider how to reduce suspension of processors for interprocessor communication.

As the effective parallel execution system, e.g. [1], has already been presented as a solution to problem 1 above, this paper only addresses the problem outlined in problem 2.

The MIMD model parallel computers can be classified in two types, namely shared memory multiprocessors and distributed memory multiprocessors. The major distinction between the two types is that interprocessor communication is done by using shared memory or by using a communication path for message passing. The acceptance of both types of parallel computers on the application user level has been significant.