본문 바로가기
Computer Science/Operating System

Multicore

by Gofo 2021. 6. 21.

Multicore

Moore's Law

프로세서에 들어가는 2년에 두 배씩 트렌지스터의 수 (집적도)가 증가한다.

트렌지스터가 작동하는 속도(frequency)도 2배로 증가한다.

 

Power Consumption and Heat

frequency의 증가는 이미 2004년쯤에 종료되었다.

frequency가 증가하면 power consumption이 증가하게 된다.

그런데 power consumption을 증가시키면 제곱에 비례해서 발열이 발생한다.

발열 문제로 인해 frequency의 증가가 중단되었다.

 

Multicore의 등장

frequency scaling의 대안으로 multicore가 등장하였다.

여러 개의 프로세스를 묶어서 만든다.

 

Multicore의 장점

  • 성능을 향상시킴과 동시에 에너지 소비를 줄일 수 있다.
  • core들이 분리되어서 동작하기 때문에 isolation을 얻을 수 있다.
    • 이로 인해 protection, security, redundancy를 얻을 수 있다.
    • 각 core에 서로 다른 운영체제를 돌릴 수 있다.
    • 특정 core에 특정 역할이나 응용 프로그램을 전담시킬 수 있다.

 

CPU vs. GPU

일반적인 CPU의 ALU는 다양한 연산을 지원한다.

그러나 GPU의 ALU는 신호처리에만 집중하여 CPU의 ALU보다 크기가 작고 복잡도가 작다.

때문에 동일한 면적이라면 CPU보다 GPU가 더 많은 core가 들어갈 수 있다.

 


다양한 Multicore

Heterogeneity

초창기의 multicore는 같은 유형의 core를 적재를 하였다.

그러나 최근에는 서로 다른 유형의 core로 multicore를 만들고 있다.

 

대표적으로 ARM의 big.LITTLE architecture가 있다.

2개의 고성능 core + 2개의 저성능 core를 탑재하였다.

 

더 향상된 performance와 power efficiency를 위해서 다른 유형의 core를 사용한다.

 

performance와 power consumption은 비례 관계를 가진다.

고성능 core는 그 비례가 완만하고, 저성능은 core는 그 비례가 크다.

두 유형의 core를 결합함으로써 power consumption이 적은 graph만 선택하는 것이 가능해진다.

 

Many Core Processor

CPU core를 대량으로 적재한 chip이다.

GPU 처럼 신호처리에 특화된 core가 아니라 범용 core를 넣는다.

각 core는 프로세서, cache, switch를 가진다.

 

여러가지 issue가 있다.

  • scheduling issue
    • 어떤 core에게 일을 시킬 것인가
  • communucation cost
    • core 간의 communication 비용이 비대칭 적이다.
    • 가까운 core 간 비용은 적지만, 멀리 떨어진 core 간 비용은 크다.
    • 이를 프로그래머나 운영체제가 관리하는 것은 복잡하다.

 


Multicore의 성능

Amdahl's Law

core의 숫자가 늘어남에 따라 성능이 얼마나 향상되는지를 나타낸다.

  • p : parallel portion (병렬로 처리할 수 있는 코드의 비율)
  • n : CPU 수

 

코드에서 병렬로 처리할 수 있는 부분과 그렇지 않고 sequential하게 처리해야 하는 부분이 있다.

parallel part의 비율이 커야지 큰 성능 향상을 얻을 수 있다.

 

amdahl's law는 core의 수 보다는 parallel part의 영향이 큼을 나타낸다.

 

'Computer Science > Operating System' 카테고리의 다른 글

File System과 관련된 이슈들  (0) 2021.06.21
File System의 구조와 작동원리  (0) 2021.06.21
File System, Directory  (0) 2021.06.21
File System, File  (0) 2021.06.20
I/O Register, Device Driver  (0) 2021.06.20

댓글