Browse > Article

Large-Memory Data Processing on a Remote Memory System using Commodity Hardware  

Jung, Hyung-Soo (서울대학교 컴퓨터공학부)
Han, Hyuck (서울대학교 컴퓨터공학부)
Yeom, Heon-Y. (서울대학교 컴퓨터공학부)
Abstract
This article presents a novel infrastructure for large-memory database processing using commodity hardware with operating system support. We exploit inexpensive PCs and a high-speed network capable of Remote Direct Memory Access (RDMA) operations to build a new memory hierarchy between fast volatile memory and slow disk storage. The new memory hierarchy guarantees a reasonable response time, and its storage size enables us to run large-memory database systems with little performance degradation. The proposed architecture has two main components: (1) a remote memory system inside the Linux kernel to manage other computers' memory pages efficiently and (2) a remote memory pager responsible for manipulating remote read/write operations on remote memory pages. We insist that the proposed architecture is practical enough to support the rigorous demands of commercial in-memory database systems by demonstrating the performance of publicly available main-memory databases (e.g., MySQL) on our prototyped system. The experimental results show very interesting results from the TPC-C benchmark.
Keywords
Large-memory data processing; Remote memory system; InfiniBand; RDMA;
Citations & Related Records
연도 인용수 순위
  • Reference
1 M. D. Dahlin, R. Y. Wang, T. E. Anderson, and D. A. Paterson, 'Cooperative caching: Using remote client memory to improve ¯le system performance,' In Proceedings of the USENIX Conference on Operating Systems Design and Implementation, November 1994
2 D. Black, A. Gupta, and W-D Weber, 'Competitive Management of Distributed Shared Memory,' In Sprint COMPCON 89 Digest of Papers, Feburary 1989
3 M. Gorman, 'Understanding the Linux Virtual Memory Manager,' Prentice Hall, 2004
4 M. Holliday, 'Reference History, Page Size, and Migration Daemons in Local/Remote Architectures,' In Proceedings of the International Symposium on Architectural Support for Programming Languages and Operating Systems, pages 104-112, April 1989
5 W. Bolosky, M. Scott, and R. Fitzgerald, 'Simple but Effective Techniques for NUMA Memory Management,' In Proceedings of ACM Symposium on Operating System Principle, December 1989
6 Michael J. Freeley, William E. Morgan, Frederic H. Pighin, Anna R. Karlin, Henry M. Levy, 'Implementing Global Memory Management in a Workstation Cluster,' In Proceedings of ACM Symposium on Operating Systems Principles, December 1995
7 M. J. Frankling, M. J. Carey, and M. Livny, 'Global memory management in client-server DBMS architectures,' In proceedings of the 18th VLDB Conference, August 1992
8 PostgreeSQL Development Group, BenchmarkSQL, http://pgfoundry.org/projects/benchmarksql
9 MySQL AB, 'MySQL,' http://www.mysql.com
10 W. Bolosky, M. Scott, and R. Fitzgerald, R. Fowler, and A. Cox, 'NUMA Policies and their Relationship to Memory Architecture,' In Proceedings of the International Symposium on Architectural Support for Programming Languages and Operating Systems, pages 212-221, April 1991
11 D. Comer and J. Griffoen, 'A new design for distributed systems: The remote memory model,' In Proceedings of the Summer 1990 USENIX Conference, June 1990
12 D. P. Bovet and M. Cesati, 'Understanding the Linux Kernel,' O'REILLY, 2003