Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/MICRO.2012.44acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
Article

Kernel Partitioning of Streaming Applications: A Statistical Approach to an NP-complete Problem

Published: 01 December 2012 Publication History
  • Get Citation Alerts
  • Abstract

    One of the greatest challenges in computer architecture is how to write efficient, portable, and correct software for multi-core processors. A promising approach is to expose more parallelism to the compiler, through the use of domain-specific languages. The compiler can then perform complex transformations that the programmer would otherwise have had to do. Many important applications related to audio and video encoding, software radio and signal processing have regular behavior that can be represented using a stream programming language. When written in such a language, a portable stream program can be automatically mapped by the stream compiler onto multicore hardware. One of the most difficult tasks of the stream compiler is partitioning the stream program into software threads. The choice of partition significantly affects performance, but finding the optimal partition is an NP-complete problem. This paper presents a method, based on Extreme Value theory (EVT), that statistically estimates the performance of the optimal partition. Knowing the optimal performance improves the evaluation of any partitioning algorithm, and it is the most important piece of information when deciding whether an existing algorithm should be enhanced. We use the method to evaluate a recently-published partitioning algorithm based on a heuristic. We further analyze how the statistical method is affected by the choice of sampling method, and we recommend how sampling should be done. Finally, since a heuristic-based algorithm may not always be available, the user may try to find a good partition by picking the best from a random sample. We analyze whether this approach is likely to find a good partition. To the best of our knowledge, this study is the first application of EVT to a graph partitioning problem.

    References

    [1]
    "StreamIt project," http://groups.csail.mit.edu/cag/streamit/.
    [2]
    ACOTES, "IST ACOTES Project Deliverable D2.2 Report on Streaming Programming Model and Abstract Streaming Machine Description Final Version," 2008.
    [3]
    A. Azzalini, Statistical Inference Based on the Likelihood. Chapman and Hall, 1996.
    [4]
    A. A. Balkema and L. de Haan, "Residual life time at great age," Annals of Probability, vol. 2, 1974.
    [5]
    J. Beirlant et al., Statistics of Extremes: Theory and Applications. John Wiley and Sons, Ltd, 2004.
    [6]
    J. V. Bradley, Distribution-Free Statistical Tests. Prentice-Hall, 1968.
    [7]
    I. Buck, "Brook Spec v0.2," 2003.
    [8]
    CAG MIT, StreamIt Language Specification, Version 2.1, 2006.
    [9]
    P. M. Carpenter, A. Ramirez, and E. Ayguade, "Mapping stream programs onto heterogeneous multiprocessor systems," in Proceedings of the international conference on Compilers, Architecture, and Synthesis for Embedded Systems, 2009.
    [10]
    P. M. Carpenter et al., "A streaming machine description and programming model," Proceedings of the International Symposium on Systems, Architectures, Modeling and Simulation, 2007.
    [11]
    E. Castillo and A. Hadi, "Fitting the Generalized Pareto Distribution to data," Journal of the American Statistical Association, vol. 92, 1997.
    [12]
    E. Castillo, Extreme value theory in engineering. Academic Press, Inc., 1988.
    [13]
    S. J. Chapman, Essentials of MATLAB Programming. Cengage Learning, 2009.
    [14]
    H. Chernoff, "On the distribution of the likelihood ratio," Annals of Mathematical Statistics, vol. 25, 1954.
    [15]
    W. G. Cochran, Sampling Techniques, 3rd edition. Wiley-India, 2007.
    [16]
    L. Cucu-Grosjean et al., "Measurement-based probabilistic timing analysis for multi-path programs," in Proceedings of the 2012 24th Euromicro Conference on Real-Time Systems, 2012.
    [17]
    J. Eker et al., "Taming heterogeneity-the Ptolemy approach," Proceedings of the IEEE, vol. 91, no. 1, 2003.
    [18]
    S. M. Farhad et al., "Orchestration by approximation: mapping stream programs onto multicore architectures," in Proceedings of the sixteenth international conference on Architectural Support for Programming Languages and Operating Systems, 2011.
    [19]
    W. Feller, An introduction to Probability Theory and Its Applications. John Wiley & Sons, Inc., 1971.
    [20]
    M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Co., 1979.
    [21]
    M. Gilli and E. Këllezi, "An application of extreme value theory for measuring financial risk," Computational Economics, vol. 27, 2006.
    [22]
    M. Gordon, W. Thies, and S. Amarasinghe, "Exploiting coarse-grained task, data, and pipeline parallelism in stream programs," in Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems, 2006.
    [23]
    M. Gordon et al., "A Stream Compiler for Communication-Exposed Architectures," in Tenth International Conference on Architectural Support for Programming Languages and Operating Systems, 2002.
    [24]
    S. Grimshaw, "Computing the maximum likelihood estimates for the Generalized Pareto Distribution to data," Technometrics, vol. 35, 1993.
    [25]
    S. Ha and E. Lee, "Compile-time scheduling and assignment of data-flow program graphs with data-dependent iteration," IEEE Transactions on Computers, vol. 40, no. 11, 1991.
    [26]
    J. R. M. Hosking and J. R. Wallis, "Parameter and quantile estimation for the generalised pareto distribution," Technometrics, vol. 29, 1987.
    [27]
    ILOG, "CPLEX Math Programming Engine," http://www.ilog.com/products/cplex/.
    [28]
    E. Këllezi and M. Gilli, "Extreme value theory for tail-related risk measures," International Center for Financial Asset Management and Engineering, FAME Research Paper Series, 2000.
    [29]
    M. Kudlur and S. Mahlke, "Orchestrating the execution of stream programs on multicore platforms," in Proceedings of ACM SIGPLAN Conference on Programming Language Design & Impl., 2008.
    [30]
    D. Levin, Y. Peres, and E. Wilmer, Markov chains and mixing times. American Mathematical Society, 2009.
    [31]
    S. Liao et al., "Data and Computation Transformations for Brook Streaming Applications on Multiprocessors," in Proceedings of the International Symposium on Code Generation and Optimization, 2006.
    [32]
    L. Lovász, "Random walks on graphs: A survey," Combinatorics, Paul Erdos is Eighty, vol. 2, no. 1, 1993.
    [33]
    W. Lundgren, K. Barnes, and J. Steed, "Gedae: Auto Coding to a Virtual Machine," in 8th High Performance Embedded Computing Workshop, 2004.
    [34]
    K. Olukotun and L. Hammond, "The future of microprocessors," Queue, vol. 3, no. 7, Sep. 2005.
    [35]
    J. I. Pickands, "Statistical inference using extreme value order statistics," Annals of Statististics, vol. 3, 1975.
    [36]
    P. Radojkovic et al., "Optimal task assignment in multithreaded processors: A statistical approach," in Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems, 2012.
    [37]
    J. Sermulins et al., "Cache aware optimization of stream programs," in Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, Compilers, and Tools for Embedded Systems, 2005.
    [38]
    N. Tajvidi, "Design and implementation of statistical computations for Generalized Pareto Distributions," Technical Report, Chalmers University of Technology, 1996.
    [39]
    W. Thies, M. Karczmarek, and S. Amarasinghe, "StreamIt: A Language for Streaming Applications," International Conference on Compiler Construction, vol. 4, 2002.
    [40]
    E. Waingold et al., "Baring It All to Software: Raw Machines," Computer, 1997.
    [41]
    S. S. Wilks, "The large-sample distribution of the likelihood ratio for testing composite hypotheses," Annals of Mathematical Statistics, vol. 9, 1938.
    [42]
    S. S. Wilks, Mathematical Statistics. Princeton University, 1943.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    MICRO-45: Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture
    December 2012
    487 pages
    ISBN:9780769549248

    Sponsors

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 01 December 2012

    Check for updates

    Author Tags

    1. Extreme Value Theory
    2. Kernel partitioning
    3. StremIt

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 484 of 2,242 submissions, 22%

    Upcoming Conference

    MICRO '24

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 146
      Total Downloads
    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media