Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Evaluating the performance of software cache coherence

Published: 01 April 1989 Publication History
  • Get Citation Alerts
  • Abstract

    In a shared-memory multiprocessor with private caches, cached copies of a data item must be kept consistent. This is called cache coherence. Both hardware and software coherence schemes have been proposed. Software techniques are attractive because they avoid hardware complexity and can be used with any processor-memory interconnection. This paper presents an analytical model of the performance of two software coherence schemes and, for comparison, snoopy-cache hardware. The model is validated against address traces from a bus-based multiprocessor. The behavior of the coherence schemes under various workloads is compared, and their sensitivity to variations in workload parameters is assessed. The analysis shows that the performance of software schemes is critically determined by certain parameters of the workload: the proportion of data accesses, the fraction of shared references, and the number of times a shared block is accessed before it is purged from the cache. Snoopy caches are more resilient to variations in these parameters. Thus when evaluating a software scheme as a design alternative, it is essential to consider the characteristics of the expected workload. The performance of the two software schemes with a multistage interconnection network is also evaluated, and it is determined that both scale well.

    References

    [1]
    Anant Agarwal and Anoop Gupta. Memory-Ke~erence Characteristics of Muttiprocessor Applications under MACH. In Proceedings of SIGMETRICS 1988, May 1988.
    [2]
    Anent Agarwal, Richard Simoni, John Hennessy, and Mark Hotowitz. An Evaluation of Directory Schemes for Cache Coherence. In Proceedings of the 15th international Symposium on Computer Architecture, June 1988.
    [3]
    James Archibald and Jean-Loup Beer. Cache Coherence Protocols: Evaluation Using a M ultiprocessor Simulation Model. A CM Transactions on Computer Systems, 4(4):273-298, November 1986.
    [4]
    W. C. Brantley, K. P. McAuliffe, and J. Weiss. RP3 Processor-Memory Element. In Proceedings 1985 Int'l Conference on Parallel Processing, pages 782-789, 1985.
    [5]
    Lucien M. Censier and Paul Feautrier. A New Solution to Coherence Problems in Multicache Systems. IEEE Transactions on Computers, c-27(12):1112-1118, December 1978.
    [6]
    H. Cheong and A. V. Veidenbaum. A Cache Coherence Scheme with Fast Selective Invalidation. In Proceedings of the 15th International Symposium on Computer Atchitecture, June 1988.
    [7]
    David R. Cheriton, Gert A. Slavenberg, and Patrick D. Boyle. Software-Controlled Caches in the VMP Muitiprocessor. In Proceedings of the l Sth Annual Syrnposlum on Computer Architecture, pages 367-374, June 1986.
    [8]
    Ron Cytron, Steve Katlovsky, and Herin P. McAuliffe. Automatic Management of Programmable Caches. In Proceedings ICPP, August 1988.
    [9]
    Jan Edler et el. Issues related to MIMD sharedmemory computers: the NYU Ultracomputer Approach. In Proceedings 12th Annual Int'l Syrup. on Computer Architecture, pages 126-135, June 1985.
    [10]
    S. J. Eggers and R. H. Katz. A Characterization of Sharing in Parallel Programs and its Application to Coherency Protocol Evaluation. In Proceedings oj the 15th International Symposium on Computer Architecture, June 1988.
    [11]
    G. F. Pfister et. el. The IBM Research Parallel Processot Prototype (RP3): Introduction and Architecture. In Proceedings ICPP, pages 764-771, August 1985.
    [12]
    S. J. Frank. Tightly Coupled Multiprocessor System Speeds Up Memory Access Times. Electronics, 57, 1, January 1984.
    [13]
    S. H. Fuller and S. P. Harbison. The C. mmp Multiprocessor. Technical Report, Carnegie-Mellon University, October 1978.
    [14]
    G. R. Goke and G. J. Lipovski. Banyan Networks for Partitioning Mukiprocessor Systems. In Proceedings of the 1st Annual Symposium on Computer Architecture, pages 21-28, 1973.
    [15]
    James R. Goodman. Using Cache Memory to Reduce Processor-Memory Traffic. In Proceedings of the l Oth Annual Symposium on Computer Architecture, pages 124-131, June 1983.
    [16]
    Albert G. Greenberg, Isi Mitrani, and Larry Rudolph. AnMysis of snooping caches. In Proceedings of Perforrnance 87, l~th int'l Syrup. on Computer Performance, December 1987.
    [17]
    Norman P. Jouppi, 3eremy Dion, and Michael J. K. Nielsen. MultiTitan: four architecture papers. Technical Report 86/2, Digital Western Research Laboratory, Palo Alto, California, September 1986.
    [18]
    R. H. Katz, S. J. Eggers, D. A. Wood, C. L. Perkins, and R. G. Sheldon. Implementing a Cache Consistency Protocol. In Proceedings of the l~th International Symposium on Computer Architecture, pages 276-283, June 1985.
    [19]
    Clyde P. Kruskal and Marc Snir. The Performance of Multistage interconnection Networks for Multiprocessots. IEEE Transactions on Computers, c-32(12):1091- 1098, December 1983.
    [20]
    D. H. Lawrie. Access and Alignment of Data in an Array Processor. IEEE Transactions on Computers, o-24:1145-1155, 1975.
    [21]
    Edward D. Lazowska, John Zahorjan, G. Scott Graham, and Kenneth C. Sevcik. Quantitative System Performance. Prentice Hall, 1984.
    [22]
    E. McCreight. The Dragon Computer System: An Early Overview. Technical Report, Xerox Corp., September 1984.
    [23]
    Steve McGrogan, Robert Olson, and Nell Toda. Parallelizing large existing programs- methodology and experiences. In Proceedings of Spring COMPCON, pages 458-466, March 1986.
    [24]
    Robert Olson. Parallel Processing in a Message-Based Operating System. iEEE So/tware, July 1985.
    [25]
    Janak H. Patel. Analysis of Multiprocessors with Prk v ate Cache Memories. IEEE Transactions on Computers, c-31(4):296-304, April 1982.
    [26]
    Janak H. Patel. Performance of Processor-Memory Interconnections for Multiprocessors. IEEE Transactions on Computers, c-30(10):771-780, October 1981.
    [27]
    Richard L. Sites and Anant AgarwaJ. Multiprocessor Cache Analysis using ATUM. In Proceedings of the 15th International Symposium on Computer Architecture, June 1988.
    [28]
    Alan Jay Smith. Cache Memories. ACM Computing Surveys, 14(3):473-530, September 1982.
    [29]
    Alan Jay Smith. CPU Cache Consistency with Software Support and Using One Time Identifiers. In Proceedings of the Pacific Computer Communications Symposium, October 1985.
    [30]
    C. K. Tang. Cache Design in the Tightly Coupled Multiprocessor System. In AFIPS Conference Proceedings, National Computer Con/erence, NY, NY, pages 749- 753, June 1976.
    [31]
    Charles P. Thacker and Lawrence C. Stewart. Firefly: a Multiprocessor Workstation. In Proceedings of ASPLOS IT, pages 164-172, October 1987.
    [32]
    M. K. Vernon and M. A. Holliday. Performance Analysis of Multiprocessor Cache Consistency Protocols Using Generalized Timed Petri Nets. In Proceedings of SIGMETRICS 1986, May 1986.
    [33]
    M. K. Vernon, E. D. Lazowska, and J. Zahorjan. An Accurate and Efficient Performance Analysis Technique for Multipmcessor Snooping Cache-Consistency Protocols. In Proceedings o/ the 15th International Symposium on Computer Architecture, June 1988.

    Cited By

    View all
    • (2023)WARDen: Specializing Cache Coherence for High-Level Parallel LanguagesProceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3579990.3580013(122-135)Online publication date: 17-Feb-2023
    • (1989)Software-controlled cache coherence protocol for multicache systemsInformation Processing Letters10.1016/0020-0190(89)90190-733:3(125-130)Online publication date: Nov-1989
    • (2017)Detecting Software Cache Coherence Violations in MPSoC Using Traces Captured on Virtual PlatformsACM Transactions on Embedded Computing Systems10.1145/299019316:2(1-21)Online publication date: 2-Jan-2017
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 17, Issue 2
    Special issue: Proceedings of ASPLOS-III: the third international conference on architecture support for programming languages and operating systems
    April 1989
    291 pages
    ISSN:0163-5964
    DOI:10.1145/68182
    Issue’s Table of Contents
    • cover image ACM Conferences
      ASPLOS III: Proceedings of the third international conference on Architectural support for programming languages and operating systems
      April 1989
      303 pages
      ISBN:0897913000
      DOI:10.1145/70082
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 April 1989
    Published in SIGARCH Volume 17, Issue 2

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)70
    • Downloads (Last 6 weeks)8

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)WARDen: Specializing Cache Coherence for High-Level Parallel LanguagesProceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3579990.3580013(122-135)Online publication date: 17-Feb-2023
    • (1989)Software-controlled cache coherence protocol for multicache systemsInformation Processing Letters10.1016/0020-0190(89)90190-733:3(125-130)Online publication date: Nov-1989
    • (2017)Detecting Software Cache Coherence Violations in MPSoC Using Traces Captured on Virtual PlatformsACM Transactions on Embedded Computing Systems10.1145/299019316:2(1-21)Online publication date: 2-Jan-2017
    • (2015)Architectural Support for Dynamic LinkingACM SIGARCH Computer Architecture News10.1145/2786763.269439243:1(691-702)Online publication date: 14-Mar-2015
    • (2015)Architectural Support for Dynamic LinkingACM SIGPLAN Notices10.1145/2775054.269439250:4(691-702)Online publication date: 14-Mar-2015
    • (2015)Architectural Support for Dynamic LinkingProceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/2694344.2694392(691-702)Online publication date: 14-Mar-2015
    • (2011)Software-Based Cache Coherence with Hardware-Assisted Selective Self-Invalidations Using Bloom FiltersIEEE Transactions on Computers10.1109/TC.2010.15560:4(472-483)Online publication date: 1-Apr-2011
    • (2001)SmartApps: An Application Centric Approach to High Performance ComputingLanguages and Compilers for Parallel Computing10.1007/3-540-45574-4_6(82-96)Online publication date: 4-Dec-2001
    • (2000)AMVA techniques for high service time variabilityACM SIGMETRICS Performance Evaluation Review10.1145/345063.33941828:1(217-228)Online publication date: 1-Jun-2000
    • (2000)AMVA techniques for high service time variabilityProceedings of the 2000 ACM SIGMETRICS international conference on Measurement and modeling of computer systems10.1145/339331.339418(217-228)Online publication date: 17-Jun-2000
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media