USER-LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS

被引:25
|
作者
BERSHAD, BN [1 ]
ANDERSON, TE [1 ]
LAZOWSKA, ED [1 ]
LEVY, HM [1 ]
机构
[1] UNIV WASHINGTON,DEPT COMP SCI & ENGN,SEATTLE,WA 98195
来源
关键词
THREAD; MULTIPROCESSOR; OPERATING SYSTEM; PARALLEL PROGRAMMING; PERFORMANCE; COMMUNICATION;
D O I
10.1145/103720.114701
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Interprocess communication (IPC), in particular IPC oriented towards local communication (between address spaces on the same machine), has become central to the design of contemporary operating systems. IPC has traditionally been the responsibility of the kernel, but kernel-based IPC has two inherent problems. First, its performance is architecturally limited by the cost of invoking the kernel and reallocating a processor from one address space to another. Second, applications that need inexpensive threads and must provide their own thread management encounter functional and performance problems stemming from the interaction between kernel-level communication and user-level thread management. On a shared memory multiprocessor, these problems can be solved by moving the communication facilities out of the kernel and supporting them at the user level within each address space. Communication performance is improved since kernel invocation and processor reallocation can be avoided when communicating between address spaces on the same machine. These observations motivated User-Level Remote Procedure Call (URPC). URPC combines a fast cross-address space communication protocol using shared memory with lightweight threads managed at the user level. This structure allows the kernel to be bypassed during cross-address space communication. The programmer sees threads and RPC through a conventional interface, though with unconventional performance.
引用
收藏
页码:175 / 198
页数:24
相关论文
共 50 条
  • [1] Scheduling user-level threads on distributed shared-memory multiprocessors
    Polychronopoulos, ED
    Papatheodorou, TS
    EURO-PAR'99: PARALLEL PROCESSING, 1999, 1685 : 358 - 368
  • [2] Fast communication mechanisms - Coupling hardware distributed shared memory and user-level messaging
    Hellwagner, H
    Karl, W
    Leberecht, M
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-III, PROCEEDINGS, 1997, : 1294 - 1301
  • [3] A User-level Library for Fault Tolerance on Shared Memory Multicore Systems
    Mushtaq, Hamid
    Al-Ars, Zaid
    Bertels, Koen
    2012 IEEE 15TH INTERNATIONAL SYMPOSIUM ON DESIGN AND DIAGNOSTICS OF ELECTRONIC CIRCUITS & SYSTEMS (DDECS), 2012, : 266 - 269
  • [4] The evaluation of user-level software based distributed shared memory systems
    Midorikawa, H
    1997 IEEE PACIFIC RIM CONFERENCE ON COMMUNICATIONS, COMPUTERS AND SIGNAL PROCESSING, VOLS 1 AND 2: PACRIM 10 YEARS - 1987-1997, 1997, : 920 - 923
  • [5] User-level dynamic page migration for multiprogrammed shared-memory multipropcessors
    Nikolopoulos, DS
    Papatheodorou, TS
    Polychronopoulos, CD
    Labarta, J
    Ayguadé, E
    2000 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, PROCEEDINGS, 2000, : 95 - 103
  • [6] μprofiler:: Profiling user-level threads in a shared-memory programming environment
    Buhr, PA
    Denda, R
    COMPUTING IN OBJECT-ORIENTED PARALLEL ENVIRONMENTS, 1998, 1505 : 159 - 166
  • [7] User-level management of kernel memory
    Haeberlen, A
    Elphinstone, K
    ADVANCES IN COMPUTER SYSTEMS ARCHITECTURE, 2003, 2823 : 277 - 289
  • [8] Data Communication in Multiprocessors: Shared and Fragmented Memory
    Jordan, Harry F.
    IT - Information Technology, 1988, 30 (02): : 129 - 138
  • [9] The design of user-level distributed shared memory system in SCI-based clusters
    Ding, KS
    Tsay, JJ
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 587 - 593