20160830 – Research

1. 실험 결과 정리 및 분석
2016/08/29에 이어 실험 결과 분석을 계속했다.

Q5. Hybrid NN을 통한 성능 향상 수준?
A5. 성능 향상이 이루어지지 않았다. 1.5% 가량의 성능 저하가 발생했다. 전체 1001개 워크로드 믹스 중 901개로 partition or not NN을 학습하고, 901개 중 110개를 사용해 NN guided hill climbing을 학습했다. 이 두 개의 뉴럴 넷을 통합하여 hybrid 뉴럴 넷을 구성하였다. 나머지 100개의 워크로드 믹스(테스트 셋)에 대해 partition or not을 먼저 결정하고, 이들에 대해 NN guided hill climbing을 수행했다(반복적으로 NN guided hill climbing 적용). 그리고 캐시를 공유했을 때에 비해 hybrid NN의 성능 향상이 얼마나 되는지 확인했다. 성능이 오히려 떨어지는 것을 확인할 수 있었다. 시작점이 문제인 듯 하여 모든 가능한 시작점을 대상으로 hybrid NN을 적용해보았으나, 성능 향상을 볼 수 없었다. 평균적으로 보면 성능이 떨어지지만, 개별 워크로드로 보면 성능이 향상되는 경우도 있었다. 하지만 전반적으로 성능이 떨어지는 경향을 보였다.

Q6. NN guided hill climbing이 normal hill climbing에 비해서 얼마나 좋은가? (1) hill에 도달하기까지 몇 번의 step이 필요한지, (2) hill에 도달한 경우에 성능 향상 정도는 어떤지? (2016/08/23)
A6. 의외로 NN guided hill climbing이 성능이 떨어지는 바람에 이 문제는 무의미해졌다.

Q7. 이번 실험 및 분석에서는 2016/08/17에 있었던 문제는 모두 해결되었는지?
A7. 중요한 문제들은 해결됨.


2. 교수님께 메일 전송
안녕하세요 교수님, 연구 진행 상황 말씀드립니다.

요약
* Hybrid NN을 구성해서 가능성을 확인했었으며, 실험 상 오류를 해결하여 다시 결과 분석함.
* 예상과 달리 hybrid NN을 사용했을 때 성능 향상을 볼 수 없었음 (평균 1~2% 성능 저하 – MPKI 기준).
* 연구 방향에 대해 고민 중
(1) 지금까지의 방향: NN guided cache partitioning + end-performance based QoS
(2) 새롭게 고민하는 방향: Resource as a Service에서의 cache 공급 정책

상세
(1) Hybrid NN을 사용한 캐시 파티셔닝에서 성능 향상 안 됨.
* Hybrid NN = partition or not NN + NN guided hill climbing
* TensorFlow를 사용해 두 개의 뉴럴 넷을 조합할 수 있음을 확인 (2016/08/16)
* 지난 실험에 문제가 있어서 재설계하여 실험 진행 (2016/08/20~2016/08/27)
– training data set / test data set의 분리
– NN guided hill climbing에서 반복적 hill climbing

* 결론: Hybrid NN을 사용해서 성능 저하 이룰 수 없었음. (1~2% 성능 저하)
* 원인
– NN guided hill climbing이 현재의 partitioned cache 보다 나은 상태로 감을 보장하지만,
shared cache에 비교해 좋은 성능을 냄을 보장하지 못함.

(2) 연구 방향에 대한 고민
* 실험을 진행하는 동안 cache partitioning, QoS 관련된 논문을 읽어보았습니다.

* 현재까지 하고자 했던 것은 cache 수준에서의 QoS 보장이었습니다.
end-performance를 기준으로 QoS를 보장하고자 했습니다.
– end-performance에 대한 최소한의 수준 보장 (예를 들어, 90% tail latency에 대해 minimum latency 보장)
– end-performance에 문제가 발생하지 않는 수준에서 최소한의 자원을 제공

* 논문을 읽으며 고민해보았는데, 그 반대가 되어야 하지 않나 하고 생각했습니다.
resource-availability를 기준으로 QoS를 보장하는 것은 어떤가 하고 생각했습니다.
– resource-availability에 대한 최소한의 수준 보장 (실행 시간의 90%에 대해 50%의 캐시 크기 보장)
– 사용자가 resource-availability에 문제를 받지 않는 수준에서 캐시 overcommit.

비슷한 내용인 것 같은데, 관점이 약간 다른 것 같습니다.
end-performance를 기준으로 QoS를 보장하려면 사용자의 정보 제공 및 협력이 필요한데,
resource-availability를 기준으로 QoS를 보장한다면 협력이 필요하지 않기 때문입니다.
아니면 두 가지 방향 모두를 살펴보는 연구를 하는 것도 괜찮을 것 같습니다.
(with cooperation / without cooperation)

앞으로 할 것 & 생각
* 교수님께서 시간 있으실 때 한 번 연구 방향에 대해 이야기해보고 싶습니다.
* NN guided cache partitioning은 잘 되지 않는 것 같습니다.

허태경 드림

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

누적 방문자 수
  • 93,200 hits
%d bloggers like this: