자막
음성

Final Presentation

대학원 CA · 한국어 정리

1개요

1.1WebP(웹피) 이미지 압축에서 cache miss(캐시 미스)로 인한 성능 저하 문제를 분석하고, virtual machine(가상 머신) 기반 측정으로 정확도 향상 시도.
1.2소프트웨어 prefetch(프리패치)와 compiler optimization(컴파일러 최적화)의 상호작용으로 인한 성능 향상 한계를 검토.
1.3Q-러닝 기반 페이지 교체 및 병렬 실행 최적화를 통한 메모리 및 PIM 아키텍처 성능 개선 방안 제시.

2섹션별 요약 상황·문제 → 원인 → 해결

2.10:57–6:57캐시 미스 최적화 문제
상황·문제웹프 이미지 압축에서 cache miss(캐시 미스) 증가로 성능 저하 발생
원인perf 도구의 불안정한 측정으로 인한 데이터 variability(변동성)
해결virtual machine(가상 머신)에서 perf 실행으로 측정 정확도 향상 필요
2.26:57–13:02캐시 미스 최적화
상황·문제이미지 압축에서 cache miss(캐시 미스)율이 높아 성능 저하 발생
원인작은 이미지일수록 memory access patterns(메모리 접근 패턴)이 비효율적이라 cache miss(캐시 미스) 증가
해결prefetch 함수를 활용한 미리 로딩으로 cache miss(캐시 미스)율 감소
2.313:04–19:06성능 분석 결과 한계
상황·문제성능 측정에서 재현성 부족과 성능 향상 미달 발생
원인캐시 접근 증가와 시스템 간섭으로 인한 결과 variability(변동성) 증가
해결다수 반복 측정 및 오차 막대 포함한 시각화 필요
2.419:08–25:11소프트웨어 프리패치 분석 부족
상황·문제prefetch(프리패치) 코드 추가 후 성능 향상 없음 발생
원인컴파일러나 hardware prefetcher(하드웨어 프리패처)가 이미 최적화 수행
해결simulator(시뮬레이터)를 통한 캐시 동작 분석 필요
2.525:11–31:16유니파이드 메모리 성능 개선
상황·문제유니파이드 메모리에서 페이지 풀트 발생 증가
원인GPU 메모리 용량 부족으로 인한 불균형한 페이지 교체
해결Q-러닝 기반 최적화 페이지 교체 알고리즘 도입
2.631:16–37:17Q학습 기반 페이지 예측
상황·문제페이지 접근 패턴 예측이 어려워 성능 저하 발생
원인고정된 페이지 교체 정책으로 인한 비효율적 메모리 관리
해결상하한 경계 재정의를 통한 Q학습 기반 예측 개선
2.737:17–43:17페이지 교체 정책 분석
상황·문제다양한 benchmark(벤치마크)에서 페이지 교체 성능 차이 발생
원인페이지 접근 패턴의 variability(변동성) 차이로 인한 예측 불가능성
해결딥 Q러닝 기반 예측 모델 도입으로 정확도 향상 필요
2.843:18–49:21페이지 주소 최적화
상황·문제페이지 주소 압축으로 인한 큐 테이블 오버헤드 발생
원인실제 메모리 주소 기반 알고리즘 미측정으로 오버헤드 정확도 부족
해결Q-러닝 알고리즘 기반 상하한 경계 동적 추적 필요
2.949:21–55:22병렬 실행 오류 발생
상황·문제병렬로 benchmark(벤치마크) 실행 시 오류 발생
원인백그라운드에서 발생하는 오류에 주의를 기울이기 어려움
해결완성된 코드일 때만 병렬 실행 필요
2.1055:22–1:01:26SCBlock 처리 최적화
상황·문제SCBlock의 전역 평균 풀링이 메모리 부담 증가
원인복잡한 계산 유닛으로 인한 면적 및 전력 과잉
해결은행 프로브 I/O에 단순 가산기 배치로 효율 향상
2.111:01:26–1:07:30PIM 성능 비교
상황·문제PIM 아키텍처에서 성능 저하 발생
원인은행 수준 병렬성 활용 부족으로 성능 제한
해결은행 그룹별 더블리 계산 구조로 성능 향상
2.121:07:30–1:14:54SE �ブロック 성능 분석
상황·문제SE 블록의 전반적 성능 저하 발생
원인전체 실행 시간에서 전역 평균 풀링 비중 증가
해결전역 평균 풀링 외 연산 지원으로 성능 향상 필요

3핵심 개념

3.1cache miss rate(캐시 미스 비율)
cache reference(캐시 참조) 중 cache miss(캐시 미스)가 발생하는 비율로, cache performance(캐시 성능)을 평가하는 핵심 지표이다.
3.2memory access patterns(메모리 접근 패턴)
프로그램이 메모리에 접근하는 방식으로, cache performance(캐시 성능)에 큰 영향을 미친다.
3.3prefetch(프리패치)
미리 다음에 필요할 데이터를 캐시에 로드하여 cache miss(캐시 미스)를 줄이는 기법이다.
3.4virtual machine(가상 머신)
하드웨어를 가상화하여 운영체제와 애플리케이션을 실행하는 환경으로, 측정의 일관성을 높인다.
3.5variability(변동성)
성능 측정 결과의 불안정성으로, 시스템 간섭이나 runtime(런타임) 요인에 의해 발생한다.
3.6profiling(프로파일링)
프로그램의 실행 동작을 분석하여 execution hotspot(실행 핫스팟)과 성능 저하 원인을 파악하는 기법이다.
3.7simulator(시뮬레이터)
실제 하드웨어 동작을 모방하여 cache reference(캐시 참조) 및 성능을 분석하는 도구이다.
3.8Q-learning(Q-러닝)
강화학습 기법으로, 페이지 접근 패턴을 예측하고 최적의 페이지 교체 정책을 도출한다.
3.9cache thrashing(캐시 스래싱)
캐시에 자주 데이터가 들어오고 나가면서 성능이 급격히 저하되는 현상이다.
3.10GPU optimization(GPU 최적화)
GPU의 병렬 처리 능력을 극대화하기 위한 알고리즘 및 아키텍처 설계 기법이다.

4강의 흐름

4.1WebP(웹피) 이미지 압축에서 cache miss rate(캐시 미스 비율) 증가 문제 진단
4.2virtual machine(가상 머신)에서 perf 도구를 사용한 측정 정확도 향상 시도
4.3memory access patterns(메모리 접근 패턴) 분석을 통한 cache miss(캐시 미스) 원인 규명
4.4prefetch(프리패치) 함수 도입으로 cache miss(캐시 미스)율 감소 시도
4.5컴파일러 및 hardware prefetcher(하드웨어 프리패처)의 영향 분석을 위한 simulator(시뮬레이터) 활용
4.6Q-러닝 기반 페이지 교체 정책 도입 및 성능 평가
4.7딥 Q러닝 기반 예측 모델로 페이지 접근 패턴 예측 정확도 향상
4.8병렬 실행 오류 발생 원인 분석 및 완성된 코드 기반 실행 전략 수립

5용어집

5.1
#English한국어
5.1.1cache miss rate캐시 미스 비율
5.1.2memory access patterns메모리 접근 패턴
5.1.3macro blocking마크로 블로킹
5.1.4compression algorithm압축 알고리즘
5.1.5WebP웹피
5.1.6PNG피엔지
5.1.7JPEG제이페그
5.1.8runtime런타임
5.1.9real-time result실시간 결과
5.1.10benchmark벤치마크
5.1.11image size이미지 크기
5.1.12perf command퍼프 명령어
5.1.13cache miss캐시 미스
5.1.14virtual machine가상 머신
5.1.15bash script바시 스크립트
5.1.16batch script배치 스크립트
5.1.17execution hotspot실행 핫스팟
5.1.18perf-record퍼프-레코드
5.1.19perf-report퍼프-리포트
5.1.20developer mode개발자 모드
5.1.21putbit function풋비트 함수
5.1.22fourier transforms푸리에 변환
5.1.23iterative import function반복 수입 함수
5.1.24profiling프로파일링
5.1.25instruction명령어
5.1.26importblock function임포트블록 함수
5.1.27linearize선형화
5.1.28cache performance캐시 성능
5.1.29source variable소스 변수
5.1.30address pattern주소 패턴
5.1.31prefetch프리패치
5.1.32GCC built-in prefetch functionGCC 내장 프리패치 함수
5.1.33vpWidthPutBitvp위드풋비트
5.1.34fourier coefficient푸리에 계수
5.1.35matrix행렬
5.1.36put buffer풋 버퍼
5.1.37GPU optimizationGPU 최적화
5.1.38CUDA programmingCUDA 프로그래밍
5.1.39research process연구 과정
5.1.40variability변동성
5.1.41reproducible results재현 가능한 결과
5.1.42simulator시뮬레이터
5.1.43cloud computers클라우드 컴퓨터
5.1.44error bars에러 바
5.1.45cache thrashing캐시 스래싱
5.1.46hardware prefetcher하드웨어 프리패처
5.1.47compiler optimization컴파일러 최적화
5.1.48cache reference캐시 참조
5.1.49cache eviction캐시 제거
5.1.50actual cache behavior실제 캐시 동작

6스스로 확인

6.1virtual machine(가상 머신)에서 perf 도구를 사용했을 때 측정의 variability(변동성)이 줄어들었는가?
6.2소프트웨어 prefetch(프리패치)가 compiler optimization(컴파일러 최적화)와 충돌하지 않았는가?
6.3Q-러닝 기반 페이지 교체 정책이 다양한 benchmark(벤치마크)에서 안정적인 성능을 보였는가?
단축키
Ctrl K · s자료 검색
[ ]이전·다음 강의
Space영상 재생·정지
j k다음·이전 section
n p다음·이전 slide
b강의 목록 접기·펴기
t맨 위
/강의 검색
Esc닫기