[๊ณ ์„ฑ๋Šฅ] NUMA(Non-Uniformed Memory Access) Locality์™€ CPU Affinity
ยท
์ปดํ“จํ„ฐ ๊ตฌ์กฐ & ์šด์˜์ฒด์ œ
๋“ค์–ด๊ฐ€๋ฉฐ์ปดํ“จํ„ฐ๋Š” ์—ฌ์ „ํžˆ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ์— ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋„ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ์—‘์„ธ์Šค๋„ ๋นˆ๋ฒˆํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ํ”„๋กœ๊ทธ๋žจ์ด ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ์—ฌ๋Ÿฌ ๋…ธ๋“œ(์ฝ”์–ด)์—์„œ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์ด ์ž˜๋ชป๋œ ๋ฉ”๋ชจ๋ฆฌ ์—‘์„ธ์Šค๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ฑฐ๋‚˜ ๋А๋ฆฐ ์—‘์„ธ์Šค๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ CPU ๋…ธ๋“œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„๋ฅผ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ๋Š” NUMA(Non-Uniformed Memory Access)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. NUMA(Non-Uniformed Memory Access)๊ณผ๊ฑฐ์—๋Š” CPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์ด ๋ธŒ๋ฆฟ์ง€๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. CPU ์ฝ”์–ด ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๋ผ๋„ ์˜ค์ง ํ•˜๋‚˜์˜ ๋ธŒ๋ฆฟ์ง€๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”์–ด๋ณ„ ์†๋„ ์ฐจ์ด๋Š” ํฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋น„์œ ๋ฅผ ์ž ๊น ๋“ค์–ด๋ณด๋ฉด CPU ์ฝ”์–ด๊ฐ€ ..
[๊ณ ์„ฑ๋Šฅ] TLB(Translation Lookaside Buffer)์™€ TLB miss
ยท
์ปดํ“จํ„ฐ ๊ตฌ์กฐ & ์šด์˜์ฒด์ œ
๋“ค์–ด๊ฐ€๋ฉฐ์˜ค๋Š˜์€ ๊ณ ์„ฑ๋Šฅ ์‹œ๋ฆฌ์ฆˆ ๋‘ ๋ฒˆ์งธ์ธ Translation Lookaside Buffer(TLB)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒ์†Œํ•  ์ˆ˜๋„ ์žˆ๋Š” ์šฉ์–ด์ธ๋ฐ, ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์บ์‹œ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๋จผ์ € ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ์˜ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”„๋ ˆ์ž„ ํ• ๋‹น์— ๊ด€ํ•œ ํฌ์ŠคํŒ…์„ ๋ณด๊ณ  ์˜ค์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”„๋ ˆ์ž„ ํ• ๋‹นํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•(Paging) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์•ž์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์˜ ๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ์™€ ์™ธground90.tistory.com TLB(Translation Lookaside Buffer)๋ž€?TLB๋ž€ CPU๊ฐ€ ๊ฐ€์ƒ์ฃผ์†Œ(virtual addres..