20140701

프로젝트
1. KLEE 실행 시 thread 수 늘리는 방법 알기
2. Cloudsuite의 각 workload에 대해 VM(Xen), Native에서의 성능 비교
3. Die-Stacked DRAM Caches for Servers 논문 읽기
4. Flexus 사용법 익히기
5. USIMM, DRAMSim 사용법 및 이해
6. HBM에 대해 조금 더 자세히 알아보기
7. Faban이라는 것이 무엇인지 찾아보기 (Client Simulation)
8. Memory Bandwidth Partitioning이 무엇인가?
9. Xen 설치
10. 프로젝트 제안서 읽어보기
11. Excel 그래프 그리는 방법 알아보기
12. Cache Partitioning 이 무엇인가?
13. Page coloring 이 무엇인가?
14. Microbenchmark가 무엇인가?
15. Bayesian Classification 이 무엇인가?
16. DDR4에 대해 찾아보기

개인 연구
1. Cache and Memory Hierarchy Design A Performance-directed Approach – DRAM 읽기
2. GEM5 알아보기
3. Simics 공부하기
4. SPEC을 사용할 때 trace를 사용한다 하는데, trace가 무엇인지?
5. MARSSx86 사용법 알아보기
6. Introduction to parallel computing 2nd Edition, Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta 알아보기
7. Multicore multiprocessor system에서 Processor A가 가진 lock을 Processor B가 acquire할 때 LLC miss가 발생한다. 이것에 대해 교수님으로부터 설명을 들었으나, 완전히 정리되지는 않음. 혼자 정리해서 다시 교수님/선배님들과 이야기해 보기.

지금 대강 정리하자면, 아래와 같다. (맞는지는 모르겠다. 확인해보아야 함.)

논문에 아래와 같은 표현이 있었고, lock acquire가 왜 LLC miss로 이어지는지 이해가 되지 않았음. (이해가 되지 않는데, 어떻게 검색할지 알 수 없어서 곤란했다.)

Inappropriate distribution of threads across processors increases LLC misses in the critical path and significantly degrades performance of multithreaded programs. (Kishore Kumar Pusukuri, Rajiv Gupta, Laxmi Narayan Bhuyan, Lock Contention Aware Thread Migrations)

교수님께서 말씀해주신 것을 요약하자면, cache coherence에 의해 LLC miss가 발생하며, LLC miss는 lock acquire하는 시점에 발생한다.

구체적인 예로 살펴보자. (Cache coherence를 위해 MSI 프로토콜을 사용한다고 하자.)
1) Processor A가 lock을 걸고 변수 var를 수정하는 상황을 보자. lock은 일종의 변수이고, 이 또한 캐시에 쓰인다. 따라서 lock과 변수 모두 캐시에 쓰이며, Processor A의 캐시에서 두 변수 모두 M 상태가 된다. (Modified)
2) 동시에 Processor B의 캐시에서는 lock과 var 모두 I 상태가 된다. (Invalidated)
3) 이제 Processor B가 lock을 acquire하고 공유 변수 var를 수정한다고 하자. 이때 LLC miss가 발생하는데, Processor A가 방금 Processor B의 두 변수를 모두 invalidate했으므로 cache miss가 발생한다.

이것이 맞는지는 잘 모르겠다. LLC miss라는 것은 last level cache에 대한 miss인데, multiprocessor system에서 last level cache는 각 프로세서에 독립적으로 있는가? 여러 프로세서 사이에 공유된 LLC가 있어야 맞는 것 아닌가? 내가 위 상황 또는 LLC 둘 중 하나를 잘못 이해하고 있는 것 같다.

Advertisements
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 98,563 hits
%d bloggers like this: