We have designed and implemented a light-weight process (thread) library called `Lesser Bear’ for SMP computers. Lesser Bear has high portability and thread-level parallelism. Creating UNIX processes as virtual processors and a memory-mapped file as a huge shared-memory space enables Lesser Bear to execute threads in parallel. Lesser Bear requires exclusive operation between peer virtual processors, and treats a shared-memory space as a critical section for synchronization of threads. Therefore, thread functions of the previous Lesser Bear are serialized. In this paper, we present a scheduling mechanism to execute thread functions in parallel. In the design of the proposed mechanism, we divide the entire shared-memory space into partial spaces for virtual processors, and prepare two queues (Protect Queue and Waiver Queue) for each partial space. We adopt an algorithm in which lock operations are not necessary for enqueueing. This algorithm allows us to propose a scheduling mechanism that can reduce the scheduling overhead. The mechanism is applied to Lesser Bear and evaluated by experimental results.
Keywords for this software
References in zbMATH (referenced in 3 articles , 1 standard article )
Showing results 1 to 3 of 3.
- Oguma, Hisashi; Nakayama, Yasuichi: Lesser Bear: A lightweight process library for SMP computers - scheduling mechanism without a lock operation (2002)
- Kaieda, Akihiro; Nakayama, Yasuichi; Tanaka, Atsuhiro; Horikawa, Takashi; Kurasugi, Toshiyasu; Kino, Issei: Analysis and measurement of the effect of kernel locks in SMP systems (2001)
- Oguma, Hisashi; Nakayama, Yasuichi: Lesser Bear -- a light-weight process library for SMP computers (2001)