Archive for 4월 21st, 2008

권욱현 교수님

월요일, 4월 21st, 2008

올 학기 초에 "우연히" 학부 세미나 과목에 청강하러 갔다가 권욱현교수님의 고별연설겸 특강을 듣게 됐습니다.

권욱현 교수님은 제어학과의 거두쯤 되시는 분으로 올해 은퇴하시게 됩니다. 관련 인터뷰

이 분이 유명한 이유는 가장 큰 것이 이른바 ‘벤쳐의 대부’ 라고 불릴 정도로 후진들의 벤쳐 창업과 성공이 눈부시기 때문입니다.

제가 일전에 다녔던 우리기술이란 회사도 이 분의 제자들이 만든 회사였지요

사실 나이가 그렇게 많으신 줄 몰랐고 이제 은퇴하신다니(이미 명예교수셨습니다) 아쉽기도 했습니다.

특강 때 그 분께서 하신 말씀중 하나가 기억납니다.

"10년 정도면 목표 하나를 이룬다고 생각하고 노력하자"

자기 일생을 뒤돌아볼 때 그렇게 살아왔던 것 같다고 하시더군요

앞으로의 인생도 10년을 두고 뭔가 하나씩 배우고 이루어나가면 되지 않겠느냐 하셨습니다.

예를들어 구기종목 하나 배우고 악기 하나 배우고,

또한 해야할 목표들을 이루어가고 - 가깝게는 근래에 있을 세계제어학회 호스트, 책 쓰기등

10년 법칙 얘기가 한때 많이 나오기도 했었는데(예를 들면 공병호씨나 아니면 작은 소책자로 나왔던 스펜서 존슨씨의 "10년 후") 이분도 같은 생각을 하시는 것 같습니다

또한 일전에 들은 이야기로 피터드러커씨도 고령에임에도 불구하고 테니스도 배우시고 끝까지 배우고 이루어가는 삶을 살았던 걸 기억합니다.

제가 살갑지 못하고 용기가 없어서, 그리고 나름 자존심이 있어서 배우고 싶은 분과 만나서 이야기하고 그런 기회가 많이 없네요

하지만 가끔 그런 분들의 말씀을 들을때마다 도전이 됩니다.

Cache-Conscious Structure Definition

월요일, 4월 21st, 2008

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

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

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

 

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

scholar.google.com에서

class struct cache live

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

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

Cache-Conscious Structure Definition

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