Skip to main content

A Characterization of Control Independence in Programs

  • Chapter
Workload Characterization for Computer System Design

Part of the book series: The Springer International Series in Engineering and Computer Science ((SECS,volume 542))

  • 111 Accesses

Abstract

Many studies have shown that significant amounts of parallelism can be extracted from ordinary programs if a processor can accurately look ahead arbitrarily far into the dynamic instruction stream. Control flow changes caused by conditional branches are a major impediment to determining which of the distant instructions belong to the dynamic instruction stream. This chapter deals with the use of control independence information for extracting this “distant parallelism”. The two major contributions of the chapter are: (i) demonstration of control independence as a viable means to extract distant parallelism, and (ii)detailed characterization of control independence, in terms of granularity and the available parallelism at each granularity level. The frequency data (on control independence granularity) presented is a first step in determining what situations require special attention. This knowledge can be applied to the development of specialized hardware architectures that can utilize control independences at different granularity levels.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. M. Austin and G. S. Sohi, “Dynamic Dependency Analysis of Ordinary Programs,” Proc. 19th Annual International Symposium on Computer Architecture, pp. 342–351, 1992.

    Google Scholar 

  2. R. Cytron, J Ferrante, B. Rosen, M. Wegman, and F. Zadeck, “Efficiently Computing Static Single Assignment Form and the Control Dependence Graph,” ACM Transactions on Programming Languages and Systems, Vol. 13, No. 4, pp. 451–490, October 1991.

    Article  Google Scholar 

  3. P. Dubey, K. O’Brien, K. M. O’Brien, and C. Barton, “Single-Program Speculative Multithreading (SPSM) Architecture: Compiler-assisted Fine-Grained Multithreading,” Proc. International Conference on Parallel Architecture and Compilation Techniques (PACT’ 95), 1995.

    Google Scholar 

  4. M. Franklin, “The Multiscalar Architecture,” Ph.D. Thesis, Technical Report 1196, Computer Sciences Department, University of Wisconsin-Madison, 1993.

    Google Scholar 

  5. M. Franklin, “Multi-Version Caches for Multiscalar Processors,” Proc. International Conference on High Performance Computing, p-p. 99–104, 1995.

    Google Scholar 

  6. M. Franklin and G. S. Sohi, “ARB: A Hardware Mechanism for Dynamic Memory Disambiguation,” IEEE Transactions on Computers,Vol. 45, No. 5, pp. 552–571, May 1996.

    Article  MATH  Google Scholar 

  7. S. Jayashree and S. Vajapeyam, “Exploiting Parallelism across Basic Blocks via Decoupled Control Flow,” Technical Report TR No.IISc-CSA-95-01, Department of Computer Science and Automation, Indian Institute of Science, March 21, 1995.

    Google Scholar 

  8. M. S. Lam and R. P. Wilson, “Limits of Control Flow on Parallelism,” Proc. 19th Annual International Symposium on Computer Architecture, pp. 46–57, 1992.

    Google Scholar 

  9. M. H. Lipasti and J. P. Shen, “Exceeding the Dataflow Limit via Value Prediction,” Proc. 29th International Symposium on Microar-chitecture (MICRO-29), pp. 226–237, 1996.

    Google Scholar 

  10. S. A. Mahlke, R. E. Hank, R. A. Bringmann, J. C. Gyllenhaal, D. M. Gallagher, and W. W. Hwu, “Characterizing the Impact of Predicated Execution on Branch Prediction,” Proc. 27th International Symposium on Microarchitecture, pp. 217–227, 1994.

    Google Scholar 

  11. R. K. Montoye, E. Hokenek, and S. L. Runyon, “Design of the IBM RISC System/6000 Floating-Point Execution Unit,” IBM Journal of Research and Development, Vol. 34, No. 1, pp. 59–70, January 1990.

    Article  Google Scholar 

  12. J. T. Oplinger, D. L. Heine, and M. S. Lam, “In Search of Speculative Thread-Level Parallelism,” Proc. International Conference on Parallel Architecture and Compilation Techniques (PACT’ 99), 1999.

    Google Scholar 

  13. M. Postiff, D. Greene, G. Tyson, and T. Mudge, “The limits of instructions level parallelism in SPEC95 applications,” Proc. 3rd Workshop on Interaction Between Compilers and Computer Architecture (INTERACT-3), 1998.

    Google Scholar 

  14. E. Rotenberg, Q. Jacobson, and J. E. Smith, “A Study of Control Independence in Superscalar Processors,” Proc. 5th International Symposium on High Performance Computer Architecture (HPCA), 1999.

    Google Scholar 

  15. G. S. Sohi, S. E. Breach, and T. N. Vijaykumar, “Multiscalar Processors,” Proc. 22nd International Symposium on Computer Architecture, pp. 414–425, 1995.

    Google Scholar 

  16. K. B. Theobald, G. R. Gao, and L. J. Hendren, “On the Limits of Program Parallelism and its Smoothability,” Proc. 25th Annual International Symposium on Microarchitecture (MICRO-25), pp. 10–19, 1992.

    Google Scholar 

  17. D. M. Tullsen, S.J. Eggers, and H.M. Levy, “Simultaneous Multithreading: Maximizing On-Chip Parallelism,” proc. 22nd Annual International Symposium on Computer Architecture, pp. 392–403, 1995.

    Google Scholar 

  18. T. N. Vijaykumar and G. S. Sohi, “Task Selection in a Multiscalar Processor,” Proc. 31st International Symposium on Microarchitecture, 1998.

    Google Scholar 

  19. T-Y. Yeh and Y. N. Patt, “Alternative Implementations of Two-Level Adaptive Branch Prediction,” Proc. 19th Annual International Symposium on Computer Architecture, pp. 124–134, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer Science+Business Media New York

About this chapter

Cite this chapter

Bhowmik, A., Franklin, M. (2000). A Characterization of Control Independence in Programs. In: John, L.K., Maynard, A.M.G. (eds) Workload Characterization for Computer System Design. The Springer International Series in Engineering and Computer Science, vol 542. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-4387-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-4387-9_8

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-6973-8

  • Online ISBN: 978-1-4615-4387-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics