과제 & 연구자 | 삼성미래기술
메인메뉴 바로가기 본문영역 바로가기 푸터영역 바로가기

과제 & 연구자

과제 & 연구자

큰 꿈을 향한 무한탐구의 연구열정,
삼성미래기술육성사업이 응원하며 함께 하겠습니다.

김선욱_홈페이지.png

김선욱

소속기관 고려대학교 전기전자공학부

선정연도 2020년

연구실 홈페이지

DRAM 기반의 인 메모리 연산을 위한 시스템소프트웨어 연구

본 연구에서는 DRAM 기반의 인 메모리 연산을 수행하는 PIM(Processing-In-Memory) 디바이스의 성능 최적화를 위하여 컴파일러와 운영체제가 본 연구에서 정의하는 인터페이스 프레임워크를 이용하여 상호 협업하고 융합된 시스템 소프트웨어 연구를 수행한다.


데이터 관리 측면에서DRAM row를 페이지 단위로 관리하는 것은 운영체제이고 페이지 내의 데이터 배치를 결정하는 것은 컴파일러이다. 또한, 코드 실행 측면에서 태스크를 관리하는 것은 운영체제이고, 코드를 생성하는 것은 컴파일러이다. 즉, 시스템 측면에서 볼 때, 컴파일러는 fine-grain에서, 운영체제는 coarse-grain 수준에서 최적화를 수행한다. 따라서, 데이터와 코드가 모두 효과적으로 생성 및 관리되어야 하는 PIM에서 컴파일러와 운영체제는 상호 단점을 보완하고 장점을 극대화한다.


컴파일러는 코드 정보를 운영체제에 제공하기 위하여 전통적인 코드 분석과 PIM을 위한 코드 분석을 수행한다. 이를 바탕으로 운영체제는 실행시간을 예측하고, 메모리 사용 패턴, 페이지 migration 오버헤드 등의 정보를 얻을 수 있다. 운영체제는 이 정보를 받아 페이지 할당 및 태스크 관리를 수행하여 시스템 전체 성능을 최적화한다. 또한, 운영체제는 PIM과 non-PIM device가 같이 사용되는 메모리 시스템에서의 태스크 및 메모리 관리기법 연구를 수행한다. 컴파일러는 코드 분석 이외에 PIM을 위한 코드를 생성한다. 이러한 코드 생성은 general computing 시스템에서의 DRAM 성능을 높이는데도 적용할 수 있다. PIM은 제한된 연산 리소스를 갖고, 데이터 배치가 시스템 성능에 매우 큰 영향을 미치기 때문에 이에 대한 견고한 방법 개발이 필수적이다. 그 밖에 메모리 계층구조와 페이지 속성을 고려도 필요하다. 결국, 컴파일러는 PIM의 구조, 메모리 계층구조, 그리고 DRAM의 동작 특성에 최적화된 코드 생성을 수행한다.


본 연구를 통하여 산업계와 학계에 PIM 실용 가능성을 제시한다. 또한, 차세대 PIM 하드웨어에서 요구하는 시스템 소프트웨어의 새로운 연구분야를 개척하고, 이에 관한 기술을 선점하며, 동시에 다양한 시너지를 창출할 수 있을 것이다. 또한 산업체에서 절실히 요구하는 관련 분야의 고급인력을 양성할 수 있을 것이다.
 

본 연구에서는 DRAM 기반의 인 메모리 연산을 수행하는 PIM(Processing-In-Memory) 디바이스의 성능 최적화를 위하여 컴파일러와 운영체제가 본 연구에서 정의하는 인터페이스 프레임워크를 이용하여 상호 협업하고 융합된 시스템 소프트웨어 연구를 수행한다. 데이터 관리 측면에서DRAM row를 페이지 단위로 관리하는 것은 운영체제이고 페이지 내의 데이터 배치를 결정하는 것은 컴파일러이다. 또한, 코드 실행 측면에서 태스크를 관리하는 것은 운영체제이고, 코드를 생성하는 것은 컴파일러이다. 즉, 시스템 측면에서 볼 때, 컴파일러는 fine-grain에서, 운영체제는 coarse-grain 수준에서 최적화를 수행한다. 따라서, 데이터와 코드가 모두 효과적으로 생성 및 관리되어야 하는 PIM에서 컴파일러와 운영체제는 상호 단점을 보완하고 장점을 극대화한다. 컴파일러는 코드

더보기
관련 뉴스 게시물이 없습니다.