디지털 라이브러리[ 검색결과 ]
QoS를 고려한 스마트폰 GPU의 에너지 최적화 기법
모바일 GPU의 소비 전력이 전체 시스템 소모 전력에서 큰 비중을 차지하게 됨에 따라 스마트폰에서 중요한 전력 관리 대상 중 하나로 대두되었다. 그러나 모바일 GPU로써 널리 사용되는 ARM Mali-400MP의 장치 드라이버를 분석한 결과, 전력 관리 기법으로 사용되는 장치 사용률 기반 DVFS 알고리즘이 부하가 요구하는 성능보다 높은 주파수로 GPU를 동작하게 하여 비효율적인 전력 에너지 소모가 발생하였다. 따라서 본 논문은 장치 사용률뿐만 아니라 스마트폰 응용의 서비스 품질 요소로써 초 당 프레임 수와 배터리 시간을 함께 고려하여 기존 DVFS에서 발생한 비효율적인 주파수 상승을 방지할 수 있는 전력 에너지 최적화 기법을 제안한다. 제안한 에너지 최적화 기법을 적용하면 성능저하 없이 기존 장치 사용률 기반의 DVFS 대비 최대 23%의 에너지 이득을 보였으며, 배터리 시간 연장을 위하여 최대 10%의 성능 하락을 허용한 경우, 최대 33%의 에너지 효율 향상이 가능하였다.
반환 지향 프로그래밍 공격에 대한 효율적인 방어 기법 설계 및 구현
반환 지향 프로그래밍 공격(ROP)은 프로그램에 존재하는 반환 명령어로 끝나는 코드 조각들을 조합하여 가젯을 만들고, 연속적으로 실행하여 스택의 내용을 조작함으로써 프로그램의 제어권을 가져오는 공격이다. 이에 대한 기존 방어기법은 높은 실행 오버헤드와 바이너리 증가 오버헤드를 갖거나, 적용범위의 제한이 있는 문제점이 있다. 본 논문에서는 기존 기법의 문제점을 갖지 않으면서 성능 및 바이너리 크기 증가 측면에서 효율적인 방어 기법인 zero-sum defender를 제안한다. 반환 지향 프로그래밍 공격은 정상적인 프로그램의 흐름과 다르게, 함수 호출 명령어가 실행되지 않고 여러 반환 명령어가 실행되는 실행 특성을 가진다. 제안 기법은 이러한 특성을 이용하여 프로그램 실행 흐름이 반환 지향 프로그래밍 공격에 의해 오용되는지 모니터링하여 방어 기능을 수행한다. 실제 공격 모델에 대한 실험을 통해 방어 기법의 효용성을 확인하였고, 벤치마크 실험을 통해 약 2%의 성능 오버헤드와 약 1%의 바이너리 크기 증가만으로 방어가 이루어짐을 확인하였다.
경량 동적 코드 변환 기법을 이용한 동적 인스트루멘테이션 기법 설계 및 구현
동적 인스트루멘테이션 기법은 동적 코드 변환 기법을 사용하여 프로그램의 수행 흐름을 흐트러뜨리지 않으면서 분석 코드를 삽입하는 구현 기법으로 사용되고 있다. 기존의 동적 코드 변환 기법은 머신 코드 스트림을 중간 코드 형태로 파싱하고, 이를 일반적인 컴파일러 기법에 적용함으로써 코드를 변환한다. 이러한 방식의 코드 변환 과정에서 수반되는 높은 변환 오버헤드는 응답성이 높은 사용자 프로그램에 적용을 어렵게 한다. 본 논문에서는 변환 과정의 경량화를 통해 변환 오버헤드를 줄임으로써, 높은 동적 코드 변환 성능을 가지는 경량 동적 코드 변환 기법을 제안하고, 이를 기반으로 하는 동적 인스트루멘테이션 프레임워크를 제안한다. 제안 기법은 테이블 기반의 새로운 동적 주소 변환 기법으로 코드를 변환하고, 더불어 자주 실행되는 라이브러리 함수에 대해 변환 과정에 대해서는 주소 변환만을 함으로써 변환 오버헤드를 줄이는 변환 우회 기법을 이용한다. 기존 동적 코드 변환 기법과의 비교를 통해 2%~65%의 성능 향상을 확인하였다.