20190429

Performance Modeling Techniques for Effective Computer System Development
* 시스템 개발에서 성능 모델링이 중요함. 관건은 낮은 비용으로 정확하게 모델링하는 것.
* 적합한 abstraction level을 사용해 성능 모델링하는 것이 중요하다.
(1) Representative Stall Event Analysis (RpStacks).
* 어떤 작업을 A-B-C-D로 정의한다고 하자. C가 20만큼 줄면 성능이 20만큼 좋아지는가? 그렇지 않다. 실행되는 명령어 사이에 의존성이 있기 때문이다. Dependence graph에서의 가장 긴 경로가 실행 시간이 된다.
* 핵심 아이디어: dependence graph에서 representative path에 집중한다. Representative path에서 가장 긴 시간이 걸리는 task를 줄임으로써 성능 개선이 가능하다는 이야기인 듯.
* Multi-core에서는 어떻게 하나? Scheduling과 contention effect를 더한다.
(2) Focusing on Unique System Behavior
* 시스템 설정값 결정이 시스템 모델링에 중요함. 가장 정확하려면 timing simulator를 사용하면 되지만, 느리다. 가장 빠른 것은 emulator이지만 성능이 정확하지 않다. Sampling을 통해 trade-off 가능하지만, 정보 손실 발생.
* Emulation을 통해 빠르게 basic block 정보를 추출하고, basic block의 timing 성능 정보를 재구축하겠다. 이를 통해 large-scale의 성능 모델링을 수행할 수 있다는 것 같음. 같은 특성의 basic block에는 같은 성능 모델을 적용할 수 있으므로, 일종의 deduplication 기법 적용.
(3) Statistical models to extract representatives
* 데이터센터에 어떤 정책을 적용했을 때, 성능이 어떻게 변화할지는 예측하기 힘듦. 작업이 다양하기 때문에, 어떤 경우엔 이득이 될 수도, 어떤 경우엔 손해가 될 수도 있음.
* 해당 연구에서는 작업의 weighted-sum으로 전체 성능을 정의한다. weight으로는 코어 수를 사용.
* 성능 모델링을 위해 머신 레벨 모델링이 아니라, 작업 레벨의 모델링을 사용한다. 성능 특성은 작업마다 다르므로, 작업마다 모델링하는 것이 적은 비용으로 성능 모델을 추출하는 것에 적합하다.
(4) Machine Learning을 적용해 성능 모델링
* 지금까지 소개한 성능 모델링은 실제 데이터 센터에 적용하기에 위험할 수 있고, 성능 개선 원인을 이해하기 어려울 때도 있었다. 해당 연구의 목적은 DC 작업의 특성을 추출해내는 것. 머신 러닝을 사용하여 성능 모델링을 수행한다.
* 다양한 성능 특성이 있는데, PCA를 통해서 불필요한 차원을 줄여나간다. 총 110개 성능 특성 중에 18개 정도면 80% 를 커버할 수 있다.
* 데이터 특성에 따라 잘 동작하는 클러스터링 알고리즘이 다르다. 이를 동적으로 선택하도록 하겠다.


오늘의 일기
* 더 일찍 읽었어야 하지 않았나 생각이 드는 논문. [NSDI’11] Dominant Resource Fairness: Fair Allocation of Multiple Resource Types

Advertisements
Posted in 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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Categories
Recent Posts
누적 방문자 수
  • 160,481 hits
%d bloggers like this: