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