메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

구민우 (서강대학교, 서강대학교 대학원)

지도교수
박성용
발행연도
2019
저작권
서강대학교 논문은 저작권에 의해 보호받습니다.

이용수4

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (2)

초록· 키워드

오류제보하기
최근 GPU 기술의 발전으로 다양한 분야의 연산에 GPU가 사용되고 있다. 그러나 GPU는 비싼 자원이므로, 그 사용률을 높이기 위해 워크로드 간에 GPU를 공유하기 시작하였다. GPU를 공유하는 환경에서는 선점이 필요한 경우가 발생하는데, 기존에는 GPU 메모리를 선점하는 것이 불가능했다. 이에 기존 연구나 상용 프로그램들은 GPU를 아예 선점할 수 없거나, GPU 메모리를 선점하지 못하고 연산만을 선점하거나, 기존 작업을 강제로 종료하여 선점하는 방식을 사용하였다. GPU 메모리를 선점하지 못하면 가용 메모리가 부족한 경우 GPU를 선점할 수 없으며, 기존 작업의 강제종료는 기존의 작업 내용의 손실을 유발하므로 오버헤드가 매우 크다. 상위 라이브러리를 수정하여 선점을 구현한 연구가 있지만, 이는 해당 라이브러리에 의존성을 갖기 때문에, 그 외의 작업은 실행할 수 없다는 단점을 갖는다.

이러한 문제를 개선하기 위해 본 논문에서는 플랫폼에 종속되지 않고, GPU 컨텍스트 전환 기능을 제공하며, 컨텍스트 전환 시 기존 작업 내용이 손실되지 않는 GPU 선점형 스케줄러인 GPUpres를 제안한다. GPUpres는 사용자 프로그램의 GPU 관련 API 호출을 가로채고 메모리 주소 변환 등을 수행하여 사용자 프로그램의 수정 없이 GPU 메모리 선점을 포함한 GPU 선점을 가능하도록 하였다. NVIDIA GPU 컨테이너 환경에서 NVIDIA CUDA Runtime API를 대상으로 프로토타입을 구현하여, GPU 선점이 가능함을 보였고, 실험을 통해 메모리 복사 오버헤드를 분석하고, 오버헤드가 호출 당 약 1us 내외, 스케줄러와의 통신을 포함하는 경우 약 19us 이며, 실제 워크로드에서는 약 8.38%의 오버헤드가 발생함을 확인하였다.

목차

제 1 장 서 론 1
제 2 장 관련 연구 4
2.1 배경 지식 4
2.1.1 CUDA API 구조와 흐름 4
2.1.2 NVIDIA GPU와 CUDA API의 특징 5
2.1.3 LD_PRELOAD 8
2.2 관련 연구 8
제 3 장 설계 및 구현 11
3.1 설계 목표 11
3.1.1 워크로드 종속성 12
3.1.2 GPU 메모리 선점 12
3.1.3 GPU 선점 오버헤드 최적화 16
3.2 구현 18
3.2.1 GPUpres 개요 19
3.2.2 후킹 모듈 21
3.2.3 노드 스케줄러 26
3.2.4 구현 시의 문제점 30
제 4 장 성능 평가 33
4.1 실험 환경 33
4.2 GPU 선점 34
4.3 오버헤드 분석 36
4.3.1 응용 프로그램 인터페이스 호출 오버헤드 36
4.3.2 메모리 복사 오버헤드 38
4.3.3 응용 프로그램 실행 오버헤드 40
제 5 장 결론 및 향후 과제 42

최근 본 자료

전체보기

댓글(0)

0