Object-Size and Call-Site Tracing based Shared Memory Allocator for False Sharing Reduction in DSM Systems

분산 공유 메모리 시스템에서 거짓 공유를 줄이는 객체-크기 및 호출지-추적 기반 공유 메모리 할당 기법

  • 이종우 (숙명여대 멀티미디어과학) ;
  • 박영호 (숙명여대 멀티미디어과학) ;
  • 윤용익 (숙명여대 멀티미디어과학)
  • Published : 2008.03.31

Abstract

False sharing is a result of co-location of unrelated data in the same unit of memory coherency, and is one source of unnecessary overhead being of no help to keep the memory coherency in multiprocessor systems. Moreover, the damage caused by false sharing becomes large in proportion to the granularity of memory coherency. To reduce false sharing in page-based DSM systems, it is necessary to allocate unrelated data objects that have different access patterns into the separate shared pages. In this paper we propose sized and call-site tracing-based shared memory allocator, shortly SCSTallocator. SCSTallocator places each data object requested from the different call-sites into the separate shared pages, and at the same time places each data object that has different size into different shared pages. Consequently data objects that have the different call-site and different object size prohibited from being allocated to the same shared page. Our observations show that our SCSTallocator outperforms the existing dynamic shared memory allocators. By combining the two existing allocation technique, we can reduce a considerable amount of false sharing misses.

거짓 공유는 공유 메모리 다중 처리기 시스템에서 여러 처리기들이 일관성 유지의 단위 메모리 영역을 공유함으로 인해 발생하는 현상으로써, 메모리 일관성 유지의 정확성에는 아무런 도움을 주지 못하면서 그 비용만 증가시키는 주요 요인이다. 특히 메모리 일관성 유지의 단위가 커질수록 그 피해가 더 커진다고 할 수 있다. 페이지-기반 분산 공유 메모리 시스템에서 거짓 공유를 줄이기 위해서는 공유 페이지에 할당되는 객체들의 특성을 미리 예측하여 참조 패턴이 상이한 객체들이 하나의 공유 페이지에 섞이는 것을 방지하는 것이 필수적이다. 본 논문에서는 객체-크기와 호출지-추적에 기반한 거짓 공유 감소 기법인 SCSTallocator: Sized and Call-Site Tracing based allocator)을 제시한다. SCSTallocator는 서로 다른 코드 위치에서 할당 요청된 공유 객체들은 각각 상이한 참조 패턴을 보일 것이라는 가정에 기반함과 동시에 요청된 객체의 크기가 다르면 향후 참조 패턴도 다를 것이라고 가정하고 있다. 본 논문에서는 기존의 두 정책(크기별 할당 정책과 호출지-추적 기반 할당 정책)을 동시에 적용할 경우 거짓 공유를 더 많이 줄일 수 있을 것이라는 예상을 실험을 통해 확인하였다.

Keywords