
http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
오용수 고려대학교 공학대학원 2008 국내석사
최근 지속적으로 칩의 집적도를 증가시키는 것이 한계에 이르면서 하나의 프로세서 안에 여러 개의 프로세싱 코어를 집적한 멀티코어 프로세서가 출현하였다. 멀티코어 프로세서의 여러 장점 때문에 기존의 싱글 코어 프로세서를 구비한 컴퓨터 시스템은 멀티코어 프로세서를 이용하는 것으로 빠르게 변화되고 있으며, 앞으로는 특정 작업을 전문적으로 처리하는 특수한 코어를 갖는 멀티코어 프로세서로 발전할 것이라 전망된다. 이러한 상황에서 현재 기술의 발전 현황을 파악하고 앞으로의 연구개발 방향을 제시하고자 미국, 일본, 유럽, 한국의 멀티코어 프로세서 및 멀티 프로세서에 관한 공개 특허 239건을 분석하였다. 특허 출원건수로서 판단한다면 멀티코어 프로세서의 기술분야에서는 미국이 전 세계에서 압도적으로 뛰어난 경쟁력을 가지고 있고, 특히 최첨단 기술력을 가지고 있는 소수의 글로벌 기업, 예를 들어 Intel, HP, IBM 등에 특허출원이 편중되어 있는 것으로 나타났다. 이러한 멀티코어 프로세서에 관한 특허출원은 현재 지속적으로 증가되고 있으며, 발전기에 있는 것으로 분석되었다. 기술 분류별 분석 중, 전력관리 기술 분야에서는 각 코어 또는 프로세서마다 개별적인 전원변환부나 전압 레귤레이터를 구비하여 독립적으로 전압을 조절하는 기본적인 기술에 관한 특허들이 출원되었고, 각 코어/프로세서를 모드에 따라 온오프하거나 다양한 전원공급 모드를 제공하는 기술이 특허로서 많이 출원되었다. 특히, 전력관리 기술이 발전함에 따라 실행 코어나 프로세서의 다양한 상태에 근거하여 적응적으로 전력관리를 행하는 세부적인 기술들이 특허로서 많이 출원된 것으로 분석되었다. 더욱이, 전력관리 기술은 에너지 소비의 효율성에 따라 작업을 각 코어/프로세서에 분배하거나 이동시키는 것과 관련된 특허들로 발전하는 것으로 분석되었다. 이러한 멀티코어 프로세서에서의 전력관리 기술은 특정 작업을 위한 전문적인 코어를 갖는 프로세서에서 개별 코어에 적응적으로 전력을 관리하는 방향으로 발전될 것이라고 예측된다. Currently multicore processor to include multiple processing cores in a single processor die has appeared, since it is difficult to scale up single-core processor performance due to power density. A single-core processor employed in a computer system is being replaced rapidly by the multicores due to various advantages of the multicore processor. This paper analyzed 239 published patents of the United States, Japan, European Union and Korea relating to multicores and multi processors in order to understand current technological trends and present future developments. The analysis showed that the United States is the most competitive in the field of multicores and a few multi-national companies such as Intel, HP, IBM occupied most of total patent applications. The number of patent applications relating to multicore systems is growing continuously and this implies that the technology is at a growth stage. In the field of power management technology, basic patents relating to independent power control which employs voltage regulators in each processing core or processor were filed. Also, there were numerous patents that provides multi-mode power management units for each processing core. Furthermore, patents that describes in detail power management scheme adaptive to specific cores or processors hold the greater part. Power management technology seems to be extended to patents that tasks are transferred or distributed to separate cores or processors depending on energy efficiency. In conclusion, power management technology of multicores is expected to be developed into adaptive control methods to specialized processing cores.
Multi-core processors suggested for solving processor's heating and power consumption problems are getting widely used even in general PCs and mobile devices beyond high-end server systems. However, modern operating systems are yet to utilize multi-core processors in a very efficient way with respect to system throughput and resource utilization. To cope with this issue, we suggest a dynamic scheduling of I/O processes for multi-core system which decides an optimal processor affinity based on the processor cache layout, I/O intensiveness and processor loads. In this thesis, we especially focus on the networking I/O but the basic idea can be easily extended for disk I/O as well. In case of networking I/O, its performance can be optimized by placing networking processes on a core that runs the network protocol stacks due to cache effect. The recent releases of Linux kernel has a similar approach, but it does not consider ambiguous system states caused by competing between networking processes on the same core and using multiple network interfaces. We have measured the performance of suggested scheduling scheme on both SMP and NUMA systems. The experimental results present that the dynamic scheduling of networking processes implemented in the Linux kernel can improve the effectiveness of processor utilization more than 50%. Also it has shown that the scheduling scheme can improve network throughput more than 20% with less processor resources. 프로세서의 발열과 전력소모 문제를 해결하기 위하여 등장한 멀티코어 시스템은 이제 그 사용영역이 고성능 서버를 넘어 일반 PC 및 모바일 플랫폼 영역까지 넘어서고 있으며 서버 시스템의 경우 Intel Clovertown 프로세서 계열의 SMP 시스템 및 AMD Opteron 프로세서 계열의 NUMA와 같은 하드웨어 시스템 구조로 나오고 있다. 이러한 멀티코어는 하드웨어 및 소프트웨어에 많은 발전을 이룰 기회를 제공하여 주지만 아직까지 기존 운영체제는 멀티코어의 구조적 특성을 반영한 효율적인 사용 환경을 제공하여 주지 못하고 있으며 멀티코어 프로세서를 기존의 다중 프로세서 환경과 같이 취급하고 있다. 이러한 문제로 인하여 멀티코어 시스템의 성능이 효과적으로 사용되어지지 못하고 있으므로 멀티코어 프로세서의 특성을 고려한 운영체제의 지원이 필요하다. 특히 멀티코어를 지원하는 운영체제의 관점에서 네트워크의 효율적인 성능은 운영체제의 중요한 관리의 대상이 되어야 한다. 네트워크의 경우 네트워크 데이터가 처리되는 코어를 프로세스에게 효과적으로 할당함으로서 캐쉬 효과를 극대화 시키는 방법이 있을 수 있다. 최신의 리눅스 커널에서도 이러한 접근 방식을 취하고 있지만 일반적으로 다수개의 통신 프로세스가 생기거나 다수개의 네트워크 인터페이스가 설치된 환경에서 효율적으로 운영하기 위한 방법까지 고려되어 있지는 않다. 본 논문에서는 통신을 수행하는 프로세스의 통신 집중도에 초점을 맞추어 각 통신 프로세스의 네트워크 연결 단위로 멀티코어 구조를 반영하여 가장 캐쉬 효과가 효율적인 프로세스 스케줄링 방법을 제안한다. 제안되는 통신 프로세스의 동적 스케줄링 방법은 시스템의 캐쉬 구조와 인터럽트 및 프로세스가 실행되는 코어를 조사하여 시스템 구조에 맞게 통신 프로세스의 실행 코어를 결정하고 통신 집중도에 따른 우선 스케줄링 대상을 선택함으로서 캐쉬 효과를 극대화 하여 통신 성능의 최적화를 이룬다. 구현된 통신 프로세스의 동적 스케줄링은 Intel Clovertown SMP 시스템과 AMD Opteron NUMA 시스템에서 효용성을 측정하였다. 측정 결과로서 통신 프로세스의 동적 스케줄링이 각각의 시스템 환경에서 50% 이상의 프로세서 사용률 절감 효과와 20% 이상의 네트워크 사용량 증가를 이끌어 냄을 확인 할 수 있다.
3차원 멀티코어 프로세서의 온도 효율성 증대를 위한 유닛 배치 기법 연구
멀티코어 프로세서를 설계하는 데 있어서 구성요소들을 연결하는 와이어 길이의 증가로 인한 지연 현상은 성능향상에 큰 걸림돌이 되고 있다. 와이어 지연은 새로운 디자인 기술에서 반드시 고려되어야 한다. 멀티코어 프로세서의 와이어 지연 문제를 해결하기 위하여 최근에는 3차원 멀티코어 프로세서 설계 기술이 많은 주목을 받고 있다. 3차원 멀티코어 프로세서 설계 기술은 코어들을 수직으로 적층함으로써, 물리적인 연결망 길이를 크게 감소시켜 성능향상과 함께 연결망에서 소비되는 전력을 줄일 수 있다. 하지만 많은 전력을 소모하는 회로를 수직으로 적층함으로써 전력밀도가 증가하여 프로세서 내부의 온도가 크게 상승하는 문제를 가지고 있다. 이러한 이유 때문에 온도 문제에 대한 해결책이 없다면 3차원 멀티코어 구조는 실용적일 수 없다. 동적 온도 관리 기법과 같은 구조적 수준의 온도 인지 방법은 프로세서의 성능을 감소시켜 최고 온도를 감소시킨다. 반면에, 온도 인지 기반의 플로어플랜 기법은 성능 저하를 최소화하면서 최고 온도를 감소시킨다. 본 논문에서는 3차원 멀티코어 프로세서에서의 발열문제를 해결할 수 있는 플로어플랜 기법을 제안하기 위해 칩 내부에 적층되는 코어의 수직적 배치 형태를 다양하게 변화시키면서 그에 따른 온도변화를 살펴보았다. 또한, 3차원 멀티코어 프로세서의 열 문제 해결을 위해 플로어플랜 기법을 제안하였다. 먼저, Integer Register와 Load Store Queue의 온도 감소를 위해 2개의 플로어플랜 기법을 제안한다. 그리고 2개의 플로어플랜 기법을 혼합한 새로운 플로어플랜 기법을 제안한다.
멀티코어 임베디드 시스템을 이용한 저전력 멀티미디어 데이터 보호에 관한 연구
최근, 반도체 집적도의 물리적인 한계와 클록 속도를 높임으로써 발생하는 발열 문제를 해결하기 위한 대안으로 멀티코어 기술이 등장하였고, 전력대비 성능이 우수한 특성으로 임베디드 시장에서 보편화되고 있다. 그러나, 멀티코어 시스템에서는 단일코어 시스템에서 작성된 프로그램의 성능을 보장받을 수 없다. 즉, 멀티코어 시스템에서는 복수개의 코어로 연산량을 고르게 분산시키는 병렬 처리를 적용해야 프로그램의 성능을 보장받을 수 있다. 본 연구에서는 디지털 비디오 압축 표준으로써 비교적 다양한 산업 분야에서 응용되는 MPEG-2 인코더를 효율적인 병렬처리를 통해서 속도 및 에너지 효율적으로 멀티코어 시스템 환경에 적용하는 방법을 제안한다. 우선, 정적 할당(static assignment) 방식으로 부하분산(load balancing)하여 병렬처리를 적용한 기존의 ALPBench의 벤치마크를 분석하여 부하분산의 정확도가 낮은 부분을 찾는다. 또한, 분석한 결과를 기반으로 부하분산의 정확도가 낮은 부분에 부분적으로 동적 할당(dynamic assignment) 방식을 적용하여 프로그램의 성능을 개선한다. 추가적으로 본 논문에서는 기존의 단일코어에서 멀티미디어 데이터를 안전하게 보호하는 방법을 멀티코어에 적합하도록 개선하였다. 대용량의 디지털 멀티미디어 콘텐츠의 보안 문제를 해결하기 위해서 성능 및 보안성을 동시에 고려한 기존의 선택적 암호화(selective encryption) 방법이 있다. 특히, 선택적 암호화 방법 중 SECMPEG는 MPEG의 인코더와 블록 암호화 알고리즘이 밀결합(tightly-coupled)된 형태로 수행된다. 따라서, 본 연구에서는 단일코어 시스템 환경에서 적용된 기존 SECMPEG(보안 레벨 3)을 정확한 부하분산을 통해서 멀티코어 시스템 환경에 적합하게 적용하는 방법을 제안한다. 제안한 방법의 타당성을 확인하기 위해, 구현 및 실험을 통하여 기존의 방법과 제안한 방법을 비교 및 분석하여 검증하였다.
비대칭 멀티코어 아키텍처용 공정성 보장 및 에너지 효율적인 스케줄링
최근 우수한 사용자 체감과 질적으로 향상된 수준의 서비스를 위하여 스마트폰, 태블릿과 같은 임베디드 시스템에서 비대칭 멀티코어 아키텍처의 사용이 크게 증가되고 있다. 이는, 이러한 아키텍처가 임베디드 시스템의 제한된 면적과 소비전력 환경하에서 주는 하드웨어적 이점 때문이다. 임베디드 시스템에 사용되는 비대칭 멀티코어 아키텍처는 서로 다른 특성을 가지는 두 가지 타입의 코어들로 이루어진다. 첫 번째 타입의 코어는 높은 성능과 낮은 에너지 효율성을 특징으로 하고, 두 번째 타입의 코어는 낮은 성능 대신 높은 에너지 효율성을 특징으로 한다. 비대칭 멀티코어 아키텍처를 운용하는 방법에는, 각 코어들을 사용하는 방법에 따라서 두 가지 종류가 있다. (1) 한 개의 높은 성능 코어와 한 개의 에너지 효율적인 코어를 하나의 pair로 형성한 후, 그 중 한 개의 코어만 동작하게 하는 코어 타입 선택 방식과 (2) 시스템의 모든 코어를 동시에 사용할 수 있는 전체 코어 사용 방식으로 운용된다. Linux kernel은 이러한 비대칭 멀티코어 아키텍처에 가장 널리 쓰이는 운영체제이며, CFS(completely fair scheduler)를 사용하여 태스크들을 스케줄링 한다. 또한, CFS는 비대칭 멀티코어 아키텍처의 코어 타입 선택 방식과 전체 코어 사용 방식에 맞는 스케줄링 프레임웍을 제공하고 있다. 하지만 현재 제공되고 있는 두 가지 코어 사용 방식을 위한 스케줄링 프레임웍에는 다음과 같은 문제점이 있다. 첫째, 코어 타입 선택 방식에서의 스케줄링 프레임웍은 비대칭 멀티코어간 부하분산 시 태스크의 가중치(weight)만 고려하여 부하분산을 수행한다. 이로 인하여 필요이상으로 코어의 동작 주파수를 상승시키거나, 에너지 효율적인 코어에서 수행해도 충분한 태스크가 고성능 코어에서 운용되어 소비전력을 크게 증가시키는 문제점을 야기시킨다. 둘째, Linux kernel의 CFS는 virtual runtime을 통하여, 태스크들에게 가중치에 비례하는 CPU 사용 시간을 부여한다. 이때, 태스크의 virtual runtime 산정 시, 현재 태스크를 수행하는 코어의 상태(코어 타입 혹은 동작 주파수 등)를 고려하지 않는다. 이로 인하여 공정한 CPU 사용 시간을 태스크들에게 부여하지 못한다. 또한, CFS는 태스크들의 virtual runtime을 동일하게 만들려고 노력한다. 이는 태스크들의 상대적인 수행 정도를 비슷하게 유지시키기 위해서이다. 하지만 이는 개별 코어에서는 유지되나, 시스템 전체적으로 비슷하게 유지 되지 않는다. 이는 시간이 지남에 따라서 태스크간 virtual runtime 차이를 증가시켜, 태스크간 상대적인 수행 정도 차이가 더욱 더 커지게 하는 문제점을 발생시킨다. 본 학위논문은 비대칭 멀티코어 아키텍처가 지원하는 코어 타입 선택 방식과 전체 코어 사용 방식에 최적화된 스케줄링 기법을 제안한다. 첫째, 본 연구는 코어 타입 선택 방식의 저전력 운용 목적에 맞는 스케줄링 기법을 제안한다. 이를 위하여 먼저, Linux kernel이 비대칭 멀티코어 아키텍처를 위하여 제공하는 DVFS(Dynamic Voltage and Frequency Scaling) 정책을 정확히 분석한다. 분석된 결과를 토대로 정확한 동작을 모델링하고, 이를 제안하는 스케줄링 기법에 반영한다. 이 기법은 부하분산 시 태스크의 가중치뿐만 아니라, 코어의 사용률을 고려하여 부하를 분산시킨다. 이를 통하여 성능 저하를 최소화 하면서 주파수 상승을 억제하고, 동시에 고성능 코어를 최대한 적게 사용하는 저전력, 에너지 효율적인 스케줄링을 수행한다. 둘째, 본 연구는 전체 코어 사용 방식에 적합한 공정할당 스케줄링 방식을 제안한다. 이는 코어의 상태를 반영한 스케일된 CPU 시간을 구한다. 이를 CFS의 virtual runtime에 반영하고, SVR (scaled virtual runtime)로 확장한다. 또한 각각의 고성능 코어로 이루어진 클러스터와 에너지 효율적인 코어로 이루어진 클러스터 내부에서, 모든 태스크들의 SVR 차이를 일정한 상수 크기로 제한시킨다. 이를 통하여 클러스터 내부의 모든 태스크들의 상대적 진척 정도를 비슷하게 유지시킨다. 결과적으로, 시스템 전체적인 공정할당 스케줄링을 수행하도록 한다. 본 연구에서 제안하는 두 가지 스케줄링 기법들의 효용성을 입증하기 위해서, 실제 상용으로 출시된 비대칭 멀티코어 아키텍처 기반 제품에 이들을 구현하였다. ARM사의 빅리틀 아키텍처를 대상 시스템으로 하였으며, 이는 임베디드 시스템에서 가장 대표적으로 사용되는 비대칭 멀티코어 아키텍처이다. 저전력 스케줄링 기법은 코어 타입 선택 방식이 지원되는 Galaxy S4 Android 스마트폰에 구현되었다. CPU-intensive한 부하를 사용하여 실험한 결과, 기존 대비 최대 11.35%의 에너지 소비가 감소하였다. 또한 Android 응용프로그램을 이용하여 실험 시, 기존 대비 동일한 QoS를 유지하면서 7.35% 에너지 소비가 감소하였다. 이러한 실험 결과는 비대칭 멀티코어에서 제안된 스케줄링 기법이 에너지 효율적임을 증명한다. 공정할당 스케줄링 기법은, 전체 코어 사용 방식이 지원되는 ARM사의 Versatile Express TC2 board에 구현하였다. 실험 결과, 클러스터 내부의 태스크간 SVR 차이가 상수 값 이내로 제한됨을 확인하였다. 또한 SVR 차이를 작게 만드는 것이 공정할당 스케줄링에 어떠한 영향을 실질적으로 미치는지 알기 위해서, 동일한 태스크를 여러 개 생성한 후 그들의 완료시간 표준 편차를 측정하였다. 실험 결과, 기존 대비 완료시간 표준편차가 56% 줄어 들었다. 이러한 실험 결과는 본 논문에서 제안된 스케줄링 기법이 태스크들에게 더 공정한 CPU 시간을 부여함을 직관적으로 알 수 있게 한다.
동적 주파수 조절 기법을 활용한 3차원 구조 멀티코어 프로세서의 온도 변화 분석 연구
집적회로 공정기술이 급속도로 발달하면서 멀티코어 프로세서를 설계하는데 있어서 내부 연결망은 성능 향상을 방해하는 주요 원인이 되고 있다. 멀티코어 프로세서의 내부 연결망에서 발생하는 병목 현상을 해결하기 위한 방안으로 최근에는 2차원 평면 구조에서 3차원 적층 구조로 설계 방식을 변경하는 기법이 주목을 받고 있다. 3차원 구조는 다른 층에 집적된 코어들을 TSV를 통해 연결함으로써 칩 내부의 와이어 길이를 크게 감소시켜 성능 향상과 전력 소모 감소의 큰 이점을 가져온다. 하지만, 활성화된 코어들이 적층됨으로써 단위 면적당 전력 소모가 급격히 증가하여 높은 온도를 발생시켜 칩의 신뢰성을 크게 저하시키는 문제를 발생시킨다. 따라서 효율적인 3차원 구조 멀티코어 프로세서를 설계하기 위해서는 내부의 온도 문제를 해결할 수 있는 설계 기법이 우선적으로 고려되어야 한다. 본 논문에서는 실험을 통해 다양한 측면에서 3차원 구조 멀티코어 프로세서 내부의 온도 분포를 분석하고자 3차원 구조 멀티코어 프로세서에서 수행되는 프로그램의 특성, 냉각 효과, 동적 주파수 조절 기법 적용에 따른 각 코어의 온도 분포를 측정한다. 분석 결과, 3차원 구조 멀티코어 프로세서의 온도를 효과적으로 관리하기 위해서는 더 높은 냉각 효과를 갖는 코어를 상대적으로 더 높은 동작 주파수로 작동 시켜야 하고 온도에 영향을 많이 주는 작업 또한 더 높은 냉각 효과를 갖는 코어에 할당해야 함을 알 수 있다. 본 논문에서는 상세하게 분석된 3차원 구조 멀티코어 프로세서의 온도 분포 정보를 기반으로 적응적 동적 주파수 조절 기법을 활용한 3차원 구조 멀티코어 프로세서의 온도 감소 기법을 제안하여 칩의 신뢰성을 향상시키고자 한다. As the process technology scales down, an interconnection has became a major performance constraint for multi-core processors. Recently, in order to mitigate the performance bottleneck of the interconnection for multi-core processors, a 3D integration technique has drawn quite attention. The 3D integrated multi-core processor has advantage for reducing global wire length, resulting in a performance improvement. However, it causes serious thermal problems due to increased power density. For this reason, to design efficient 3D multi-core processors, thermal-aware design techniques should be considered. In this paper, the temperature on the 3D multi-core processors in function unit level through various experiments is analyzed. Also, I will present temperature characteristics by varying application features, cooling characteristics, and frequency levels on 3D multi-core processors. According to our experimental results, following two rules should be obeyed for thermal-aware 3D processor design. First, to optimize the thermal profile of cores, the core with higher cooling efficiency should be clocked at a higher frequency. Second, to lower the temperature of cores, a workload with higher thermal impact should be assigned to the core with higher cooling efficiency.
배치 기법에 따른 3차원 멀티코어 프로세서의 온도와 성능 분석 및 GPU 기반의 고성능 마이크로프로세서 설계 방안
공정기술 발달로 인해 칩 내부 집적도가 크게 증가하면서 내부 연결 망이 멀티코어 프로세서의 성능 향상을 제약하는 주된 원인이 되고 있다. 내부 연결 망에서의 지연시간으로 인한 프로세서 성능 저하 문제를 해결하기 위한 방안 중 하나로 3차원 적 층 구조 설계 기법이 최신 멀티코어 프로세서를 설계하는데 있어서 큰 주목을 받고 있다. 3차원 적 층 구조 멀티코어 프로세서는 코어들이 수직으로 쌓이고 각기 다른 층의 코어들은 TSV를 통해 상호 연결되는 구성으로 설계된다. 2차원 구조 멀티코어 프로세서에 비해 3차원 적 층 구조 멀티코어 프로세서는 내부 연결 망의 길이를 감소시킴으로 인해 성능 향상과 전력소모 감소라는 장점을 가진다. 하지만, 이러한 장점에도 불구하고 3차원 적 층 구조 설계 기술은 증가된 전력 밀도로 인해 발생하는 프로세서 내부 온도 상승에 대한 적절한 해결책이 마련되지 않는다면 실제로는 멀티코어 프로세서 설계에 적용되기 어렵다는 한계를 지니고 있다. 본 논문에서는 3차원 멀티코어 프로세서를 설계하는데 있어서 온도 상승 문제를 해결하기 위한 방안 중 하나인 플로어플랜 기법을 다양하게 적용해 보고, 기법 적용에 따른 프로세서의 성능, 전력효율성, 온도에 대한 상세한 분석 결과를 알아보고자 한다. 뿐만 아니라, 본 논문에서는 시장성과 기술 경쟁력 등을 고려하여, 강력한 연산 능력을 가진 GPU를 기반으로 하는 고성능 마이크로프로세서를 설계하는 방안 또한 더불어 연구하고자 한다. 실험 결과에 따르면, 본 논문에서 제안하는 온도를 고려한 3가지 플로어플랜 기법들은 3차원 멀티코어 프로세서의 온도 상승 문제를 효과적으로 해결함과 동시에, 플로어플랜 변경으로 데이터 패스가 바뀌면서 성능이 저하될 것이라는 당초 예상과는 달리, 온도 하락으로 인해 동적 온도 제어 기법의 적용 시간이 줄어들면서 성능 또한 향상시킬 수 있음을 보여준다. 이와 함께, 온도 하락과 실행 시간 감소로 인해 시스템에서의 전력 소모 또한 줄일 수 있을 것으로 기대된다.
멀티코어 실시간 응용을 지원하는 HAL(Hardware Abstraction Layer) 설계 및 구현
백승은 서울시립대학교 일반대학원 2024 국내석사
산업용 제어 시스템의 제어 성능향상은 소프트웨어 및 하드웨어적으로 많은 연구를 통해 활발히 진행되고 있으며, 발전한 하드웨어 기술 중에서 도 멀티코어 프로세서를 사용하는 연구가 큰 관심을 받고 있다. 일반적으 로 제어 시스템과 같은 경성 실시간 시스템의 멀티코어 응용 지원은 구현 의 복잡함과 신뢰성 때문에 이를 지원하는 상용 임베디드 실시간 운영체 제를 플랫폼으로 연구 및 개발되고 있다. 하지만, 접근성이 쉽고 개발이 용이한 리눅스 기반 실시간 운영체제에서는 멀티코어 응용을 지원하는 프 레임워크가 부족하다는 문제점이 있다. 이러한 문제를 해결하기 위해, 본 연구에서는 HAL (Hardware Abstraction Layer) 프레임워크의 멀티코어 응용 지원 확장 개발을 제안 한다. HAL은 싱글코어 실시간 스케줄링을 지원하고 다양한 리눅스 기반 실시간 운영체제를 지원하며 실시간 시스템의 개발에 유용한 프레임워크 이다. 본 연구를 통해 확장 개발된 HAL은 멀티코어 응용의 지원을 위한 확장 문법과 HAL 컴포넌트, 제어 로직 지원을 위한 전역 그래프 자료구 조, 그리고 멀티코어 프로세스 제어 로직을 포함한다. 개발된 HAL 확장의 평가를 위해 실제 모션 제어기의 필드 환경을 모 델링하여 더미 함수를 생성하고 병렬화 동작에 대한 실험을 진행하였다. 확장된 HAL을 적용하였을 때, 전체 실행시간의 69.42%가 병렬화 가능한 실시간 태스크의 실험 환경에서 기존 HAL 대비 최대 41.59%의 시스템 응답시간 감소를 보이며 멀티코어 응용을 수행함을 관찰할 수 있었다. Improvement of control performance of industrial control systems is being actively researched in both software and hardware, and among the advanced hardware technologies, research using multi-core processors has attracted great attention. In general, multi-core application support for hard real-time systems such as control systems has been researched and developed using commercial embedded real-time operating systems as platforms due to the complexity and reliability of implementation. However, Linux based real-time operating systems, which are easily accessible and easy to develop, suffer from a lack of frameworks to support multi-core applications. To solve this problem, this study proposes the development of a multi-core application support extension of the Hardware Abstraction Layer (HAL) framework. HAL supports single-core real-time scheduling, supports various Linux based real-time operating systems, and is a useful framework for the development of real-time systems. The HAL extension developed in this study includes an extension grammar and HAL components for supporting multi-core applications, a global graph data structure for supporting control logic, and multi-core process control logic. To evaluate the developed HAL extension, we modeled the field environment of a real motion controller, generated dummy functions, and conducted experiments on parallelization behavior. It can be observed that 69.42% of the total execution time of the extended HAL performs multi-core applications with a system response time reduction of up to 41.59% compared to the conventional HAL in the experimental environment of real-time parallelizable tasks.
멀티코어 환경에서 멀티미디어 데이터 보호 방법에 대한 연구
빠른 기술 발전과 대중화로 여러 분야에 응용되고 있는 멀티미디어 분야에서는 개인의 정보를 내포하고 있는 데이터들이 다루어지기 때문에 정보보호 기법을 통해 보호해야 할 필요가 있다. 특히, 멀티미디어 데이터는 많은 경우가 네트워크를 통해 전송되기 때문에 공격자에 의한 훼손을 방지하는 것도 중요하다. 즉, 멀티미디어 데이터는 데이터 자체의 정보를 보호하여 기밀성(Confidentiality)을 제공하는 것과 데이터의 위변조를 방지하여 무결성(Integrity)을 보장하는 것이 필요하다. 기존의 멀티미디어 데이터를 보호하기 위한 연구들은 무결성을 보장하기 위해 워터마크(Watermark)를 주로 이용하였다. 그러나 워터마크를 이용한 무결성 보장 방법은 멀티미디어 데이터의 기밀성을 제공해 주지 못하기 때문에 다시 암호화를 통해 보호해야 하는 번거로움이 있다. 또한, 대용량의 멀티미디어 데이터 압축/복원을 실시간으로 처리하기 위해 멀티코어 환경을 고려하는 병렬처리가 많은 반면, 보호를 위한 방식은 순차처리의 암호화 방식을 이용한다. 그러나 멀티미디어 데이터 보호는 실시간 처리에서 오버헤드를 발생하기 때문에 멀티코어 환경을 고려하여 효과적으로 병렬처리 하여 성능을 개선하는 것이 중요하다. 따라서 본 논문에서는 멀티미디어를 보호하는 방법 중에서도 대용량의 데이터에 적합한 부분 암호화 방식을 이용하여 기밀성과 무결성을 동시에 보장할 수 있도록 AES-CCM을 이용한 방법을 제안한다. 또한 멀티코어 환경을 고려하여 AES-CCM을 병렬처리 함으로써 효과적인 정보보호가 가능하도록 하는 방법을 제안한다. 마지막으로 멀티코어 환경에서 각각의 실험을 통하여 제안한 방법이 멀티코어 환경에서 얼마나 효율적인가를 확인한다.
에너지 효율적인 멀티코어 임베디드 시스템을 위한 부하 불균형 스케줄링 방법
최영진 과학기술연합대학원대학교 2014 국내석사
Recently, multi-core processors, which have advantages in high performance and low power consumption with low cost, are selected due to a range of requirements in the embedded market. In the multi-core system, Operating System (OS)-level load balancing or load unbalancing techniques have been researched in order to achieve high performance and low power consumption. The load balancing technique is to distribute tasks fairly onto all the cores. However, load balancing can lead to excessive power consumption by utilizing all the cores. For this reason, the load balancing techniques are not suitable for embedded systems due to high power consumption. Previously proposed load unbalancing techniques assign tasks to a specific core by maximum threshold of utilization. If the core utilization reaches the threshold, the remaining tasks will be assigned to another core using the maximum threshold. However, the techniques shows ineffective energy consumption since a core runs at maximum clock speed when tasks are assigned to the core by the maximum threshold. To resolve the power inefficiency of these techniques above, we proposed a load unbalancing scheduling method for energy-efficient multi-core embedded systems considering DVFS (Dynamic Voltage/Frequency Scaling) power consumption characteristics and task characteristics. The purpose of the proposed method is to effectively utilize energy without much effect in performance. Also, it is a new kind of scheduler which combines load balancing and load unbalancing technique. In this paper, we conduct experiments on energy consumption and performance using the previous load balancing and unbalancing techniques and the proposed technique. In our experiment, the proposed technique uses 31.9 ∼ 57.1 percent less energy than previous algorithms in the case of using a task set consisting of only periodic tasks. Also, when compared to load unbalancing techniques which have the shortest mean waiting time of aperiodic tasks, the mean waiting time of aperiodic tasks of the proposed technique is the same as that of load unbalancing techniques when task workloads are not heavy when using a task set consisting of both periodic and aperiodic tasks. On the other hand, the mean waiting time of aperiodic tasks of the proposed technique increases three times on average when task workloads are heavy. However, the mean waiting time of aperiodic tasks of the proposed technique rapidly decreases as the core number increases. In addition, the proposed technique reduced energy consumption from 4.9 percent to 60.2 percent when compared to other algorithms. As a result, the proposed technique shows low energy consumption without much decline in the performance when workloads in the multi-core system are relatively light. The proposed technique in this paper is adequate for energy-efficient multi-core embedded systems. 최근 임베디드 시장에서 다양한 요구사항으로 인해 낮은 비용으로 성능과 저전력에 장점이 있는 멀티코어 프로세서가 채택되고 있다. 멀티코어 시스템에서 높은 성능과 낮은 전력 소모를 달성하기 위해서 운영체제 레벨에서 부하 균형 또는 불균형 기법들이 연구되었다. 부하 균형 기법은 태스크들을 모든 코어에 균등하게 할당을 한다. 그러나 모든 코어를 사용해야 하기 때문에 비효율적인 전력소모로 이어지고 임베디드 시스템에 적합하지 않다. 기존에 제안된 부하 불균형 기법들은 태스크들을 특정 코어에 이용률의 임계값까지 할당하고 그 임계값에 도달하면 나머지 태스크를 다른 코어에 이용률의 임계값까지 할당한다. 그러나 특정 코어에 최대 임계값까지 태스크가 할당이 되면 그 코어는 최대 주파수로 동작해야 되기 때문에 비효율적인 에너지 소모를 보인다. 위와 같은 문제를 해결하기 위해서 본 논문에서는 DVFS(Dynamic Voltage/Frequency Scaling)의 전압/주파수 단계별 전력소모 특성과 태스크 특성을 고려한 에너지 효율적인 멀티코어 임베디드 시스템을 위한 부하 불균형 스케줄러를 제안한다. 이 기술은 성능저하가 크지 않으면서 효율적인 에너지 소모를 목표로 한다. 또한 부하 균형 기법과 기존의 부하 불균형 기법을 혼합한 새로운 형태의 스케줄러이다. 본 논문에서는 기존 알고리즘인 부하 균형 기법 및 부하 불균형 기법과 제안 기술을 비교 실험을 하였으며, 에너지 소모와 성능에 대해서 비교분석을 하였다. 주기 태스크만 존재하는 경우에는 제안 기술을 기존 알고리즘들과 비교했을 때, 제안 기술이 31.9 ∼ 57.1% 정도 에너지를 절감하였다. 또한 주기와 비주기 태스크 공존하는 경우에는 제안 기술을 비주기 태스크의 평균 대기시간이 가장 짧은 부하 불균형 기법과 비교를 해보면, 시스템에 부하가 작을 때는 비주기 태스크의 평균 대기 시간이 차이가 없었지만 부하가 커졌을 때 평균 대기시간이 다소 길어졌다. 평균적으로 약 3배 정도 비주기 태스크의 평균 대기시간이 증가했다. 그러나 코어 수가 증가함에 따라서 비주기 태스크의 평균 대기시간이 급격하게 감소하였다. 그리고 에너지 소모 측면에서 기존 알고리즘인 부하 균형 기법과 부하 불균형 기법과 비교했을 때, 제안 기술이 4.9 ∼ 60.2% 에너지를 절감하였다. 결과적으로 멀티코어 시스템 환경에서 성능저하가 크지 않으면서 저전력 소모를 보이는 장점이 있다. 본 논문에서 제안하는 기술은 저전력 소모가 중요한 멀티코어 임베디드 시스템에 적합한 알고리즘임을 확인 하였다.