17 research outputs found
An Energy Optimization Technique for Latency and Quality Constrained Video Applications
이 논문은 지연 시간 및 화질 제약이 있는 비디오 응용을 위한 에너지 최적
화 기법을 제안한다.이는 두 가지 핵심 기법-프레임 생략 기법 및 버퍼링 기법 -
으로 구성되어있다.버퍼링은 운영 체제 수준에서 유휴 시간 이용률을 증가시키고,
프레임 생략은 응용 수준에서 유휴 시간 자체를 증가시키며, 양쪽 모두 동적 전압 조
절 기법의 효과를 향상시킨다.이 논문에서는 제안한 기법을 적용하기 위해H.263
부호기 응용을 사용한다. 실험에서는 제안한 기법이 주어진 지연 시간 및 화질 제약
을 만족하면서 괄목할만한 에너지 절감을 얻을 수 있음을 보인다
A Static Scheduling Heuristic for Heterogeneous Processors
본 논문에서는 이질 수행 시간을 가지는 다중 프로세서를 대상으로 한 Best Imaginary Level (BIL) 스케줄링이라는 정적인 비선점 스케줄링 휴리스틱을 제안하였다. 스케줄링의 대상이 되는 입력 그래프는 선후 관계의 제약 조건을 가지는 비순환 그래프이며, 그래프 상의 각 노드는 각각의 프로세서에서 다른 수행 시간을 가진다. 노드의 정적인 레벨(BIL)은 프로세서간의 통신(IPC)을 고려하고 프로세서의 이질성도 고려한다. 제안된 스케줄링 기법이 입력 그래프의 모양이 선형인 경우 최적의 스케줄링 결과를 생성해 내는 것을 증명하였다. BIL 스케줄링은 현존하는 스케줄링 기법인 general dynamic level (GDL) 스케줄링 기법과 비교해서 다양한 형태의 무작위로 만들어낸 입력 그래프에 대해 약 20%의 성능 향상을 가져왔다. ; This paper presents a static scheduling heuristic called Best Imaginary Level (BIL) scheduling for heterogeneous processors. The input graph is an acyclic precedence graph, where a node has different execution times on different processors. The static level of a node, or BIL, incorporates the effect of interprocessor communication (IPC) overhead and processor heterogeneity. The proposed scheduling technique is proven to produce the optimal scheduling result if the topology of the input task graph is linear. The performance of the BIL scheduling is compared with an existing technique called the general dynamic level (GDL) scheduling with various classes of randomly generated input graphs, resulting in about 20% performance improvement
Fast and Accurate Performance Estimation of Bus Matrix for Multi-Processor System-on-Chip(MPSoC)
본 논문은 큐잉 이론을 이용한 멀티 프로세서 시스템-온-칩(MPSoC)의 버스 매트릭스 기반
통신 구조에 대한 성능 예측 기법을 제안한다. 버스 매트릭스 기반 통신 구조는 다양한 설계 인자를 가지
고 있어 이에 대한 성능 최적화는 방대한 설계 공간의 탐색을 필요로 하지만, 현재 널리 사용되고 있는
시뮬레이션에 기반한 방법은 많은 시간을 요구하기 때문에 점점 짧아지고 있는 시장 적기 출하
(time-to-market) 제약 조건을 만족하기 어렵다. 이러한 문제를 해결하기 위하여 본 논문에서는 시뮬레이
션보다 훨씬 빠르면서 정확하게 성능을 예측할 수 있는 기법을 개발하였다. 제안한 성능 분석 기법은 고
성능의 버스 매트릭스를 위해 사용되는 버스 프로토콜인 multiple-outstanding transaction을 고려한다.
또한 지수 분포(exponential distribution)를 이용하여 비현실적으로 메모리 시스템을 모델하였던 기존의
연구들과 달리 실제적인 메모리 시스템 모델을 위하여 일반 분포(general distribution)를 이용하였다. 제
안한 성능 예측 기법의 정확도 및 효율성을 검증하기 위하여 무작위로 생성된 버스 트랜잭션들과 4-채널
DVR 예제에 적용하였을 때, 사이클 단위의 정확도를 갖는 시뮬레이션과 비교하여 105배 이상 빠르면서
평균 94% 이상의 정확도를 갖는 것으로 분석되었다
Serialized Multitasking Code Generation from Dataflow Specification
갈수록 복잡해지는 임베디드 시스템을 개발하는데 있어서 소프트웨어 개발의 중요성이 점차 커
지고 있다. 대부분의 임베디드 응용 소프트웨어는 멀티 태스크로 구성되어 있는 병렬 소프트웨어이며, 기존
의 순차적인 프로그래밍 언어만으로 개발하는 것 보다는 알고리즘의 병렬성을 명세하기에 용이한 데이타
플로우 모델로부터 소프트웨어를 생성하는 것이 유망하다. 생성된 멀티태스킹 코드를 수행하기 위해선 태스
크들을 병렬적으로 수행해 주고 태스크간 동기화를 담당해 줄 운영체제의 도움이 필요하다. 그러나 운영체
제를 사용하기 어려운 환경이나 설계 공간 탐색 과정에서 운영체제를 매번 다양한 하드웨어 플랫폼에 포팅
하기 어려운 경우에는 운영체제 없이 멀티 태스크 응용을 수행할 수 있는 방법이 필요하다. 이것을 위해서
이 연구에서는 데이타 플로우 명세로부터 직렬화된 멀티태스킹 코드를 생성하는 방법을 제안한다. 제안하는
방법에서 하나의 태스크는 데이타 플로우 모델로 명세되며, 하나의 C 코드로 생성된다. 코드 생성은 크게
두 단계로 이루어지는데, 먼저 태스크를 구성하는 블록들을 각각 함수 형태로 코드를 생성한 후에, 생성된
여러 태스크의 함수들을 모아서 직렬화하여 호출하는 스케줄러를 만든다. 이 때에 스케줄러를 효율적으로
만들 수 있는 자료구조 및 정보를 제공하여 사용자가 수동으로 스케줄러를 만드는 것도 가능하도록 하였다.
DivX예제를 통하여 제안하는 방법으로 생성한 코드가 효율적으로 올바르게 동작함을 보였다.본 연구는 BK21 프로젝트와 교육과학기술부 도약연구 지원사업(R17-2007-
086-01001-0)의 지원을 받아 진행 되었다. 또한 서울대학교 컴퓨터신기술연
구소와 IDEC은 본 연구에 필요한 기자재들을 지원해 주었다. 본 연구는 한
국전자통신연구원의 SoC 핵심설계인력양성사업의 부분적인 지원을 받았다
Implementation and Translation of Major OpenMP Directives for Chip Multiprocessor without using OS
단일 칩 다중 프로세서의 경우 표준화된 병렬 프로그래밍 방법이 없는데 OpenMP를 사용하면
병렬 프로그래밍이 쉬우므로 OpenMP는 단일 칩 다중 프로세서를 위한 매력적인 병렬 프로그래밍 모델이
다. 그런데 단일 칩 다중 프로세서 시스템의 구조는 대상 응용 프로그램에 따라 다양할 수 있다. 따라서
각 시스템마다 다른 방식으로 OpenMP를 구현해야 할 필요가 있다. 본 논문에서는 운영체제를 사용하지
않는 단일 칩 다중 프로세서를 위한 OpenMP 구현과 주요 디렉티브의 효과적인 변환을 제안하여 특수한
하드웨어에 의존하지 않고 OpenMP 디렉티브의 추가적인 확장 없이 성능을 향상 시킬 수 있게 한다. 실
험은 대상 플랫폼인 CT3400에서 수행하고 그 결과를 제시한다.본 연구는 두뇌한국 21 프로젝트, SystemIC 2010 프로젝트, 정보통신
선도기반기술개발사업, IT-SoC 핵심설계인력양성사업에 의해 지원되었
으며, 이 연구를 위해 연구장비를 지원하고 공간을 제공한 서울대학교
컴퓨터연구소, 서울대학교 반도체공동연구소, 반도체설계 교육센터에
감사드립니다
Hardware Synthesis From Coarse-Grained Dataflow Specification For Fast HW/SW Cosynthesis
이 논문에서는 빠른 하드웨어/소프트웨어 통합합성을 위해 데이타플로우 그래프(DFG:
Dataflow Graph)로부터 하드웨어를 자동으로 합성하는 내용을 다룬다. 이 데이타플로우 그래프에서 노드
는 FIR(Finite Impulse Response) 필터나 DCT(Discrete Cosine Transform) 블록과 같이 크기가 어느
정도 되는 하드웨어 블록을 나타내며, 이 노드의 포트는 한번 수행할 때마다 하나 이상의 데이타 샘플을
주고 받을 수 있다. 즉, 멀티레이트 데이타 샘플(multi-rate data sample)을 교환한다. 이러한 특성들은 기
존의 Behavioral Synthesis와 구별되는 점이며, 따라서 Behavioral Synthesis보다 어려운 문제가 된다.
본 논문에서 제안하는 설계 방법을 사용하면 알고리즘을 명세하는 데이타플로우 그래프는 하드웨어 리소
스의 할당과 스케줄 정보에 따라 다양한 하드웨어 구조로 매핑될 수 있다. 따라서 하드웨어 설계시에 면
적/성능 트레이드오프 관계를 손쉽게 관리할 수 있으며, 하드웨어를 자동으로 합성하는 기존의 방식보다
구현 가능한 하드웨어 설계 공간을 더욱 넓혀주는 효과를 거둘 수 있다.본 연구는 국가지정연구실 프로그램(번호 M1-0104-00-0015), 두뇌한
국 21 프로젝트, SystemIC 2010 프로젝트에 의해 지원되었으며, 이
연구를 위해 연구장비를 지원하고 공간을 제공한 서울대학교 컴퓨터연
구소에 감사 드립니다
Efficient exploration of on-chip bus architectures and memory allocation
시스템 수준 설계에서 계산 부분과 통신 부분의 분리는 프로세서의 선택이나
기능 블록의 프로세서에 대한 할당 결과에 관계없이 설계자로 하여금 독립적인 통신
구조의 설계 공간 탐색을 가능하게 해준다. 본 논문은 버스 기반의 온 칩 통신
구조와 메모리 할당의 최적화를 위한 2 단계 설계 공간 탐색 방법을 제안한다. 제안된
설계 공간 탐색 방법은 정적 성능 예측 방법을 사용하여 통신 구조에 대한 방대한
설계 공간을 빠르고 효과적으로 줄인다. 이렇게 축소된 통신 구조들의 설계 공간에
대해서는 정확한 성능 예측을 위하여 프로세서들의 메모리 트레이스를 이용한
트레이스 기반 시뮬레이션을 적용한다. 프로세서들의 동시적인 접근에 의한 버스의
충돌은 프로세서간 공유 메모리뿐 아니라 프로세서의 로컬 메모리에서도 기인하므로
메모리 할당 또한 중요하게 다루어져야 하는 부분이다. 제안된 설계 공간 탐색
방법의 효율성은 4-채널 DVR 과 OFDM DVB-T 용 수신기 내부의 이퀄라이저
부분을 이용하여 검증하였다.본 연구는 국가 지정 연구실 프로그램(번호 M1-0104-00-0015), 두뇌 한국 21 프로젝트,
IT-SoC 프로젝트에 의해 지원되었다. 또한 서울대학교 컴퓨터 연구소는 본 연구에 필요한
기자재들을 지원해 주었다
A Scheduling Technique for Multiple Deep Learning Applications on Heterogeneous Processors
이종 프로세서 환경에서의 복수의 딥 러닝 어플리케이션 스케줄링은 기본적으로 NP-난해 (NP-Hard) 문제에 속하여 매우 큰 문제 공간을 가진다. 그래서 일반적으로 유전 알고리즘(GA, Genetic Algorithm)과 같은 메타 휴리스틱이 적용될 수 있지만 이는 수행 시간이 길어서 런타임에 적용하기 어렵다는 단점을 지닌다. 따라서 본 연구에서는 이러한 단점을 보완하면서 성능 또한 크게 떨어지지 않는 새로운 기법의 스케줄링 휴리스틱을 제안하였다. 제안하는 휴리스틱은 복수 응용 스케줄링의 스케줄 가능성 문제를 고려하지 못 하는 기존의 리스트 스케줄링 방식 휴리스틱들의 한계를 극복하여 ‘합성과 반복 개선’이라는 새로운 방식을 도입하였다. 그리하여 CPU, GPU, NPU로 구성되는 이종 프로세서 환경에서 여러 딥 러닝 네트워크들을 대상으로 하는 성능 비교 실험을 통해 제안하는 휴리스틱이 빠른 시간 내에 좋은 스케줄링을 생성함을 확인하였다.
The scheduling of multiple deep learning applications on heterogeneous processors is basically an NP-hard problem with a very large problem space. Meta-heuristics such as GAs (Genetic Algorithms) may be applied, but these have the disadvantage of having too long an execution time to be applied at run time. Therefore, this study proposes a new scheduling heuristic, which complements this shortcoming and does not significantly degrade scheduling performance. The proposed heuristic overcomes the limitations of traditional list scheduling techniques that fail to take into account the schedulability issue in the scheduling of multiple applications and introduces a new approach called ‘synthesis and iterative improvement’. It is confirmed through experiments with different deep learning networks on heterogeneous processors (including CPUs, GPUs, and NPUs) that the proposed heuristic produces good scheduling results that are sufficiently fast to apply at run time.N
BILI-Hardware/Software Partition Heuristic
이 논문에서는 Best Imaginary Level-Iterative(BILI) 분할 방법이라 부르는 새로운 하드웨어/소프트웨어 분할 알고리즘을 제안한다. 이 분할 알고리즘은 BIL 이질 다중 프로세서 스케줄링을 반복적으로 적용하는 방법이다. 이 분할 알고리즘은 여러 개의 하드웨어와 소프트웨어로 이루어진 시스템에 대해서 분할을 할 수 있을 뿐만 아니라, 여러 가지의 구현 가능성 중에서 적은 비용의 구현을 선택하는 문제까지 해결한다. 이 분할 알고리즘은 기존의 분할 알고리즘인 GCLP와 비교하여 약 15%의 비용 감소를 가지고, 항상 최적의 해를 찾는 정수 선형 프로그래밍과 비교하여 약 5%정도의 비용 증가를 가진다
