We use cookies to improve your experience with our site.

用分布式共享内存系统横向扩展非对称内存感知的应用

Scaling out NUMA-Aware Applications with RDMA-Based Distributed Shared Memory

  • 摘要: 多核技术的革新推动了用共享内存多处理器纵向扩展应用的研究,并显著地提升了许多应用的性能和可扩展性。但是由于多核处理器局限在单台机器,程序员仍然需要重新设计应用以运行在更多的机器上。本文重新审视了分布式共享内存的设计和实现,并设计并实现了一个名为MAGI的分布式共享内存系统,用来横向扩展应用程序以运行在高性能集群上。MAGI提供了一个非统一内存访问架构的抽象,利用层次化的同步机制和内存管理机制来充分利用多核资源。MAGI也充分利用了大数据应用的内存访问特征,结合远程直接内存访问的硬件特性,减少和降低了缺页和对应的性能开销。我们将MAGI实现为一个用户态的库,提供兼容的线程接口,最小化应用程序的移植修改。我们将该系统部署在8态机器组成的集群上,并进行测试。解释结果表明,该系统的优化方案最多能获得9.25倍的性能提升,并且使应用程序获得良好的可扩展性。

     

    Abstract: The multicore evolution has stimulated renewed interests in scaling up applications on shared-memory multiprocessors, significantly improving the scalability of many applications. But the scalability is limited within a single node; therefore programmers still have to redesign applications to scale out over multiple nodes. This paper revisits the design and implementation of distributed shared memory (DSM) as a way to scale out applications optimized for non-uniform memory access (NUMA) architecture over a well-connected cluster. This paper presents MAGI, an efficient DSM system that provides a transparent shared address space with scalable performance on a cluster with fast network interfaces. MAGI is unique in that it presents a NUMA abstraction to fully harness the multicore resources in each node through hierarchical synchronization and memory management. MAGI also exploits the memory access patterns of big-data applications and leverages a set of optimizations for remote direct memory access (RDMA) to reduce the number of page faults and the cost of the coherence protocol. MAGI has been implemented as a user-space library with pthread-compatible interfaces and can run existing multithreaded applications with minimized modifications. We deployed MAGI over an 8-node RDMAenabled cluster. Experimental evaluation shows that MAGI achieves up to 9.25x speedup compared with an unoptimized implementation, leading to a scalable performance for large-scale data-intensive applications.

     

/

返回文章
返回