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

Hiroshi Koide, Mitsugu Suzuki, Yasuichi Nakayama

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)897-914
Number of pages18
JournalConcurrency Practice and Experience
Volume9
Issue number9
DOIs
Publication statusPublished - Sep 1997
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Fingerprint Dive into the research topics of 'A new memory allocation method for shared memory multiprocessors with large virtual address space'. Together they form a unique fingerprint.

Cite this