A Methodolgy to Evaluate Program Tuning Alternatives

프로그램 성능조율 대안을 평가하는 방법론

  • 엄현상 (서울대학교 컴퓨터공학부)
  • Published : 2006.12.15

Abstract

We introduce a new performance evaluation methodology that helps programmers evaluate different tuning alternatives in order to improve program performance. This methodology permits measuring performance implications of using tuning alternatives. Specifically, the methodology predicts performance after workload migration for a distributed or parallel program in contrast to traditional performance methodlogies that quantify time spent in program components for bottleneck identification. The methodology thus provides guidance on workload migration. The methodology also permits predicting the performance impact of changing the underlying network. The methodology may evaluate performance incrementally and online during the execution of the program to be tuned. We show that our methodology, when it is implemented and used, permits accurately predicting the performance of different tuning alternatives for a test suite of six programs.

본 논문에서는 프로그램의 성능을 향상시키기 위하여 프로그래머들이 다른 성능조율 대안들을 평가하는 것을 돕는 새로운 평가 방법론을 소개한다. 이 방법론은 조율 대안이 채택된 경우의 성능을 평가할 수 있게 한다. 구체적으로 말하자면, 성능 병목 지점의 확인을 위하여 프로그램 구성 요소들에서 소요되는 시간을 수량화하는 전통적인 성능 평가 방법론과는 대조적으로 분산 또는 병렬 프로그램이 처리하는 일의 이동 이후의 성능을 예측한다. 따라서, 이 방법론은 일의 처리 장소를 변경함으로써 성능을 향상시키는 것에 대한 가이드라인을 제공한다. 이 방법론을 사용하면 기반 네트워크 변경에 따른 성능에 대한 파급효과도 예측할 수 있다. 이 방법론은 조율할 프로그램이 실행되는 동안 점진적으로 그리고 온라인으로 성능을 평가할 수 있다. 본 논문에서는 이 방법론을 구현한 후 사용했을 때 여섯 프로그램들의 검사 집합에 대하여 다른 조율 대안들의 성능을 정확히 예측할 수 있다는 실험 검증 결과를 보인다.

Keywords

References

  1. S. K. Reinhart, J. R. Lams, and D. A. Wood, 'The Wisconsin Wind Tunnel: Virtual Prototyping of Parallel Computers,' SIGMETIRCS, pp. 46-60, May 1993 https://doi.org/10.1145/166955.166979
  2. L. Lamport, 'Time, Clocks, and the Ordering of Events in a Distributed System,' Comm. ACM, Vo1.21, No.7, pp. 558-564, 1978 https://doi.org/10.1145/359545.359563
  3. D. Kimelman and D. Zernik, 'On-the-Fly Topological Sort - A Basis for Interactive Debugging and Live Visuali-ation of Parallel Programs,' ACM/ONR Workshop on Parallel and Distributed Debugging, San Diego, CA, pp. 12-20, May 17-18, 1993 https://doi.org/10.1145/174266.174269
  4. J. K. Hollingsworth, 'An Online Computation of Critical Path Profiling,' SPDT'96: SIGMETRICS Symposium on Parallel and Distributed Tools, Philadelphia, PA, pp. H-20, May 22-23,1996 https://doi.org/10.1145/238020.238024
  5. B. P. Miller, M. D. Callaghan, J. M. Cargille, J. K. Hollingsworth, R. B. Irvin, K. 1. Karavanic, K. Kunchithapadarn, and T. Newhall, 'The Paradyn Parallel Performance Measurement Tools,' IEEE Computer, Vo1.28, No.H, pp. 37-46, 1995 https://doi.org/10.1109/2.471178
  6. A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam, PVM: Parallel Virtual Machine, The MIT Press, Cambridge, Mass, 1994
  7. A. J. Goldberg and J. L. Hennessy, 'Performance Debugging Shared Memory Multiprocessor Programs with MTOOL,' Supercomputing '91, Albuquerque, NM, pp. 481-490, Nov. 18-22, 1991 https://doi.org/10.1145/125826.126075
  8. M. Martonosi, A. Gupta, and T. Anderson, 'MemSpy: Analyzing Memory System Bottlenecks in Programs,' SIGMETRICS, Newport, RI, pp. 1-12, June 1-5, 1992
  9. F. Lange, R. Kroger, and M. Gergeleit, 'JEWEL: Design and Implementation of a Distributed Measurement System,' IEEE Transactions on Parallel and Distributed Systems, Vo1.3, No.6, pp. 657-671, 1992 https://doi.org/10.1109/71.180622
  10. D. A. Reed, R. A. Aydt, R. J. Noe, P. C. Roth, K. A. Shields, B. W. Schwartz, and L. F. Tavera, Scalable Performance Analysis: The Pablo Performance, Analysis Environment, Scalable Parallel Libraries Conference, A. Skjellum, Editor, IEEE Computer Society, pp. 104-113, 1993 https://doi.org/10.1109/SPLC.1993.365577
  11. J. K. Hollingsworth and B. P, Miller, 'Dynamic Control of Performance Monitoring on Large Scale Parallel Systems,' 7th ACM International Conference on Supercomputing (ICS), Tokyo, Japan, pp. 185-194, July 1993 https://doi.org/10.1145/165939.165969
  12. W. Williams, T. Hoel, and D. Pase, The MPP Apprentice Performance Tool: Delivering the Performance of the Cray T3D, Programming Environments for Massively Parallel Distributed Systems, North-Holland, 1994
  13. W. Gu, G. Eisenhauer, E. Kraemer, K. Schwan, J, Stasko, J, Vetter, and N. Mallavurupu, 'Falcon: On-line Monitoring and Steering of Large-Scale Parallel Programs,' Frontiers '95, McLean, VA, pp. 422-429, Feb. 6-9, 1995 https://doi.org/10.1109/FMPC.1995.380483
  14. D. A. Reed, K. A. Shields, W. H. Scullin, L. F. Tavera, and C. L. Ellford, 'Virtual Reality and Parallel Systems Performance Analysis,' IEEE Computer, Vo1.28, No.11, pp. 57-68, 1995 https://doi.org/10.1109/2.471180
  15. M. E. Crovella and T. J, LeBlanc, 'Parallel Performance Prediction Using Lost Cycles,' Supercomputing '94, Washington DC, pp. 600-609, Nov. 14-18, 1994 https://doi.org/10.1109/SUPERC.1994.344324
  16. V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer, 'A Static Performance Estimator to Guide Data Partitioning Decisions,' 1991 ACM SIGPLAN Symposium on Principals and Practice of Parallel Programming, Williamsburg, VA, pp. 213-223, April 21-24, 1991 https://doi.org/10.1145/109625.109647
  17. A. J, C. v. Gemund, 'Performance Prediction of Parallel Processing Systems: The PAMELA Methodology,' 7th ACM International Conference on Supercomputing (ICS), Tokyo, Japan, pp. 318-327, July 1993 https://doi.org/10.1145/165939.166002