디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[CS:APP 11] The Memory Hierarchy

츄럴(59.22) 2016.12.21 20:57:56
조회 1940 추천 10 댓글 29
														

첫 댓글에 인강을 볼 수 있는 URL을 달았습니다



11화 The Memory Hierarchy

이번에는 하라부지 교수님이 아니라 아조시 교수님이 수업하신다

개인적으로는 이분 영어가 더 잘 들려서 좋다...


Memory Hierarchy를 설명하기 위해 갖가지 storage device들의 스펙들에 대해 설명한다

오늘은 이론적이고 전체적인 부분에 대해 개관한다.



1. 저장장치들 storage devices


내용은 많지만 핵심은 

-----------------------------

값이 쌀수록 용량이 크고 대신 느리다

비쌀수록 용량은 작고 빠르다

-----------------------------

그러하다.


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f81781709e1a40ca9e40d6d09




기억에 남는 것은 SSD는 다음과 같은 구조를 이루며 

HDD처럼 쓰기 위해서 logical disk block이란 가상의 개념(원래 HDD가 쓰던 개념)을 따른단다

뭔가.. 가상 메모리 같은 개념인 거 같다(그림의 block은 그거는 아니고 진짜 하드웨어 블록임)


저런 게 OOP랑 일맥상통하는 부분이 있지만 그런 이야기는 나중에 하자..

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f8b2f4301e0f457f5e40d6d09


그리고 SSD는 그림의 블록 하나를 다 지워야만 page에 데이터를 쓸 수 있다. 왜? 는 설명 안 해줌 뭐 장치가 그렇다는데 그런거겠지..

그래서 쓰는 게 읽는 거보다 느리고(읽는 건 제한 없음) 10000번을 쓰면 못 쓴댄다.



아 그리고 왜 함슬람이 요즘 뜨는지, 왜 Clojure가 미래의 언어라고 주장하는 사람이 있는지도 조금 이해가 갔다.

다음 그림을 보면 

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f81781709e1a40ca9e40d6d09


1985에서 2003년까지는 2년마다 2배씩 꾸준히 성능이 증가한다. 그런데 2003년에는 그 한계를 맞는다.

더이상 clock frequency를 증가시킬 수 없게 된 것이다. 공짜 점심은 끝났다...


이 때부터 CPU 제조사들은 코어를 늘릴 생각을 하게 된다

그래서.. 병렬 프로그래밍이 중요해진 것이고

CPU cycle time과 Effective CPU cycle time이 차이 나는 이유가 바로 병렬 프로그래밍 때문인 것이다.


그런데 그 병렬 프로그래밍을 가장 하기 쉬운 패러다임이 바로 함슬람이다.


람다후 함크바르!


Clojure가 미래의 언어라는 과격한 주장이 나오는 이유도 이걸 참 잘 해서라는 거 같다

그리고 JVM의 지원도 끝내주고..


그건 그렇구요


그다음은 지역성에 대해 이야기한다.



2. locality

지역성의 법칙: 

후로그램은 최근에 사용한 인스트럭션이나 데이터들의 주소와 가깝거나 

동일한 곳의 데이터를 많이 사용하는 경향이 있다.


가까운 곳의 데이터를 쓰면 spatial locality

동일한 주소의 데이터를 쓰면 temporal locality


이걸 지켜야 빠르다. 왜? 캐시를 쓰니까


멍청한 예제도 하나 소개해 준다

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f8e791759b3a456f5e40d6d09

이런 짓은 아무도 안 하지만 어쨌든 이러면 안 되요


근데 전에 이런 거 일일이 생각하면 머머리된다는 개드립을 친 적이 있는데...

배워보니 locality 정도는 생각해야 되겠다. 너무 중요하다. 머머리가 되는 걸 강요받고 있다!



3. The Memory Hierarchy

솔직히 빠른 놈이 용량도 크고 값까지 싸다면 그놈으로 메모리를 도배하면 되겠으나

응 아니야~

그러한 현실의 제약을 해결하기 위해 cache를 사용한다.


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f892f4459e3f204a7e40d6d09


아래쪽의 큰 용량을 가지며 느리지만 값싼 저장장치에서

위쪽의 비싸고 용량은 작지만 빠른 저장장치로

지금 쓰려는 데이터들을 옮긴다.

(지역성의 법칙에 의해 지금 쓰려는 데이터는 어차피 하부에 저장된 데이터의 일부이므로 가능)


이것이 cache이다.

그리고 k레벨의 저장장치는 k+1레벨 저장장치의 cache 역할을 한다.



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07fdc2f120ab7f100f2e40d6d09

cache hit는 CPU가 지금 쓰려는 데이터cache(즉 상위 저장장치)있는 경우를 의미한다 

캐시 히트는 좋은 것이다!



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f8b28170cb1fd56a0e40d6d09

cache miss는 CPU가 지금 쓰려는 데이터 cache(즉 상위 저장장치)에 존재하지 않는 경우를 의미한다 

당연히 더 하위의 저장장치에까지 데이터를 요청해야 되고 시간이 오래 걸린다.

이 현상은 해로운 현상이다!



그러하다. 


근데 우리 후로그래머들에게 결국 중요한 것은 무엇인가? 

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07fdc7c4008b6f456a0e40d6d09


그렇다. 후로훼셔널 후로그래머라면 코드를 딲! 보는 순간 지역성이 있는지 없는지 파악할 수 있어야 한다

아무리 메모리를 서열로 잘 구성해놔도 프로그램이 안 쓰면 말짱 황이다


이 맛에 제가 CS:APP빱니다... 후로그래머한테 진정으로 중요한 걸 말해준다 이겁니다...





--------------------------------------

어제 오랜만에 개념글 뽕 맞아서 또 글 썼읍니다

그리고 머리 속에 정리도 되고 해서요.


틀린 부분이 있다면 반드시 지적해주십시오. 사실상 오늘 처음 배우고 썰 푸는 겁니다...


매일 연재 해 볼 생각입니다 가능하면 말이지요


CS:APP 읽는 여러분 모두 화이팅!



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e0a977d1feb391e28fbc7920e656ed340a7e461bc73b0

2학년 필독서! 꼭봐라 두번봐라 세번봐라 계속봐라!

추천 비추천

10

고정닉 6

1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48801 65
2905998 출퇴근길에 소소하게 짭짤하네요 존버장군(1.233) 22:20 10 0
2905997 음기 충전 발명도둑잡기(39.7) 22:19 9 0
2905992 중국인이 몸값 ㅈㄴ싼데 일은 잘해 ㅇㅇ(221.168) 22:06 23 0
2905989 나르시야 github갤에 가라 거기 웹쟁이좀 패라 프갤러(61.75) 21:57 15 0
2905988 쿠팡 해킹범 짱깨라며 어째 해킹범 욕하는 기관이 하나도 없냐 ㅋㅋ [2] ㅇㅇ(124.48) 21:53 39 0
2905987 홍콩 무협과 힙합 발명도둑잡기(39.7) 21:45 11 0
2905986 중국인 쿠팡 해킹 사태 정리 [1] ♥발라당냥덩♥갤로그로 이동합니다. 21:41 28 1
2905983 오로지 연봉 때문에 이직하는경우 있음? [10] ㅇㅇ(221.168) 21:32 38 0
2905982 해가 짧아지니 잠이 길어진당 ♥발라당냥덩♥갤로그로 이동합니다. 21:25 10 0
2905979 날아다니는 스파게티 괴물 발명도둑잡기(39.7) 21:06 13 0
2905976 해킹 피해자가 아니라 가해자였던 결혼정보업체 발명도둑잡기(39.7) 21:03 10 0
2905974 소액 알바 하다가 스파이가 된 이야기 발명도둑잡기(39.7) 21:00 10 0
2905968 경찰 “쿠팡 개인정보 유출, 기업 보안사고 넘어 국민 발명도둑잡기(39.7) 20:50 15 0
2905962 지금껏 다녀본 업소들 유형별 특징.txt ㅇㅇ(39.7) 20:24 33 0
2905961 [애니뉴스] YxD Ads 개발중 ㅇㅇ(121.172) 20:18 14 0
2905959 llm이 자꾸 인증방식을 jwt로 몰아가네 프갤러(221.149) 20:11 37 0
2905958 재명이 때문에 물가폭등,주거비폭등,환율폭등 [1] ♥발라당냥덩♥갤로그로 이동합니다. 20:09 34 2
2905957 [애니뉴스] YxD Labs 검색 버튼 추가 ㅇㅇ(121.172) 20:01 13 0
2905949 박민호 d-_-b_mh@daum.net 더 많은 계정정보 보기 99+ 프갤러(118.33) 19:41 14 0
2905946 디지털 소유권 환상론으로 유튜브, 스테이블코인도 증발할 수 있다 발명도둑잡기(39.7) 19:35 22 0
2905942 현실에 나타난 아카자.jpg ㅁㅁㅅ갤로그로 이동합니다. 19:31 31 0
2905941 점심 간식 저녁 발명도둑잡기(39.7) 19:30 14 0
2905939 박민호 d-_-b_mh@daum.net 더 많은 계정정보 보기 99+ 프갤러(118.33) 19:27 18 0
2905938 우왓, 연회중에 피분수가..ㅡㅡ;; [1] 박정희대통령갤로그로 이동합니다. 19:12 35 1
2905937 "'트럼프시대 美활동' 중국계 연구자, 문화대혁명 같은 혼란 중" 발명도둑잡기(39.7) 19:08 20 0
2905936 박민호 d-_-b_mh@daum.net 더 많은 계정정보 보기 99+ 프갤러(222.116) 19:01 11 0
2905935 [단독] 정부, 쿠팡에 최대 1조3300억 과징금 … 국민 정보 통째 유 발명도둑잡기(39.7) 19:01 24 0
2905934 난 정치에 관심은 없지만 [2] 사람낚는어부갤로그로 이동합니다. 18:51 54 1
2905933 열혈 백업 중..ㅇㅅㅇ [7] 헤르 미온느갤로그로 이동합니다. 18:50 36 0
2905932 WPF 쓰면 쓸수록 역하네 이거 [5] 거북이속이거북갤로그로 이동합니다. 18:44 60 0
2905929 친중도 나쁘지 않은 듯 ㅇㅇ(114.30) 18:38 34 0
2905928 내일 그만둔다고 해야지 [2] ㅇㅇ(118.235) 18:24 49 0
2905927 책읽기 귀찮다 [1] 사람낚는어부갤로그로 이동합니다. 18:15 40 0
2905926 [대한민국] 윤석열 대통령 - 연성 메시지 계엄 강조 ㅇㅇ(121.172) 18:09 17 1
2905925 네카라쿠베 쿠팡 가려면 중국인 되야 한다네 [1] 발명도둑잡기(39.7) 18:08 30 0
2905924 진보정당 역사의 6가지 교훈과 재구성의 길 발명도둑잡기(39.7) 18:05 18 0
2905922 안녕하세요. 프갤러(125.177) 17:51 19 0
2905921 바람은 찬데 저녁노을은 따스하구낭❤+ [2] ♥발라당냥덩♥갤로그로 이동합니다. 17:50 33 0
2905920 팀프로젝트 말고 1인 프로젝트만 교육시켜주는 프로그램은 없음? [1] 프갤러(221.166) 17:46 19 0
2905918 국정원 존재이유가 감시통제아님??하는일이 타이밍뒷.통수한방(1.213) 17:32 20 0
2905917 "쿠팡 IT 인력 절반 이상 중국인"…내부 폭로에 '발칵' 발명도둑잡기(211.246) 17:31 27 0
2905916 오픈AI 연구원 "고교 중퇴 후 챗GPT로 머신 러닝 배워...박사급들과 ㅇㅇ(106.102) 17:30 22 0
2905915 '일반 사무 업무' 라더니... 비밀 유지 계약서까지..? /KNN 발명도둑잡기(211.246) 17:28 12 0
2905913 호떡의 계절..❤+ [2] 따당갤로그로 이동합니다. 16:36 51 0
2905912 나 더이상 못버티겠어 퇴사해야할듯해.. [3] ㅇㅇ(211.235) 16:31 76 0
2905911 형들 이거 뭐임? [4] 프갤러(118.235) 16:18 82 0
2905910 군대는 언제감? [6] ㅇㅇ갤로그로 이동합니다. 15:47 61 0
2905909 요새 여기 저기 개인정보 털리네 [2] 류류(121.140) 15:38 44 0
2905908 안녕하세요. ㅇㅇ(118.221) 15:34 20 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2