๐ŸŒ CS & Infra/Operating System

[OS] 10. ๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ

devCloud 2023. 10. 16. 12:09
728x90

(1) ๊ฐœ์š”

  • ๋ณต์ˆ˜ ๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ(CPU)๋ฅผ ๋‘์–ด ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋œ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด๋‹ค.
  • ๋‹จ์ผ ์‹œ์Šคํ…œ ๋‚ด์— ์ ์€ ๋น„์šฉ๊ณผ ์ž‘์€ ๋ถ€ํ”ผ๋กœ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์„œ๋ฅผ ์žฅ์ฐฉํ•˜๊ณ  ์ด๋“ค์„ ์—ฐ๊ฒฐ์‹œ์ผœ ๋‹ค์ค‘ ํ”„๋กœ์„ธ์„œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•œ๋‹ค.
  • ๋™์‹œ์— ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์„œ๋ฅผ 2๊ฐœ ์ด์ƒ ๋‘๊ณ  ๊ฐ๊ฐ ๊ทธ ์—…๋ฌด๋ฅผ ๋ถ„๋‹ดํ•ด ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋งŽ์€ ์ถ”๊ฐ€ ๋น„์šฉ ์—†์ด๋„ ๊ธฐ์กด ์‹œ์Šคํ…œ์˜ ๊ณ„์‚ฐ ๋Šฅ๋ ฅ์ด ํ–ฅ์ƒ๋˜๊ณ , ๋†’์€ Availability๊ณผ ๋†’์€ Reliability๊ฐ€ ๋ณด์žฅ๋˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค.

 

๊ตฌ์กฐ

Loosely-Coupled Tightly-Coupled
๊ฐ ํ”„๋กœ์„ธ์„œ๋“ค์ด ๋…๋ฆฝ์ ์œผ๋กœ ์šด์˜(๊ฐ์ž OS ์œ ์ง€) ํ•˜๋‚˜์˜ OS๊ฐ€ ์‹œ์Šคํ…œ ์ „์ฒด ์ž์›์„ ๊ด€๋ฆฌ
๊ฐ ํ”„๋กœ์„ธ์„œ๋“ค์ด ์ž์‹ ์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๋ณ„๋„๋กœ ๊ฐ€์ง ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ๋“ค์ด ํ•˜๋‚˜์˜ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ(shared memory)๋ฅผ ์‚ฌ์šฉ
ํ”„๋กœ์„ธ์„œ๋“ค ๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•œ message passing (๋ฉ”์‹œ์ง€ ์ „๋‹ฌ) ๊ธฐ๋ฒ• ์‚ฌ์šฉ ํ”„๋กœ์„ธ์„œ๋“ค ๊ฐ„์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ๊ฒฝ์Ÿ (memory connection) ํ•ด๊ฒฐ ํ•„์š”

 

(์ฐธ๊ณ ) CPU ๊ด€๋ จ ์šฉ์–ด์ •์˜

CPU = Control Unit + Processing Unit

  • ์ œ์–ด์žฅ์น˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ•˜๊ณ  ํ•ด๋…ํ•ด ์ œ์–ด์‹ ํ˜ธ๋ฅผ ๋งŒ๋“œ๋Š” ์žฅ์น˜์ด๋‹ค.
  • ์ฒ˜๋ฆฌ์žฅ์น˜๋Š” ์ œ์–ด์žฅ์น˜์—์„œ ๋งŒ๋“ค์–ด์ง„ ์ œ์–ด์‹ ํ˜ธ์— ๊ทผ๊ฑฐํ•ด ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ์™€ ์ฃผ์†Œ ๋“ฑ์˜ operand(ํ”ผ์—ฐ์‚ฐ์ž)๋ฅผ ์ธ์ถœํ•˜๊ณ  ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์žฅ์น˜์ด๋‹ค.


Instruction Stream๊ณผ Data Stream

  • ๋ช…๋ น์–ด ์ŠคํŠธ๋ฆผ์ด๋ž€ ํ”„๋กœ์„ธ์„œ์— ์˜ํ•ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด๋œ ๋ช…๋ น์–ด ์ฝ”๋“œ๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์ด๋ž€ ๋ช…๋ น์–ด๋“ค์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ˆœ๋Œ€๋กœ ๋‚˜์—ด๋œ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.

 

(2) Flynn์˜ ๋ถ„๋ฅ˜

์ปดํ“จํ„ฐ ๊ตฌ์กฐ์˜ ๋ถ„๋ฅ˜๋ฒ•์œผ๋กœ, ํ”„๋กœ์„ธ์Šค ์ธก์— ์ „๋‹ฌ๋˜๋Š” Instruction Stream๊ณผ Data Stream์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์ค‘์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์„ ๋ถ„๋ฅ˜ํ–ˆ๋‹ค.

 

1. SISD(Single Instruction Stream, Single Data Stream)

  • ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์”ฉ์˜ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋‹จ์ผ ํ”„๋กœ์„ธ์„œ ์‹œ์Šคํ…œ์ด๋‹ค.
  • ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์„œ์— ํ•˜๋‚˜์˜ ์—ฐ์‚ฐ ์žฅ์น˜๋ฅผ ๋‘์–ด ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ์‚ฌ์‹ค์ƒ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ๊ฐœ๋…์„ ๊ฐ–์ง€ ์•Š๋Š” ๊ตฌ์กฐ์ด๋‹ค.

 

 

2. SIMD(Single Instruction Stream, Multiple Data Stream)

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๋“ค๋กœ ๊ตฌ์„ฑ๋˜๊ณ , ํ”„๋กœ์„ธ์„œ๋“ค์˜ ๋™์ž‘์€ ๋ชจ๋‘ ํ•˜๋‚˜์˜ ์ œ์–ด์žฅ์น˜์— ์˜ํ•ด ์ œ์–ด๋œ๋‹ค.
  • ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ๋“ค์€ ์ œ์–ด์žฅ์น˜๋กœ๋ถ€ํ„ฐ ๋™์ผํ•œ ๋ช…๋ น์–ด๋ฅผ ๋ฐ›์ง€๋งŒ ๋ช…๋ น์–ด ์‹คํ–‰ ๊ณผ์ •์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋“ค์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋ฒกํ„ฐ ์—ฐ์‚ฐ(ํ–‰๋ ฌ ๊ณ„์‚ฐ ๋“ฑ), ์˜์ƒ์ฒ˜๋ฆฌ ๋“ฑ์˜ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ์— ์ฃผ๋กœ ํ™œ์šฉ๋œ๋‹ค.

 

3. MISD(Multiple Instruction Stream, Single Data Stream)

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ œ์–ด ์žฅ์น˜์™€ ํ”„๋กœ์„ธ์„œ๋ฅผ ๊ฐ–๋Š” ๊ตฌ์กฐ์ด๋‹ค.
  • ๊ฐ ํ”„๋กœ์„ธ์„œ๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ช…๋ น์–ด๋“ค์„ ์‹คํ–‰ํ•˜์ง€๋งŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋™์ผํ•œ ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์ด๋‹ค.
  • ํ•˜๋‚˜์˜ ์ž๋ฃŒ ํ๋ฆ„์— ๋Œ€ํ•ด ๋ณต์ˆ˜ ๊ฐœ์˜ ์—ฐ์‚ฐ ์žฅ์น˜๋“ค์ด ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ์‘์šฉ ๋ถ„์•ผ๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค.

 

 

4. MIMD(Multiple Instruction Stream, Multiple Data Stream)

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๋“ค์ด ์„œ๋กœ ๋‹ค๋ฅธ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹น๋œ๋‹ค.
  • Tightly Coupled System : ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ๊ฐ€ ๊ธฐ์–ต์žฅ์น˜๋ฅผ ๊ณต์œ (Shared Memory)ํ•˜๋Š” ๊ตฌ์กฐ
  • Loosely Coupled System : ๊ฐ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ž์‹ ์˜ ์ง€์—ญ ๋ฉ”๋ชจ๋ฆฌ(Local Memory)๋ฅผ ๊ฐ€์ง„ ๋…๋ฆฝ์ ์ธ ๊ตฌ์กฐ

 

(3) Parallel Processing (๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ)

Parallelism(๋ณ‘๋ ฌ์„ฑ)

๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์€ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์œจ์„ ์–ป๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด ์ฃผ ๋ชฉ์ ์ด๋‹ค.

 

๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์˜ ์–ด๋ ค์›€

  • ์‚ฌ๋žŒ๋“ค์˜ ์‚ฌ๊ณ  ํ˜•ํƒœ๋Š” ๋™์‹œ์„ฑ์„ ๊ฐ€์ง€๊ณ  ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ƒ๊ฐํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์Šต๊ด€ํ™”๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค.
  • ๋ณ‘๋ ฌ์„ฑ์„ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๊ฐ€ ๋งŽ์ด ์—†๋‹ค.
  • ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋Š” ์ˆœ์ฐจ์ ์ธ ์ž‘๋™์˜ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  • ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ์ •ํ™•์„ฑ์— ๋Œ€ํ•œ ์ฆ๋ช…์ด ๋ณต์žกํ•˜๊ณ , ๋””๋ฒ„๊น…์ด ์–ด๋ ต๋‹ค.

 

โžค Parallelism Level(๋ณ‘๋ ฌ์„ฑ์˜ ๋‹จ๊ณ„)

1. Job Level(์ž‘์—… ๋‹จ๊ณ„)

๋‘ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์—…์ด๋ผ ํ•  ๋•Œ, ๋งŒ์•ฝ ๊ณ„์‚ฐ์— ํ•„์š”ํ•œ ์ž๋ฃŒ๊ฐ€ ๊ฐ๊ฐ ์ค€๋น„๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ์ด ๋‘ ์ž‘์—…์€ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

2. Task Level(ํƒœ์Šคํฌ ๋‹จ๊ณ„)

ํ•œ ํ”„๋กœ๊ทธ๋žจ(์ž‘์—…)์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํƒœ์Šคํฌ๋กœ ๋ถ„ํ• ๋  ์ˆ˜ ์žˆ์„ ๋•Œ, ์ด๋Ÿฌํ•œ ํƒœ์Šคํฌ๋“ค์€ ์ƒํ˜ธ ์ž‘์šฉ์ด ํ•„์š”ํ•˜๋‹ค ํ• ์ง€๋ผ๋„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

3. Process Level(ํ”„๋กœ์„ธ์Šค ๋‹จ๊ณ„)

ํƒœ์Šคํฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋ถ„ํ•  ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด๋“ค ํ”„๋กœ์„ธ์Šค๋“ค์€ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ๋˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์ž๋™์ ์œผ๋กœ ๋ณ‘๋ ฌ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. (๋Œ€๋ถ€๋ถ„์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•œ๋‹ค)

P1(i)์™€ P2(i)๋Š” ๋ณ‘๋ ฌ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ , P1(i)์™€ P2(i-1)์€ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰์„ ํ•œ๋‹ค.

 

4. Variable Level(๋ณ€์ˆ˜ ๋‹จ๊ณ„)

ํ”„๋กœ์„ธ์Šค ๋‚ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋ณ€์ˆ˜ ์ˆ˜์ค€์—์„œ ๋ช‡๋ช‡ ๋ณ€์ˆ˜๋“ค์€ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

5. Bit Level(๋น„ํŠธ ๋‹จ๊ณ„)

๋น„ํŠธ ๋‹จ์œ„์˜ ๋ณ‘๋ ฌ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋ณ‘๋ ฌ์„ฑ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์ € ๋‹จ๊ณ„์ด๋‹ค.

 

โžค ๋ณ‘๋ ฌ์„ฑ์˜ ์ž๋™ ๊ฒ€์ถœ

ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ์˜ ๋ช…์‹œ์ ์ธ(Explicit) ๋ณ‘๋ ฌ์„ฑ๊ณผ ๋ฌต์‹œ์ ์ธ(Implicit) ๋ณ‘๋ ฌ์„ฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.

 

Explicit Parallelism

Program ์–ธ์–ด๋“ค์„ ์ง์ ‘ ์ ์–ด์ค€๋‹ค.

 

Implicit Parallelism

  • ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•œ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„์„ ์ฐพ๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ณ‘๋ ฌ์„ฑ์˜ ๊ฒ€์ถœ์€ ์ปดํŒŒ์ผ๋Ÿฌ, OS, ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋“ฑ์— ์œ„์ž„์‹œํ‚จ๋‹ค.
  • ์—ฐ์‚ฐ ํŠธ๋ฆฌ ๋†’์ด ์ถ•์†Œ(Tree height reduction) ๋ฐฉ๋ฒ•๊ณผ ์ˆœํ™˜ ๋ถ„์‚ฐ(Loop distribution)๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

 

• Computation Step Reduction(์—ฐ์‚ฐ ๋‹จ๊ณ„์˜ ์ถ•์†Œ)

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์—ฐ์‚ฐ์˜ ๊ตํ™˜, ๊ฒฐํ•ฉ ๋ฐ ๋ถ„๋ฐฐ ๋ฒ•์น™์„ ์ด์šฉํ•ด ์ˆ˜์‹์— ๋‚ด์žฌ๋œ ๋ณ‘๋ ฌ์„ฑ์„ ์ฐพ์•„๋‚ธ๋‹ค.

 

• Loop Distribution

์ˆœํ™˜ ๋ณธ์ฒด(Loop Body)๋‚ด์— ์žˆ๋Š” ์ผ๋ จ์˜ ๋ฌธ์žฅ๋“ค์„ ๋ณ‘๋ ฌ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

(4) OS ๊ตฌ์„ฑ

๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ OS์˜ ๊ธฐ๋Šฅ

  • ์ผ๋ฐ˜ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์˜ OS ๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ๋‹ค.
  • Task Assignment ๋ฐ Load Balancing ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค.
  • ํ”„๋กœ์„ธ์„œ์˜ ๊ณ ์žฅ ๋ฐ ๋ณต๊ตฌ์— ๋”ฐ๋ฅธ ์‹œ์Šคํ…œ ์žฌ๊ตฌ์„ฑ ๊ธฐ๋Šฅ(Reconfiguration Capability)์ด ํ•„์š”ํ•˜๋‹ค.
  • ๋ณ‘๋ ฌ ํ”„๋กœ์„ธ์Šค ๋˜๋Š” ํƒœ์Šคํฌ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค.
  • ๋ถ„ํ• ๋œ ๋ณ‘๋ ฌ ํƒœ์Šคํฌ๋“ค์˜ ์žฌ๋ณ‘ํ•ฉ์„ ์œ„ํ•œ ๋™๊ธฐํ™” ๋งค์ปค๋‹ˆ์ฆ˜์ด ํ•„์š”ํ•˜๋‹ค.

 

๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ OS์˜ ๊ตฌ์„ฑ ํ˜•ํƒœ

โœ” Master/Slave(์ฃผ์ข… ๊ด€๊ณ„) ๊ตฌ์กฐ

  • ๊ฐ€์žฅ ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฌ์šด ๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์˜ ํ˜•ํƒœ๋กœ, ์ตœ์  ํšจ์œจ ๋‹ฌ์„ฑ์€ ์–ด๋ ต๋‹ค.
  • ํ•˜๋‚˜์˜ ํŠน๋ณ„ํ•œ ํ”„๋กœ์„ธ์„œ์ธ ์ฃผ ํ”„๋กœ์„ธ์„œ๋งŒ์ด OS๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ข…์† ํ”„๋กœ์„ธ์„œ๋Š” ์˜ค์ง ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ๋งŒ์„ ์‹คํ–‰ํ•œ๋‹ค.
  • ํ•œ ํ”„๋กœ์„ธ์„œ๋งŒ์ด OS๋ฅผ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ์ œ์–ด ํ…Œ์ด๋ธ” ๋“ฑ์— ๋Œ€ํ•œ ์ƒํ˜ธ ๋ฐฐ์ œ๊ฐ€ ๋น„๊ต์  ์†์‰ฝ๋‹ค.
  • ์ฃผ๋กœ ์ฃผ(Master)ํ”„๋กœ์„ธ์„œ๋Š” ์ž…์ถœ๋ ฅ์„ ์ข…์†(Slave)ํ”„๋กœ์„ธ์„œ๋Š” ์—ฐ์‚ฐ ์œ„์ฃผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

*Master Processor : ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ๋ฐ OS์˜ ์‹คํ–‰ ๊ถŒํ•œ/์ฑ…์ž„

*Slave Processor : ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋“ค๋งŒ์„ ์‹คํ–‰


์‹œ์Šคํ…œ ๋‚ด์˜ Processing Element(PE)๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ Master๋กœ ์ง€์ •ํ•œ๋‹ค.

 

๋ฌธ์ œ์ 

  • Master Processor์— ๊ณผ๋ถ€ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•œ๋‹ค. (์ž…์ถœ๋ ฅ๊ณผ ์—ฐ์‚ฐ์„ ํ•  ๋•Œ ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์–ด ๋”ฐ๋กœ ๊ด€๋ฆฌ)
  • Master Processor์˜ ๊ณ ์žฅ ์‹œ Reliability์— ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  • Master Processor์˜ ๊ณผ๋ถ€ํ•˜ ์‹œ์— ์ „์ฒด ์‹œ์Šคํ…œ์˜ ํ”„๋กœ์„ธ์„œ ํ™œ์šฉ๋„๊ฐ€ ์ €ํ•˜๋œ๋‹ค.

 

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • Master Processor์— ์ž…์ถœ๋ ฅ ์œ„์ฃผ ํ”„๋กœ์„ธ์Šค(I/O-bound process)๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
  • Slave Processor๋“ค์— ์—ฐ์‚ฐ ์œ„์ฃผ ํ”„๋กœ์„ธ์Šค(compute-bound process)๋ฅผ ํ• ๋‹นํ•œ๋‹ค.

 

โœ” Separate Executives(๋…๋ฆฝ ์ˆ˜ํ–‰) ๊ตฌ์กฐ

  • Load Balancing์„ ํ†ตํ•œ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์ฃผ ๋ชฉ์ ์ด๋‹ค.
  • ๊ฐ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ž์‹ ์˜ OS๋ฅผ ๊ฐ€์ง„๋‹ค. (๋‹จ์ผ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ์™€ ๋™์ผํ•˜๊ฒŒ ์šด์˜)
  • OS์˜ ๊ธฐ๋Šฅ์ด ๊ฐ ํ”„๋กœ์„ธ์„œ์—์„œ ๋…์ž์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์ด๊ด„ ์ •๋ณด์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ƒํ˜ธ ๋ฐฐ์ œ๊ฐ€ ๋ณด์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค. (๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ์–ธ์  ๊ฐ„์€ ํ•ฉ๋ณ‘ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ)
  • Master/Slave ๊ตฌ์กฐ์— ๋น„ํ•ด Reliability๊ฐ€ ๋†’์ง€๋งŒ, ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์ด ๋ณต์žกํ•˜๋‹ค.
  • Master/Slave ๊ตฌ์กฐ์™€์˜ ์ฐจ์ด์ ์€ ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค CPU์˜ ์œ ๋ฌด์ด๋‹ค.

 

 

โœ” Symmetric Treatment(๋Œ€์นญ์  OS) ๊ตฌ์กฐ

  • ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ๊ฐ€ ๋™๋“ฑํ•œ ์ž…์žฅ์˜ ๋Œ€์นญ์„ฑ์„ ๊ฐ€์ง€๋Š” ํ˜•ํƒœ๋กœ OSํ•˜๋‚˜๋ฅผ ๊ณต์œ ํ•œ๋‹ค.
  • ๋ชจ๋“  ํ˜•ํƒœ์˜ ์ž์›์— ๋Œ€ํ•œ ๋Œ€์นญ์„ฑ์œผ๋กœ ์ธํ•ด ์ž‘์—… ๋ถ€ํ•˜(Work Load)์— ๋Œ€ํ•œ ๊ท ํ˜•์„ ์ด๋ฃฐ ์ˆ˜ ์žˆ๋‹ค.
  • ์‹œ์Šคํ…œ ๋‚ด์˜ ์–ด๋А ํ”„๋กœ์„ธ์„œ๋‚˜ OS์˜ ์‹คํ–‰ ๊ถŒํ•œ์„ ๊ฐ€์ง€๋ฉฐ, ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์„œ๋“ค์ด ๋™์‹œ์— OS๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์žฌ์ง„์ž…์ฝ”๋“œ์™€ ์ƒํ˜ธ ๋ฐฐ์ œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. (๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ, ์šฐ์„ ์ˆœ์œ„๋Š” ์—†์Œ)
  • ์‹ ๋ขฐ์„ฑ์ด ๋†’๊ณ , ์‹œ์Šคํ…œ ์ž์› ํ™œ์šฉ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ํ•œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ์š”๊ตฌ ์‹œ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์„œ๋“ค์˜ ๊ณต๋™ ์ž‘์—…๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

OS์™€ ์—ฐ๊ฒฐ๋œ 2๊ฐœ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋ชจ๋‘ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์˜ ๊ทธ๋ฆผ์ด๋‹ค.

Master/Slave๊ตฌ์กฐ์™€ Symmetric๊ตฌ์กฐ ์ค‘ ๋งŒ๋“ค๊ธฐ ๋” ์–ด๋ ค์šด ๊ฒƒ์€ Symmetric๊ตฌ์กฐ์ด๋‹ค.(์ด์œ  : ์ƒํ˜ธ๋ฐฐ์ œ ์œ ๋ฌด)

728x90