The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - May-June (2013 vol.33)
pp: 86-94
Melanie Kambadur , Columbia University
Kui Tang , Columbia University
Martha A. Kim , Columbia University
ABSTRACT
Parallel block vector profiles (PBVs) establish a mapping between a multithreaded application's basic blocks and the degree of parallelism the application exhibits each time a block executes. PBVs offer a new perspective that helps users both reason about parallel programs' hardware and software interactions and identify opportunities for performance improvements. Here, the authors present two PBV applications for architectural design and discuss further opportunities to apply PBVs in other fields. They also demonstrate how the open-source tool Harmony lets programmers collect PBVs with minimal programmer effort and application perturbation.
INDEX TERMS
Computer architecture, Parallel processing, System performance, Computer programs, Performance evaluation, Programming, Hardware, Measurements, parallel block vector, parallel programming, programming techniques, software engineering, performance analysis and design aids, performance and reliability, hardware, performance measures, metrics/measurement
CITATION
Melanie Kambadur, Kui Tang, Martha A. Kim, "Parallel Block Vectors: Collection, Analysis, and Uses", IEEE Micro, vol.33, no. 3, pp. 86-94, May-June 2013, doi:10.1109/MM.2013.25
REFERENCES
1. Intel Corporation, "Intel VTune Amplifier XE," http://software.intel.com/en-usintel-vtune-amplifier-xe .
2. S.S. Shende and A.D. Malony, "The Tau Parallel Performance System," Int'l J. High Performance Computing Applications, vol. 20, no. 2, 2006, pp. 287-311.
3. STMicroelectronics, Inc., "PGProf: Parallel Profiling for Scientists and Engineers," 2011; www.pgroup.com/productspgprof.htm.
4. M. Itzkowitz and Y. Maruyama, "HPC Profiling with the SunStudio Performance Tools," Tools for High Performance Computing, Springer, 2009, pp. 67-93.
5. S. Garcia et al., "Kremlin: Rethinking and Rebooting gprof for the Multicore Age," Proc. ACM Sigplan Conf. Programming Language Design and Implementation (PLDI 11), ACM, 2011, pp. 458-469.
6. T. Sherwood et al., "Automatically Characterizing Large Scale Program Behavior," Proc. 10th Int'l Conf. Architectural Support for Programming Languages and Operating Systems, ACM, 2002, pp. 45-57.
7. C. Bienia, "Benchmarking Modern Multiprocessors," doctoral dissertation, Dept. Computer Science, Princeton Univ., 2011.
8. M.D. Hill and M.R. Marty, "Amdahl's Law in the Multicore Era," Computer, vol. 41, no. 7, 2008, pp. 33-38.
9. C. Lattner and V. Adve, "LLVM: A Compilation Framework for Lifelong Program Analysis and Transformation," Proc. Int'l Symp. Code Generation and Optimization (CGO 04), IEEE CS, 2004, pp. 75-86.
10. M. Kambadur, K. Tang, and M.A. Kim, "Harmony: Collection and Analysis of Parallel Block Vectors," Proc. Int'l Symp. Computer Architecture (ISCA 12), IEEE CS, 2012, pp. 452-463.
11. E.B. Nightingale et al., "Helios: Heterogeneous Multiprocessing with Satellite Kernels," Proc. ACM SIGOPS Symp. Operating Systems Principles (SOSP 09), ACM, 2009, pp. 221-234.
12. J. Gummaraju et al., "Twin Peaks: A Software Platform for Heterogeneous Computing on General-Purpose and Graphics Processors," Proc. Int'l Conf. Parallel Architectures and Compilation Techniques (PACT 10), ACM, 2010, pp. 205-216.
15 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool