Abstract
Pipeline parallel programming is a frequently used model to program applications on multiprocessors. Despite its popularity, there is a lack of studies of the characteristics of such workloads. This paper gives an overview of the pipeline model and its typical implementations for multiprocessors. We present implementation choices and analyze their impact on the program. We furthermore show that workloads that use the pipeline model have their own unique characteristics that should be considered when selecting a set of benchmarks. Such information can be beneficial for program developers as well as for computer architects who want to understand the behavior of applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bienia, C., Kumar, S., Li, K.: PARSEC vs. SPLASH-2: A Quantitative Comparison of Two Multithreaded Benchmark Suites on Chip-Multiprocessors. In: Proceedings of the 2008 International Symposium on Workload Characterization (September 2008)
Bienia, C., Kumar, S., Singh, J.P., Li, K.: The PARSEC Benchmark Suite: Characterization and Architectural Implications. In: Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (October 2008)
Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., Hanrahan, P.: Brook for GPUs: Stream Computing on Graphics Hardware. In: International Conference on Computer Graphics and Interactive Techniques 2004, pp. 777–786. ACM, New York (2004)
Eeckhout, L., Vandierendonck, H., Bosschere, K.D.: Quantifying the Impact of Input Data Sets on Program Behavior and its Applications. Journal of Instruction-Level Parallelism 5, 1–33 (2003)
Giladi, R., Ahituv, N.: SPEC as a Performance Evaluation Measure. Computer 28(8), 33–42 (1995)
Gordon, M.I., Thies, W., Amarasinghe, S.: Exploiting Coarse-Grained Task, Data, and Pipeline Parallelism in Stream Programs. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 151–162. ACM, New York (2006)
Joshi, A., Phansalkar, A., Eeckhout, L., John, L.K.: Measuring Benchmark Similarity Using Inherent Program Characteristics. IEEE Transactions on Computers 28(8), 33–42 (1995)
Khailany, B., Dally, W.J., Kapasi, U.J., Mattson, P., Namkoong, J., Owens, J.D., Towles, B., Chang, A., Rixner, S.: Imagine: Media Processing with Streams. IEEE Micro 21(2), 35–46 (2001)
Kuck, D.J.: A Survey of Parallel Machine Organization and Programming. ACM Computing Surveys 9(1), 29–59 (1977)
Kudlur, M., Mahlke, S.: Orchestrating the Execution of Stream Programs on Multicore Platforms. SIGPLAN Notices 43(6), 114–124 (2008)
Li, K., Naughton, J.F.: Multiprocessor Main Memory Transaction Processing. In: Proceedings of the First International Symposium on Databases in Parallel and Sistributed Systems, pp. 177–187. IEEE Computer Society Press, Los Alamitos (1988)
Liao, S.w., Du, Z., Wu, G., Lueh, G.Y.: Data and Computation Transformations for Brook Streaming Applications on Multiprocessors. In: Proceedings of the International Symposium on Code Generation and Optimization, pp. 196–207. IEEE Computer Society Press, Washington, DC (2006)
Ottoni, G., Rangan, R., Stoler, A., August, D.: Automatic Thread Extraction with Decoupled Software Pipelining. In: Proceedings of the 38th Annual International Symposium on Microarchitecture, p. 12 (2005)
Phansalkar, A., Joshi, A., John, L.K.: Analysis of Redundancy and Application Balance in the SPEC CPU2006 Benchmark Suite. In: ISCA 2007: Proceedings of the 34th Annual International Symposium on Computer Architecture, pp. 412–423. ACM, New York (2007)
Rangan, R., Vachharajani, N., Vachharajani, M., August, D.: Decoupled Software Pipelining with the Synchronization Array. In: Proceedings of the 13th International Conference on Parallel Architecture and Compilation Techniques, pp. 177–188 (2004)
Subhlok, J., Vondran, G.: Optimal Latency-Throughput Tradeoffs for Data Parallel Pipelines. In: Proceedings of the Eighth Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 62–71. ACM, New York (1996)
Thies, W., Chandrasekhar, V., Amarasinghe, S.: A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Programs. In: Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 356–369. IEEE Computer Society Press, Washington, DC (2007)
Vandierendonck, H., De Bosschere, K.: Many Benchmarks Stress the Same Bottlenecks. In: Workshop on Computer Architecture Evaluation Using Commercial Workloads, pp. 57–64 (February 2004)
Woo, S.C., Ohara, M., Torrie, E., Singh, J.P., Gupta, A.: The SPLASH-2 Programs: Characterization and Methodological Considerations. In: Proceedings of the 22nd International Symposium on Computer Architecture, pp. 24–36 (June 1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bienia, C., Li, K. (2011). Characteristics of Workloads Using the Pipeline Programming Model. In: Varbanescu, A.L., Molnos, A., van Nieuwpoort, R. (eds) Computer Architecture. ISCA 2010. Lecture Notes in Computer Science, vol 6161. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24322-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-24322-6_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24321-9
Online ISBN: 978-3-642-24322-6
eBook Packages: Computer ScienceComputer Science (R0)