거짓 공유 (false sharing)
캐싱의 기본은 지역성에 근거하는데요, 이는 프로그래밍단의 최적화에서도 유명한 80-20법칙과도 일맥상통하는 이야기죠. 지역성(locality)은 아래 추정에 근거합니다. 1. 지금 읽힌 데이터는 이후에도 자주 사용될 가능성이 높다. 2. 지금 읽힌 데이터와 인접한 데이터는 이어서 사용될 가능성이 높다. 이는 코드 실행시 스택 처리를 통해 얻게 되는 장점과 유사합니다. 단일 코어가 아닌 멀티 코어 CPU는 데이터를 읽어올때, 캐시 라인 (cache line)이란 단위로 읽어옵니다. 캐시 라인이라 함은 지역성에 근거해 인접한 데이터를 미리 읽어옴으로써 속도향상을 노리는 것이지요. 하지만 이는 장점이자 독이 되기도 합니다. 멀티코어에서는 A스레드와 B스레드에서 인접 메모리를 접근할때, 캐시에 있던 내용을 메모..
General/Parerell
2010. 8. 19. 18:57
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RoR
- Rails
- 게임개발포에버
- 멀티스레드
- TraceRoute
- CppSQLite
- EasyExec
- SQLite Spy
- 엘키
- 게임데브포에버
- ruby
- EzShortcut
- 임백준
- 조엘 온 소프트웨어
- NDC2013
- 루비 온 레일즈
- 디자인 패턴
- Ruby on Rails
- 리버스 엔지니어링
- 바로가기 프로그램
- 디버깅
- MS-SQL
- c언어
- perfmon
- 루비
- svn
- 좋은 프로그래머
- TDD
- ftp
- SDL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함