전공/운영체제

4장

twoweeks-within 2025. 3. 31. 15:58

MultiPle_Processor Scheduling

 

 > SMP( Symmetric Multiprocessing Prcoessing )

  대칭적이다..: 모든 CPU 가 동일한 HW 구조 

    > 개별적으로 Queue 가 있더라도 같은 유형의 작업 수행 > Task 다른 Queue로 이동

1. Common ready Queue : 스케쥴러가 모두 균등하게 분배 ( load balancing )

/* 

    Load Balancing

   > Push Migration : (주체) 바쁜놈 > idle 한테 주기적으로 Push!

   > Pull   Migration : (주체) idle     > 바쁜놈한테 있는 waiting하고있는 것을받아옴

 

   Prcoessor Affinity

       >C1 의 P1의 T1 <> C2의 P2의 T2는 분리되어있음 > cash-missing 큼 !

          > if) 다른 Process 에서 Thread를 쓰려면..

                    > RAM 에서 그 해당 Process 에서 데이터를 따로 가져온뒤

                    > 내 Prcoss의 데이터에 넣어서 Thread에 적용해주어야함  > 매우 비효율..

 

   > soft   : 가능한 (무조건 보장은 X)  : C1의 T1은 C1에서, C2의 T2는 C2에서 할수있도록

   > Hard : 바쁘든말든 Hard!             :  C1의 T1은 C1에서 바쁘든 말든 꼭!

 

*/

2. Per_core run Queue     : cpu 마다 다 다른 queue 를 가짐

 

MultiCore Processer : CPU가 1개 그안에 core가 여러개

   > Fast/ power comsume less

        > Process 단위로서 서로 다른 작업 나누어 하기에

 

ex)

core 0 : Compute > Memory stall > compute..

core 1 :    "                     "                      " 

   " 

 

MultiThreaded Multicore system 

 

한 Core 안에 .. 2개의 HW Thread(HW chip//CPU) .. 또 그안에 SW Thread (kernel //OS)

ex)

core 0 : HW Process1  : Compute > Memory stall > Compute.. 

           : HW Process2  : Compute > Memory stall >   " 

한 작업안에서 나누어서 한쪽에서 Compute, 한쪽에서 Memory stall..

   > 병렬 처리는 아니며,, CPU가 빠르게 전환됨 // Not OS 스케쥴러

>> OS view 로는 CPU가 2개인것처럼 보임

    > Quad Core MultiThreaded Multicore system > 8개의 CPU 처럼 보임

// OS view) 8개의 process 를 CS 

 

NUMA ( Non_uniform_memory_Access ) : 슈퍼컴에서 씀 

  > Many CPU, Many RAM 

    > Thread 를 가장 가까운 RAM 에서 처리하도록 정해야함

     // CPU <-> Memory 가 멀수록 속도저하 Big!

 

 

 

 

'전공 > 운영체제' 카테고리의 다른 글

6장-2  (0) 2025.04.10
6장  (0) 2025.04.05
3장  (0) 2025.03.31
2장-2  (0) 2025.03.30
2장  (1) 2025.03.27