Cache-Conscious Structure Definition

Posted at 2008/04/21 15:27 // in Research/Papers Review // by Daniel

프로그램에서 배열로 쓰는 것 보다는 구조체나 클래스를 정의해서 쓰는 게 알고리즘적으로는 더 스마트합니다.

그런데 하드웨어 입장에서 보면 캐쉬 구조상 관련된 것들끼리 메모리상으로 가까울 것으로 예상하고 또한 성능이 더 좋습니다.

그렇다면 구조체나 클래스를 쓸 때도 캐쉬를 생각해서 구조를 잡는 게 유리하겠죠

 

그에 대한 페이퍼를 찾아봤는데

scholar.google.com에서

class struct cache live

이렇게 검색하니 나오네요.

ftp://ftp.cs.wisc.edu/wwt/pldi99_cache_def.pdf 99년에 나온 페이퍼입니다. 아직 읽어보진 않았습니다.

Trishul M. Chilimbi, Bob Davidson, James R. Larus

A program’s cache performance can be improved by changing the
organization and layout of its data—even complex, pointer-based
data structures. Previous techniques improved the cache performance
of these structures by arranging distinct instances to increase
reference locality. These techniques produced significant performance
improvements, but worked best for small structures that
could be packed into a cache block.

후략

같은 사람이 2000년에 낸 페이퍼도 있습니다.

http://ftp.cs.wisc.edu/wwt/computer00_conscious_original.pdf

Trishul M. Chilimbi, Mark D. Hill, James R. Larus

Making Pointer-Based Data Structures Cache Conscious

위스콘신대랑 MicroSoft

 

http://www.info.uni-karlsruhe.de/lehre/2002SS/uebau2/papers/ChilimbiHillLarus-1999.pdf

Proceedings of the SIGPLAN ‘99 Conference on Programming Languages Design and Implementation (PLDI 99), May 1999,
Atlanta Georgia.

Trishul M. Chilimbi, Mark D. Hill, James R. Larus

크리에이티브 커먼즈 라이센스
Creative Commons License

이 글에는 트랙백을 보낼 수 없습니다