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

Hiroshi Koide, Mitsugu Suzuki, Yasuichi Nakayama

研究成果: ジャーナルへの寄稿記事

抄録

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.

元の言語英語
ページ(範囲)897-914
ページ数18
ジャーナルConcurrency Practice and Experience
9
発行部数9
DOI
出版物ステータス出版済み - 9 1997

Fingerprint

Virtual addresses
Storage allocation (computer)
Shared-memory multiprocessors
Application programs
Data storage equipment
Parallelism
Evaluation

All Science Journal Classification (ASJC) codes

  • Engineering(all)

これを引用

A new memory allocation method for shared memory multiprocessors with large virtual address space. / Koide, Hiroshi; Suzuki, Mitsugu; Nakayama, Yasuichi.

:: Concurrency Practice and Experience, 巻 9, 番号 9, 09.1997, p. 897-914.

研究成果: ジャーナルへの寄稿記事

@article{8fc8a365cb5a4e7a8064790b0373e58b,
title = "A new memory allocation method for shared memory multiprocessors with large virtual address space",
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.",
author = "Hiroshi Koide and Mitsugu Suzuki and Yasuichi Nakayama",
year = "1997",
month = "9",
doi = "10.1002/(SICI)1096-9128(199709)9:9<897::AID-CPE282>3.0.CO;2-9",
language = "English",
volume = "9",
pages = "897--914",
journal = "Concurrency Computation Practice and Experience",
issn = "1532-0626",
publisher = "John Wiley and Sons Ltd",
number = "9",

}

TY - JOUR

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

AU - Koide, Hiroshi

AU - Suzuki, Mitsugu

AU - Nakayama, Yasuichi

PY - 1997/9

Y1 - 1997/9

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=0031220682&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0031220682&partnerID=8YFLogxK

U2 - 10.1002/(SICI)1096-9128(199709)9:9<897::AID-CPE282>3.0.CO;2-9

DO - 10.1002/(SICI)1096-9128(199709)9:9<897::AID-CPE282>3.0.CO;2-9

M3 - Article

AN - SCOPUS:0031220682

VL - 9

SP - 897

EP - 914

JO - Concurrency Computation Practice and Experience

JF - Concurrency Computation Practice and Experience

SN - 1532-0626

IS - 9

ER -