XMem: Type-Safe, Transparent, Shared Memory for Cross-Runtime Communication and Coordination

被引:4
|
作者
Wegiel, Michal [1 ]
Krintz, Chandra [1 ]
机构
[1] Univ Calif Santa Barbara, Dept Comp Sci, Santa Barbara, CA 93106 USA
关键词
Interprocess Communication; Managed Runtimes; Shared Memory; Transparent; Type-Safe; Garbage Collection; Synchronization; Class Loading; Parallel;
D O I
10.1145/1375581.1375621
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Developers commonly build contemporary enterprise applications using type-safe, component-based platforms, such as J2EE, and architect them to comprise multiple tiers, such as a web container, application server, and database engine. Administrators increasingly execute each tier in its own managed runtime environment (MRE) to improve reliability and to manage system complexity through the fault containment and modularity offered by isolated MIZE instances. Such isolation, however, necessitates expensive cross-tier communication based on protocols such as object serialization and remote procedure calls. Administrators commonly co-locate communicating MREs on a single host to reduce communication overhead and to better exploit increasing numbers of available processing cores. However, state-of-the-art MREs offer no support for more efficient communication between co-located MREs, while fast inter-process communication mechanisms, such as shared memory, are widely available as a standard operating system service on most modem platforms. To address this growing need, we present the design and implementation of XMem - type-safe, transparent, shared memory support for co-located MREs. XMem guarantees type-safety through coordinated, parallel, multi-process class loading and garbage collection. To avoid introducing any level of indirection, XMem manipulates virtual memory mapping. In addition, object sharing in XMem is fully transparent: shared objects are identical to local objects in terms of field access, synchronization, garbage collection, and method invocation, with the only difference being that shared-to-private pointers are. disallowed. XMem facilitates easy integration and use by existing communication technologies and software systems, such as RMI, JNDI, JDBC, serialization/XML, and network sockets. We have implemented XMem in the open-source, production-quality HotSpot Java Virtual Machine. Our experimental evaluation, based on core communication technologies underlying J2EE, as well as using open-source server applications, indicates that XMem significantly improves throughput and response time by avoiding the overheads imposed by object serialization and network communication.
引用
收藏
页码:327 / 338
页数:12
相关论文
共 12 条
  • [1] XMem: Type-safe, transparent, shared memory for cross-runtime communication and coordination
    Wegiel, Michal
    Krintz, Chandra
    ACM SIGPLAN NOTICES, 2008, 43 (06) : 327 - 338
  • [2] Type-safe runtime class upgrades in Creol
    Yu, Ingrid Chieh
    Johnsen, Einar Broch
    Owe, Olaf
    FORMAL METHODS FOR OPEN OBJECT-BASED DISTRIBUTED SYSTEMS, 2006, 4037 : 202 - 217
  • [3] Type-safe Runtime Code Generation: Accelerate to LLVM
    McDonell, Trevor L.
    Chakravarty, Manuel M. T.
    Grover, Vinod
    Newton, Ryan R.
    ACM SIGPLAN NOTICES, 2015, 50 (12) : 201 - 212
  • [4] Short Communication - Type-safe casting
    Hsieh, WC
    Fiuczynski, ME
    Pardyak, P
    Bershad, BN
    SOFTWARE-PRACTICE & EXPERIENCE, 1998, 28 (11): : 1245 - 1252
  • [5] Runtime support for type-safe dynamic Java']Java classes
    Malabarba, S
    Pandey, R
    Gragg, J
    Barr, E
    Barnes, JF
    ECOOP 2000 - OBJECT-ORIENTED PROGRAMMING, 2000, 1850 : 337 - 361
  • [6] Type-safe linking with recursive DLLs and shared libraries
    Duggan, D
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2002, 24 (06): : 711 - 804
  • [7] Runtime support for type-safe and context-based behavior adaptation
    Zhu, Changpeng
    Zhao, Yinliang
    Han, Bo
    Zeng, Qinghua
    Ma, Ying
    FRONTIERS OF COMPUTER SCIENCE, 2014, 8 (01) : 17 - 32
  • [8] Runtime support for type-safe and context-based behavior adaptation
    Changpeng Zhu
    Yinliang Zhao
    Bo Han
    Qinghua Zeng
    Ying Ma
    Frontiers of Computer Science, 2014, 8 : 17 - 32
  • [9] Runtime support for type-safe and context-based behavior adaptation
    Changpeng ZHU
    Yinliang ZHAO
    Bo HAN
    Qinghua ZENG
    Ying MA
    Frontiers of Computer Science, 2014, 8 (01) : 17 - 32
  • [10] Cross-Language, Type-Safe, and Transparent Object Sharing For Co-Located Managed Runtimes
    Wegiel, Michal
    Krintz, Chandra
    ACM SIGPLAN NOTICES, 2010, 45 (10) : 223 - 240