멀티 코어 대용량 메모리 시스템을 위한 역버디 메모리 관리자
저자
발행사항
용인: 단국대학교 대학원, 2012
학위논문사항
학위논문(박사)-- 단국대학교 대학원: 컴퓨터학과 컴퓨터과학 전공 2012. 2
발행연도
2012
작성언어
한국어
DDC
004.07 판사항(22)
발행국(도시)
경기도
기타서명
iBuddy: inverse Buddy Memory Manager for Multi-core Large Memory Systems
형태사항
v, 93장: 삽화; 30 cm.
일반주기명
단국대학교 논문은 저작권에 의해 보호받습니다.
지도교수:최종무
참고문헌 : 85-88장
소장기관
Many-core systems with large memory are now becoming the norm. The research presented in this dissertation revisits the widely used classic buddy memory management problem in view of these environmental changes. In doing so, we observe three performance limitations. First, most memory requests are for single page frames (4KB). However, the lazy buddy algorithm used in Linux continuously splits and coalesces memory blocks for single page frame requests even though the lazy layer is employed. Due to this problem, the memory allocator suffers not only poor performance but also large variations among page requests (including both allocations and deallocations). Second, on multi-core systems, responses to bursty memory requests are delayed by lock contention caused by concurrent accesses from the many cores. Finally, when diverse applications are executed concurrently, we find that non-fragmented blocks run out quickly and suffer from lacking of these blocks.
To overcome these problems, we present a new buddy system that we call the lazy iBuddy (inverse Buddy) system. This system is motivated by above observations. The lazy iBuddy system overcomes the first problem by managing each page frame individually and conducting a downward search of the page frame managing free lists, in contrast to the upward search used by the lazy buddy system. Also, in the lazy iBuddy system, pages are coalesced into single unit only when an allocation of multiple page frames is requested. This technique allows single page frame allocation to be done in O(1). The second problem is alleviated by dividing main memory into multiple buddy spaces and applying a fine-grained locking mechanism. Also, we design a lazy bypass technique that improves performance regardless of the number of concurrent threads because we find that the batch size, that is, the number of page frames transferred between the lazy layer and buddy layer, incurs non-trivial management overhead. The final problem is mitigated through the buddy space management mechanism.
Performance evaluation results based on various workloads on the Intel XEON 16 core with 32GB DDR3 main memory show that the lazy iBuddy system improves memory intensive benchmark performance by as much as 85% with the average of 39% compared with using the lazy buddy system. Furthermore, the standard deviation of the response latency drops from around 1427 cycles to 241 cycles improving the predictability of the responses. In addition, the number of non-fragmented 4MB blocks are well kept in lazy iBuddy system.
최근 내장형 시스템부터 고성능 서버에 이르기까지 대용량 메모리를 탑재한 멀티 코어 프로세서의 사용이 일반화되고 있다. 따라서 본 논문에서는 널리 사용되고 있는 기존의 지연 버디 시스템이 이러한 환경에서 효율적으로 동작하는지 관찰하였다. 관찰 결과 크게 3가지 측면에서 비효율적으로 동작함을 확인하였다. 첫 번째, 대부분의 요청이 단일 페이지 프레임 단위이다. 하지만 Linux에서 사용하고 있는 기존 지연 버디 알고리즘은 지연 계층을 도입하였음에서 불구하고 단일 페이지 할당 시 지속적으로 병합과 분할을 수행한다. 이러한 문제로 인하여 메모리 할당/반납 시 성능 저하를 유발할 뿐만 아니라 각 요청간의 편차 또한 크게 증가한다. 두 번째, 멀티 코어 환경에서 다수의 쓰레드가 동시에 메모리 요청하는 경우 락 경합에 의하여 응답 시간이 지연되는 것을 확인하였다. 세 번째, 다양한 종류의 응용을 병렬적으로 수행할 경우 메모리 단편화 문제가 심각하게 발생됨을 확인하였다.
본 논문에서는 위와 같은 문제점을 해결하기 위해 역 버디 시스템(iBuddy: inverse Buddy System)이라는 새로운 메모리 관리자를 제안한다. 제안된 메모리 관리자는 첫 번째 문제를 해결하기 위하여 각각의 페이지 프레임을 독립적으로 관리한다. 또한 할당 요청을 처리하기 위하여 상향식 탐색을 수행하는 기존 지연 버디 시스템과는 달리 하향식 탐색을 수행한다. 한편 제안된 시스템에서는 다중 페이지 할당 요청이 발생하였을 경우에만 페이지들에 대한 병합을 수행한다. 이러한 기법으로 인하여 단일 페이지 프레임 할당을 시간에 처리할 수 있다. 두 번째 문제인 락 경합은 메모리 공간을 여러 개의 버디 공간(buddy space)들로 분할하여 완화하였다. 이것은 이미 잘 알려져 있는 미세 단위 잠금 기법을 버디 계층 수준에서 적용하였음을 의미한다. 또한 쓰레드의 개수에 상관없이 지연 계층의 관리 비용을 최소화할 수 있는 지연 바이패스 기법을 설계하였다. 마지막으로 단편화 문제는 버디 공간 관리 기법을 통하여 완화하였다.
제안된 시스템은 32Gbyte DDR3 메인 메모리와 16개의 코어로 구성된 고성능 서버 시스템에서 구현하였으며, 다양한 벤치마크 프로그램을 이용하여 성능을 평가하였다. 성능 측정 결과 기존 지연 버디 시스템과 비교하여 메모리 집중적인 응용에서 최대 85% 평균 39% 성능이 향상되었으며, 표준 편차또한 1427 cycle에서 241 cycle로 대폭 향상되었음을 확인하였다. 더욱이 다양한 응용들이 동작하는 환경에서 메모리 단편화 문제가 크게 완화되었다.
서지정보 내보내기(Export)
닫기소장기관 정보
닫기권호소장정보
닫기오류접수
닫기오류 접수 확인
닫기음성서비스 신청
닫기음성서비스 신청 확인
닫기이용약관
닫기학술연구정보서비스 이용약관 (2017년 1월 1일 ~ 현재 적용)
학술연구정보서비스(이하 RISS)는 정보주체의 자유와 권리 보호를 위해 「개인정보 보호법」 및 관계 법령이 정한 바를 준수하여, 적법하게 개인정보를 처리하고 안전하게 관리하고 있습니다. 이에 「개인정보 보호법」 제30조에 따라 정보주체에게 개인정보 처리에 관한 절차 및 기준을 안내하고, 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다.
주요 개인정보 처리 표시(라벨링)
목 차
3년
또는 회원탈퇴시까지5년
(「전자상거래 등에서의 소비자보호에 관한3년
(「전자상거래 등에서의 소비자보호에 관한2년
이상(개인정보보호위원회 : 개인정보의 안전성 확보조치 기준)개인정보파일의 명칭 | 운영근거 / 처리목적 | 개인정보파일에 기록되는 개인정보의 항목 | 보유기간 | |
---|---|---|---|---|
학술연구정보서비스 이용자 가입정보 파일 | 한국교육학술정보원법 | 필수 | ID, 비밀번호, 성명, 생년월일, 신분(직업구분), 이메일, 소속분야, 웹진메일 수신동의 여부 | 3년 또는 탈퇴시 |
선택 | 소속기관명, 소속도서관명, 학과/부서명, 학번/직원번호, 휴대전화, 주소 |
구분 | 담당자 | 연락처 |
---|---|---|
KERIS 개인정보 보호책임자 | 정보보호본부 김태우 | - 이메일 : lsy@keris.or.kr - 전화번호 : 053-714-0439 - 팩스번호 : 053-714-0195 |
KERIS 개인정보 보호담당자 | 개인정보보호부 이상엽 | |
RISS 개인정보 보호책임자 | 대학학술본부 장금연 | - 이메일 : giltizen@keris.or.kr - 전화번호 : 053-714-0149 - 팩스번호 : 053-714-0194 |
RISS 개인정보 보호담당자 | 학술진흥부 길원진 |
자동로그아웃 안내
닫기인증오류 안내
닫기귀하께서는 휴면계정 전환 후 1년동안 회원정보 수집 및 이용에 대한
재동의를 하지 않으신 관계로 개인정보가 삭제되었습니다.
(참조 : RISS 이용약관 및 개인정보처리방침)
신규회원으로 가입하여 이용 부탁 드리며, 추가 문의는 고객센터로 연락 바랍니다.
- 기존 아이디 재사용 불가
휴면계정 안내
RISS는 [표준개인정보 보호지침]에 따라 2년을 주기로 개인정보 수집·이용에 관하여 (재)동의를 받고 있으며, (재)동의를 하지 않을 경우, 휴면계정으로 전환됩니다.
(※ 휴면계정은 원문이용 및 복사/대출 서비스를 이용할 수 없습니다.)
휴면계정으로 전환된 후 1년간 회원정보 수집·이용에 대한 재동의를 하지 않을 경우, RISS에서 자동탈퇴 및 개인정보가 삭제처리 됩니다.
고객센터 1599-3122
ARS번호+1번(회원가입 및 정보수정)