big.LITTLE

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

ARM big.LITTLE(빅리틀)은 ARM에서 개발된 이기종 컴퓨팅 아키텍처로 저전력 프로세서와 고전력, 고성능 프로세서가 한 프로세서에 함께 들어있는 것을 말한다. 대표적으로 '삼성 엑시노스 5 옥타'가 있다.

ARM big little 프로세서는 이기종 컴퓨팅 시스템 프로세서로 ARM사에서 개발하였다. 낮은 전력의 프로세서 코어들과 더욱 강한 프로세서 코어들이 연결되는 형태로 되어있다. 이 멀티 코어 프로세서의 목적은 동적 연산을 할 때 클럭 스케일링만을 사용하는 것 보다 더 낮은 전력을 사용하도록 조정하는데 있다. 2011년 10월 big.LITTLE 프로세서 Cortex-A7이 발표됐다, 이 프로세스는 Cortex-A15와 구조적으로 호환 될 수 있도록 설계되었다. 2012년 10월애 ARM은 Cortex-A53와 Cortex-A57(ARMv8) 코어들을 발표했다, 이 프로세서들 또한 각자가 빅리틀 칩 안에서 호환 가능하다.

클러스터 마이그레이션[편집]

big.LITTLE에는 다른 성능의 프로세서 코어들을 이어주기 위한 리눅스 커널에 포함되어 스케줄러의 종속되어있는 3가지 방법이 있다. 클러스터화 모델 접근법은 첫 그리고 가장 단순한 적용이다. 이 접근법일 때 OS 스케줄러는 두 프로세서 클러스터들 중 하나만 볼 수 있다. CPU의 부하가 특정 포인트에 다가갔을 때 시스템은 다른 클러스터로 전이된다. 모든 관련 데이터는 L2 캐시를 통하여 바로 이동 된다. 첫 번째 코어 클러스터는 꺼지고 다른 하나의 클러스터는 활성화 된다. 캐시 일관성 인터커넥트(Cache Coherent Interconnect, CCI)가 사용된다. 이 모델은 삼성 Exynos 5 (5410)에 구현되었다.

인-커널 스위처(CPU 마이그레이션)[편집]

인커널 스위처(In Kernel Switcher, IKS)를 통해 이루어지는 CPU 마이그레이션은 'Big' 코어와 'LITTLE' 코어의 쌍으로 이루어져 있는데, 한 칩 안에 가능한 많은 동일한 칩들로 구성되어 있다. 각 쌍들은 가상의 하나의 코어처럼 작동하고, 한 시점에 반드시 둘 중 하나의 코어만 작동한다. 'Big' 코어는 높은 요구 상황에서 작동하고, 'LITTLE' 코어는 낮은 요구 상황에서 작동한다.

가상 코어의 변화(High와 low의 사이 변화)가 요구될 때, 새로 사용되는 코어는 전력이 인가되고, 실행 상태(Running state)가 전이되며, 사용이 중지된 코어는 꺼진다. 그리고 새로운 코어 상에서 프로세싱이 지속된다. 스위칭은 cpufreq 프레임워크에 의해서 완료된다. 완벽한 big.LITTLE IKS의 구현은 리눅스 3.11이나 3.12쯤이 예상된다. big.LITTLE IKS는 클러스터 마이그레이션의 발전된 형태이고, 제일 큰 다른 점은 각 쌍들이 스케줄러에게 가시적이라는 점이다. 'big'과 'LITTLE'코어들의 비대칭(non-symmetric) 그룹화에는 더 많은 합의점들이 포함된다. 하나의 칩이 한 두개의 'big' 코어와 보다 많은 'LITTLE' 코어들을 가질 수 있다, 혹은 반대의 경우도 있다. 엔비디아가 Tegra 3 SoC에 저전력의 컴패니언 코어('companion core')라는 이것과 비슷한 것을 만들었다.

이기종 간 다중 처리 (전역 태스크 스케줄링)[편집]

big.LITTLE의  가장 강력한 사용 모델은 모든 코어들을 동시에 사용 가능한 이기종 간 다중 처리(heterogeneous multi-processing)이다. 이 모델에서는 높은 우선순위거나 높은 계산능력을 요하는 스레드들이 백그라운드 태스크(task)들 처럼 낮은 우선 순위나 낮은 계산 능력을 요하는 스레드들과 동시에 같은 빅 코어를 할당 받을 수 있고, 'LITTLE' 코어들을 통해서도 수행할 수 있다. 수 분기 내에 리눅스 커널에서 big.LITTLE의 상위 GTS 패치들에 완전 포함할 예정이다. 이 모델은 삼성 Exynos 5 Octa(5420)에 포함되었다.

스케줄링[편집]

쌍으로 된 처리 방식은 운영 체제가 이미 존재하는 DVFS(동적 전압 및 주파수 교환: dynamic voltage and frequency switching) 기능을 완전하게 지원하기위해 스위칭을 하는 것을 허용한다.

커널 안에 이미 존재하는 DVFS 지원(ex. 리눅스의 cpufreq)은 간단하게 주파수/전압(frequencies/voltages) 목록을 보거나 그 둘 사이가 보기 좋도록 교환(switch)될 것이다, 마치 이것이 존재하는 하드웨어에서 작동하는 듯이 말이다.

로엔드(low-end) 슬롯들은 'LITTLE' 코어에서 동작하고 하이엔드(high-end) 슬롯들은 'big' 코어에서 동작하게 된다. 그렇지 않으면, 아마도 모든 코어들은 각 프로세스/스레드가 실행되는 곳이 어딘지 결정할 수 있는 커널의 스케줄러에 노출될 것이다.

이것은 기본적으로 넌페어(non-paired) 방식이 요구되지만, 페어(paired) 코어들에서도 가능하다. 이것은 몇 가지 커널 스케줄러에 특별한 문제들을 야기한다. 적어도 현대의 상용화된 하드웨어들에는 SMP 시스템을 사용한 모든 코어들이 같은 문제를 가지고 있다고 추정할 수 있다.

글로벌 태스크 스케줄링의 이점[편집]

  • 코어 간 마이그레이션의 작업 부하를 유연하게 제어할 수 있다. 스케줄러가 태스크들을 코어들 사이에 직접적으로 이주(migrating)시킴으로써 커널의 부하를 줄이고 전력을 절약할 수 있다.
  • 스케줄러 내 구현 및 교환 결정이 IKS에 구현된 cpufreq 프레임워크에 구현된 것보다 빠르다.
  • 비대칭 SoCs(e.g. 2 Cortex-A15 코어들과 4 Cortex-A7 코어들)을 쉽게 지원하기 위한 능력을 제공한다.
  • 모든 코어들을 동시에 사용하기 위해 Soc는 IKS와 비교하여 향상된 최고의 성능을 제공한다.

구현 상황[편집]

SoC 제조 공정 빅 코어들 리틀 코어들 GPU 메모리 인터페이스 무선 네트워크 기술 사용 가능 일자 활용 디바이스
HiSilicon K3V3 28 nm 1.8 GHz 듀얼 코어 Cortex-A15 1.2 GHz 듀얼 코어 Cortex-A7 Mali-T658 H2 2013
삼성 엑시노스 5 옥타 (5410 모델)[1][2] 28 nm 1.6-1.8 GHz 쿼드 코어 Cortex-A15 1.2 GHz 쿼드 코어 Cortex-A7 PowerVR SGX544MP3 32비트 듀얼 채널 800 MHz LPDDR3 (12.8 GB/sec) Q2 2013 삼성 갤럭시 S4 (GT-I9500 / SHV-E300 / SCH-I959 / GT-I9502모델에 한함. 이외의 모델은 퀄컴사의 AP를 사용함.)
삼성 엑시노스 5 옥타 (5420 모델)[3] 28 nm 1.8-2.0 GHz 쿼드 코어 Cortex-A15 1.3 GHz 쿼드 코어 Cortex-A7 Mali-T628MP6 32비트 듀얼 채널 933 MHz LPDDR3e (14.9 GB/sec) Q4 2013 삼성 갤럭시 노트 3 [4]
Renesas Mobile MP6530[5] 28 nm 2 GHz 듀얼 코어 Cortex-A15 1 GHz 듀얼 코어 Cortex-A7 PowerVR SGX544 듀얼 채널 LPDDR3 LTE CAT4

참조[편집]

  1. Andrew Cunningham (10 January 2013). Samsung’s new eight-core Exynos 5 Octa SoC promises not to hog battery. Ars Technica. 2013년 1월 10일에 확인.
  2. James Trew (9 January 2013). Samsung announces eight-core Exynos 5 'Octa' chip at CES. Engadget. 2013년 1월 10일에 확인.
  3. 틀:Cite press
  4. Abhijeet M. (16 September 2013). Samsung Galaxy Note 3 is powered by Exynos 5420, has 2720MB of available RAM. SAMMOBILE. 2013년 9월 17일에 확인.
  5. {{{저자}}}, MP6530, Renesas Mobile, {{{발행년도}}}-{{{월}}}-{{{일}}}.

바깥 고리[편집]

최초 번역 출처 : 다크서클공돌이 / blog.naver.com/bmw_rad -> http://chiccoder.tistory.com/