문득 numa 라는게 보여서 먼가 해서 찾아보는데
smp는 north bridge가 있던 시절이고(!)
north bridge의 memory controller가 cpu의 요청에 따라 큐잉되어 메모리를 읽어서 보내주고
메모리에 cpu들이 많이 요청하면 응답대기가 길어지는 문제가 발생
그래서 NUMA 에서는 cpu 별로 메모리를 장착하고
local memory라고 이름짓고는 자기에게 할당된 메모리에서는 쌩쌩하게
그게 아니면 cpu 간의 inter-connect를 이용하여 다른 cpu의 메모리를 접근해서 대용량 메모리를 쓰는 구조
[링크 : https://jeongzero.oopy.io/94ef3e61-c27c-4fba-b8b9-2b9b8aac933a]
[링크 : https://brunch.co.kr/@dreaminz/4]
아.. 그래서 요즘 서버가 cpu 별로 메모리가 구성되어야 해서 특정 슬롯에 꽂아 해당 cpu에 local memory로 구성되게 되는거였군..
반대로 그러면.. cpu 에서 스케쥴링 할때 cpu 에 round robin등으로 임의 할당하면 안되고
어느정도는 벗어날수 없는(?) 경계가 존재하는 affinity 제한적 스케쥴링을 해야 하는건가?
'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글
bit banging (0) | 2025.05.08 |
---|---|
USB BOS - Binary Object Store (0) | 2024.07.14 |
DDR3 pinout과 ECC (0) | 2024.04.01 |
uefi dxe pei (0) | 2024.04.01 |
radix 4 - fp4 (0) | 2024.03.21 |