Brawny vs. Wimpy: Evaluation and Analysis of Modern Workloads on Heterogeneous Processors

Reference: V. Gupta and K. Schwan, “Brawny vs. Wimpy: Evaluation and Analysis of Modern Workloads on Heterogeneous Processors,” in 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (PDPWPF), 2013, pp. 74–83.


Summary

본 논문은 클라이언트 머신과 서버 머신에서 brawny core와 wimpy core의 성능/에너지 관련 특성을 분석한 논문이다. 저자는 먼저 brawny core와 wimpy core를 선호하는 워크로드의 특성에 대하 간략히 논한다. 그 후, 클라이언트 머신과 서버 머신에서 사용할 realistic workload를 자세히 정의하고, 이 워크로드를 직접 돌려보며 성능/에너지 특성을 도출한다.


본 논문에서 도출한 주요 성능/에너지 특성을 정리하면 다음과 같다.


  • 모든 워크로드가 wimpy core에서 에너지가 절감되는 것은 아니다. 워크로드의 특성에 따라 brawny core가 성능도 좋으면서 에너지 소모량이 작은 경우도 존재한다.
  • 통상적으로 IPC(instructions per cycle)가 낮은 워크로드는 memory bound한 경향이 있기 때문에 wimpy core 대비 brawny core에서 성능 향상이 낮다고 여겨지지만, wimpy core의 cache size가 작은 경우 이 관념이 깨지는 경우가 존재한다. 잦은 cache miss로 인해 wimpy core에서 성능이 매우 떨어지기 때문이다.
  • Energy consumption과 IPC도 역시 뚜렷한 상관관계가 없다.
  • 모바일 기기의 경우 필요 이상으로 성능을 높여봐야 유저가 인지하지 못하는 경우가 존재한다.


Discussion

방대한 양의 실험을 했음에도 불구하고 이 논문은 통찰력 있는 결론을 충분히 끌어내지 못하였다는 점에서 아쉬움이 남는다. 저자는 통상적으로 사용되는 metric들로는 각 워크로드의 power efficiency를 판별하는 것이 불가능하다는 것은 입증하였지만, 다른 대안을 제시하지 못하였다. 저자가 제안하는 스케줄러는 성능과 에너지 측면에서 큰 효용이 있지만 power efficiency를 사전에 알고 있다는 가정 하에 설계되었기 때문에 실용적이지 않다.


또 실험에서 사용되는 워크로드가 자세히 설명되지 않았고, 몇몇 워크로드의 경우 어떻게 구현되었는지 감도 잡히지 않는다는 측면에서 reproducible하지 않다는 치명적인 단점이 있다. 이는 실험의 신빙성을 크게 떨어뜨린다. 또한 서버와 클라이언트에서 사용된 몇몇 워크로드는 실제 많이 사용되는 case가 아니다. (예를 들어, 모바일 기기에서 압축을 풀거나 동영상 인코딩을 하는 작업이 자주 일어나지는 않는다. 서버에서 단일 노드에서 map reduce 알고리즘을 돌리는 것도 마찬가지다.)


하지만 학계에서의 original contribution과는 별개로, power efficiency 판별의 어려움을 실험을 통해 효과적으로 설명했다는 점에서 asymmetric multicore system에 진입하는 연구자들은 충분히 읽을만한 가치가 있다고 생각한다.

  Comments,     Trackbacks
Amazon의 2016년 전략에 관한 기사

기사 원문: http://www.zdnet.com/article/amazons-2016-five-key-cloud-e-commerce-questions/


AWS is dominant in infrastructure as a service, but moving up the stack quickly. The big question is how far can AWS go in value-added services. These higher-margin services mean AWS will bump into tougher competition from incumbents who have retrenched in areas like analytics to stay away from the price war fray of infrastructure as a service. My take is that AWS will surprise folks with its ability to move into higher-end services just like it did with infrastructure initially.


흥미로운 것은 이 기사에서 주장하는 아마존의 확장 전략이 스마트폰 시장에서 구글이나 애플이 사용하였던 전략과 유사하다는 점이다. 구글이나 애플이 모바일 OS를 장악한 후 이를 기반으로 앱스토어 마켓에서 절대적인 영향력을 발휘하며 이득을 보았다면, 아마존은 IaaS 시장의 점유율을 높인 후 이를 기반으로 클라우드 기반 서비스 시장의 판도를 바꾸려고 하고 있다. 기반 플랫폼을 장악한 회사가 그 힘을 기반으로 서비스 마켓에서 큰 이득을 취하려고 하는 것이다.


국외의 클라우드 기반 서비스 기업들도 이런 움직임에 위협을 느끼고 있는데, 국내에서 클라우드 쪽 사업을 기획/진행하고 있는 기업들은 어떤 생각을 가지고 있을지 궁금하다.

  Comments,     Trackbacks
HASS: A Scheduler for Heterogeneous Multicore Systems

※ 2013년 12월 15일 작성된 자료임


Daniel Shelepov et al, "HASS: a scheduler for heterogeneous multicore systems," ACM SIGOPS Operating Systems Review 43.2 pp. 66-75, 2009


Summary

본 논문은 Single-ISA heterogeneous multi-core processor의 전체 throughput을 향상시킬 수 있는 스케줄링 알고리즘을 제안한다. 해당 논문이 출판되는 시점까지 관련 연구들이 봉착하고 있었던 가장 큰 문제는 낮은 성능의 코어에서 높은 성능의 코어로 프로세스가 이동했을 때 어느 정도 성능 향상이 이루어 질지 예측하기 힘들다는 것이었다. 많은 연구들이 동적인 CPI 모니터링 같은 오버헤드가 높은 수단에 의지하고 있었다. 본 논문은 memory-bound 프로세스가 상대적으로 성능 향상이 작다는 점에 착안한다. 사전 모니터링을 통해 memory-bound 프로세스들을 구분하기 위한 정보(last-level cache miss rate)를 저장하고, 스케줄링 때 이 정보를 사용하여 해당 프로세스들을 낮은 성능의 코어에 할당시키며 문제를 해결한다. 실험 결과 효과적으로 memory-bound 프로세스들을 구분해 내었으며, 최대 13%의 성능 향상을 보였다.


Different speedup of a memory-bound process and a CPU-bound process in heterogeneous multicores


Review

이 논문의 저자들은 논문이 출판된 2009년을 기점으로 유수의 학회에 관련 논문을 제출하며 전성기를 맞는다. (TOCS '12, SIGMETRICS '13) 그런 점에서 single-ISA heterogeneous multi-core processor에 관심이 있는 사람이라면 아이디어를 확인하고 넘어갈 필요가 있다. 본 논문의 contribution은 다음과 같다.

  1. CPI (cycles per instruction) 같은 복잡한 metric에 의존하지 않고, 프로세스의 특성을 사용하여 speedup을 예측하는 방법을 제시하였다.
  2. 오버헤드를 줄이기 위해 offline 모니터링을 제안하였고, 실험 결과 훌륭한 예측률을 보였다.


물론 연구가 초기 단계였기 때문에 해결책이 정교하지 못하다는 점에서 아쉬움이 남는다. Memory latency를 상수로 두는 가정은 현대의 NUMA architecture에 적합하지 않다. Memory stall을 제외하였을 때의 speedup이 모든 프로세스에 대해 상수라는 가정도 좀 비약이 아닐까 싶다. 스케줄링 알고리즘에서 optimal assignment와 regular assignment 사이의 분기 조건도 명시하지 않았다.



  Comments,     Trackbacks