Seminar/KELF 공개 세미나

멀티코어와 리눅스 스케줄러 - 정영준

MB Brad KWON 2012. 11. 10. 19:30


1.multicore_scheduler.pdf



멀티코어 무어의 법칙

 

ARM – 옥타코어 2015~16

GPGPU롤 활용하려고 한다.

 

클럭 수를 낮추고 분산해서 돌리면 전력면에서 효율적인 효과가 있다.

서버 시장에서도 전력 소모량이 너무 많아서 ARM 서버의 시대가 될거라고 얘기한다.

기존의 서버보다 ARM서버를 사용하게 되면 1/8수준으로 줄일 수 있다.

64비트 우분투도 올려서 ARM 서버를 사용하려고 하고 있다.

 

 

멀티코어의 연구흐름

싱글코어의 시대 ->

멀티코어(호모 지니어스)의 시대 ->

Heterogeneous System

 

 

멀티코어 기술의 한계

새로운 하드웨어가 나와도 소프트웨어 수정없는 성능 개선이 어렵다.

 

주요 연구

전력소모 장벽문제

CPU 3GHz를 넘어서고 전력 소모가 더욱 많아진다.

 

메모리 장벽문제

메모리 처리율 성장속도(매년 10%)CPU 처리율 성장속도(매년 55%)의 차이가 크다.

효율적인 캐시 사용이 중요

 

프로그래밍 장벽문제

멀티코어를 활용한 소프트웨어 개발은 매우 복잡

멀티코어용 프로그래밍 모델의 중요성

 

확장성 문제

멀티코어로 인한 병목현상 : 상호배제와 락킹

                          코어 간 공유캐시 접근 시, 높은 비용

 

Fine-Grained Locking 늘리는 방향

상호배제 락킹 감소

공유 자료구조 줄이는 방향

코어 친화적 스케줄링(Affinity 고려)

효율적인 캐시 활용방향

 

 

 

*암달의 법칙 : 병렬 프로세싱으로 얻어지는 퍼포먼스를 계산하는 공식

멀티코어 구조

 

HomoGeneous

동일한 두개나 그 이상의 코어로 구성

다중 동일코어 사용

코어간의 공유 메모

일반적으로 캐시의 일관성을 위해 하드웨어가 지원해준다

 

 

 

HeteroGeneous

이종의 두개나 그 이상의 코어로 구성

ISA(Instruction Set Architecture)

범용코어와 가속코어를 동시에 사용하는 구조

ASMP

ACMP

 

NVIDIA Tegra

1코어와 쿼드코어간의 전환에서 스레싱 문제가 발생할 여지가 있다.

 

ARM

Big . Little solution System(엑시노스 옥타에 이용)

Cortex-A15(고성능)Cortex-A7(고효율)HeteroGeneous하게 사용하는 구조이다.

Switcher의 소스코드가 공개되어있다.

CCI(Cache Coherent Interconnect)

 

GPGPU System

서로간의 명시적 데이터전송 지원

소프트웨어에 의한 관리

OpenCLGPGPU를 활용한 컴퓨팅 지원(C99과 유사)

작업단위를 분리하면 컴파일러가 CPU GPU에게 작업단위를 할당

 

WebCL을 이용해서 웹에서도 GPGPU를 웹 가속에 이용

NVIDIACUDA

 

 

 

 

 

 

 

 

 

 

 

 

 

리눅스 멀티코어 기술

커널 – Lock Mechanism

       Load Balancing

       CPU Affinity

 

라이브러리 – OpenMP : 병렬 스레드 지원

             OpenGL : GPU를 이용한 렌더링

             WebGL : 웹기반의 3D가속

             OpenCL : GPGPU를 활용한 컴퓨팅

             WebCL : GPGPU를 이용한 웹가속

 

CFS(Completely Fair Scheduler)

 

DWRR(Distributed Weighted Round-Rpbin)

각 코어들의 시간 단위 안에서의 태스크들을 라운드로빈으로 스케줄링해준다.

레드-블랙 트리를 이용해서 쉬는 코어에서 바쁜 코어의 태스크를 가져온다.

 

 

 

*레드-블랙 트리

'Seminar > KELF 공개 세미나' 카테고리의 다른 글

우분투 커스터마이징 - 강분도  (0) 2012.11.10
차량용 네트워크 - 박재호  (0) 2012.11.10