일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 자바
- enumSet
- Test
- softeer
- 직장인 회고
- 인프콘2023
- Server
- 일상
- FCM
- db
- Spring
- Coputer Science
- JPA
- 테크쇼
- 2024회고
- Service 계층 테스트
- proxyFactory
- Junit 5
- MySQL
- 갓생
- modelmapper
- ExceptionResolver
- Test code
- 공룡책
- Test Doulbe
- mapstruct
- 2025 계획
- OS
- Java
- 소프티어
- Today
- Total
공부내용공유
공룡책 복습하기/ 1.3 Computer System Architecture (싱글 프로세서,멀티 프로세서) 본문
공룡책 복습하기/ 1.3 Computer System Architecture (싱글 프로세서,멀티 프로세서)
forfun 2023. 7. 6. 15:271.3 Computer-System Architecture
1.3.1 Single-Processor System
프로세서의 종류를 2개로 나누자면
- General Purpose Processor
- 우리가 흔히 생각하는 프로세서이다.
- 다양한 종류의 instruction set 을 실행할 수 있다.
- Special Purpose Processor
- 특정한 instruction 만 수행하는 프로세서이다.
- 예시로는 disk-controller microprocessor가 있다.
이렇게 된다.
이때 special processor는 main processor에게 명령을 받고 업무를 수행하는 경우도 있고, 애초에 하드웨어에 종속된 상태로 main processor와 독립적으로 업무를 수행하는 경우도 있다.
Single Processor 가 micro processor를 사용하는 시스템이라고 Multi Processor 라 하지 않는다.
Single Core 로 하나의 general CPU 라면 이를 single Processor System이라고 한다.
1.3.2 MultiProcessor System
N개의 Processor 가 있다해서 성능이 N배가 되지는 않는다.
- 공유 자원에 접근할때의 충돌
- 업무를 나눠서 할때 잘 분배하고 컨트롤하는데 발생하는 overhead
MultiProcessor 는 보통 각 CPU 들이 모든 task를 수행하는 SMP (Symmetric Multiprocessing) 을 사용한다.
Task를 처리하다 보면 같은 위에서 얘기했듯이 System Bus 에서 병목현상이나 한 Processor만 업무를 다하는 현상이 일어나는 비효율적인 상황이 발생한다.
이를 해결하기 위해서 프로세스나 메모리와 같은 공유자원을 다이나믹하게 공유를 하여 processor 들 사이에 작업량 편차를 낮출 수 있다.
MultiProcessor 라는 의미는 현재로 와서 MultiCore 도 포함한다.
멀티 프로세서 시스템의 종류를 2가지로 나눠보면
- multiple chip with single core
- mutile chip (or single) with multiple core
이런식으로 나눌 수 있다.
용어 정리
- Core - CPU에서 instrcution을 수행하는 계산 unit
- Multiple Core - 한 CPU 안에 여러 Core 가 있는 디자인
- CPU - Chip 안에서 instuctuin을 받고 수행하는 하드웨어
- Processor - 1개 이상의 CPU를 가진 chip
- MultiProcessor - 1개의 chip 에 다수의 CPU가 있거나, 여러개의 chip 이 있는 디자인
MultiProcessor 의 한계점 및 해결방안
위에처럼 Core 가 여러개이다 보니 contention 이 shared resource (system bus, memory)에서 발생하고 이는 성능저하를 유발한다.
해결방안으로 NUMA (Non Uniform Memory Access ) 가 있다.
NUMA 방식을 사용하면 각 core 에 memory 할당 각자 memory가 할당되어 접근속도가 빨라질 뿐만 아니라 contention 도 없어져 성능이 개선된다.
하지만 단점으로는 다른 core memory 접근시 latency가 발생한다 이는 CPU scheduling으로 개선 가능하다.
'ComputerScience > Operating System' 카테고리의 다른 글
공룡책 복습하기/ What OS do, Interruption (0) | 2023.07.04 |
---|