표제지
국문초록
목차
제1장 서론 11
제2장 연구 배경 및 대상시스템 소개 15
제1절 NAS(Neural Architecture Search) 15
제2절 GPU의 동작 방식 17
제3절 엣지 GPU 디바이스 소개 18
제4절 다중 DNN 실행 분석 20
1) DNN의 특징 분석 20
2) CPU와 GPU의 다중 DNN 실행 분석 21
제3장 엣지 디바이스를 위한 NAS 보상함수 제안 24
제1절 다중목적 보상함수 제안 24
제2절 NAS-Bench-201 및 NAS 제안 27
제4장 다중 DNN 추론 최적화 기법 제안 31
제1절 엣지 디바이스 GPU 오버헤드 최적화 기법 제안 31
1) 멀티 DNN 추론 환경 및 오버헤드 31
2) 멀티 DNN 추론을 위한 GPU 오버헤드 최소화 프레임워크 제안 33
제2절 CPU-GPU Co-Scheduling 프레임워크 제안 35
1) CPU-GPU Co-Scheduling 프레임워크 35
2) 코어 선택 알고리즘 37
3) 최대한의 병렬 효과 얻기 40
4) 서로 다른 코어의 동기화 및 데이터 전송 오버헤드 최소화 42
5) 레이어 작업의 실행시간 예측 44
제5장 실험 결과 및 분석 48
제1절 NAS 실험 결과 48
제2절 다중 DNN 실행 결과 51
1) 다중 DNN 실행 시 GPU 오버헤드 최소화 결과 52
2) 다중 DNN 실행을 위한 CPU-GPU Co-Scheduling 결과 55
제6장 결론 62
참고문헌 63
ABSTRACT 67
[표 2-1] DenseNet-201, ResNet-152, VGG-16, AlexNet의 레이어 구성 20
[표 5-1] DNN의 정확도, 실행시간이 주어질 때 각 보상함수의 보상값 비교 51
[표 5-2] 타겟 디바이스 Jetson AGX Xavier의 하드웨어 상세 정보 52
[그림 2-1] 레이어 기반 NAS의 DNN(a)와 셀 기반 NAS의 DNN(b) 15
[그림 2-2] GPU를 사용하는 CPU 프로세스의 구조 17
[그림 2-3] GPU 커널함수 동작 방식 18
[그림 2-4] Discrete GPU와 Integrated GPU의 메모리 구성 19
[그림 2-5] 레이어 실행 예시 (a):GPU, (b):CPU-GPU Co-Scheduling 21
[그림 2-6] 동시에 실행된 DNN들의 실행 시작시간 분포 23
[그림 3-1] 추론 실행시간에 따른 보상함수 f(x) 와 미분한 함수 f'(x) 25
[그림 3-2] 보상 비교 27
[그림 3-3] NAS-Bench-201의 DNN 구조 28
[그림 3-4] 제안된 다중목적 보상함수가 적용된 NAS 29
[그림 4-1] GPU스케쥴링 방식에 따른 레이어 실행시간 비교 32
[그림 4-2] 싱글 컨텍스트 환경의 mutex 오버헤드 33
[그림 4-3] 오버헤드가 최소화된 다중 DNN 실행을 위한 구조 34
[그림 4-4] 다중 DNN 실행을 위해 CPU-GPU Co-Scheduling을 적용한 구조 35
[그림 4-5] CPU-GPU Co-Scheduling을 위한 알고리즘 38
[그림 4-6] 새로운 레이어 작업에 대한 코어 선택기 예시 39
[그림 4-7] 스케쥴링 방식에 따른 다중 DNN 실행 비교 40
[그림 4-8] Xavier의 CPU-GPU간 메모리 할당 및 데이터 복사 42
[그림 4-9] Xavier의 제로카피 42
[그림 4-10] Xavier의 캐시 일관성 44
[그림 4-11] DNN 모델 각 레이어의 실행 시간 비율(CPU) 45
[그림 4-12] DNN 모델 각 레이어의 실행 시간 비율(GPU) 45
[그림 5-1] 컨트롤러가 생성한 DNN의 정확도와 실행시간의 히트맵 분석 48
[그림 5-2] 컨트롤러 학습동안 생성되는 DNN의 정확도 및 추론 실행시간 50
[그림 5-3] GPU 실행환경에 따른 같은 종류 DNN들의 실행 시간 53
[그림 5-4] Dense(15)의 시간에 따른 GPU 사용량 54
[그림 5-5] GPU 실행 환경에 따른 다른 종류 DNN들의 실행 시간 55
[그림 5-6] 4개의 DNN 모델의 모든 레이어에 대한 실행시간 56
[그림 5-7] 각 레이어별 실행시간 예측 모델의 정확도 및 결정계수 - CPU 57
[그림 5-8] 각 레이어별 실행시간 예측 모델의 정확도 및 결정계수 - GPU 57
[그림 5-9] 세가지 스케쥴링 환경에 따른 실행시간 결과 58
[그림 5-10] 두가지 스케쥴링 환경에서 서로 다른 종류 DNN 다중실행 결과 59
[그림 5-11] [그림 5-10]의 데이터 분포 59
[그림 5-12] 코어 선택 정책에 따른 같은 종류 DNN 다중 실행 결과 60