zoukankan      html  css  js  c++  java
  • Software Solutions CACHE COHERENCE AND THE MESI PROTOCOL

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

    Software cache coherence schemes attempt to avoid the need for additional hard-
    ware circuitry and logic by relying on the compiler and operating system to deal with
    the problem. Software approaches are attractive because the overhead of detecting
    potential problems is transferred from run time to compile time, and the design
    complexity is transferred from hardware to software. On the other hand, compile-
    time software approaches generally must make conservative decisions, leading to
    inefficient cache utilization.
    Compiler-based coherence mechanisms perform an analysis on the code to
    determine which data items may become unsafe for caching, and they mark those
    items accordingly. The operating system or hardware then prevents noncacheable
    items from being cached.
    The simplest approach is to prevent any shared data variables from being
    cached. This is too conservative, because a shared data structure may be exclusively
    used during some periods and may be effectively read-only during other periods. It
    is only during periods when at least one process may update the variable and at least
    one other process may access the variable that cache coherence is an issue.

    More efficient approaches analyze the code to determine safe periods for
    shared variables. The compiler then inserts instructions into the generated code
    to enforce cache coherence during the critical periods. A number of techniques
    have been developed for performing the analysis and for enforcing the results; see
    [LILJ93] and [STEN90] for surveys.

  • 相关阅读:
    数据结构与算法部分习题题解
    Codeforces Round #372 +#373 部分题解
    KMP算法的正确性证明及一个小优化
    后记
    BZOJ 4089:[Sdoi2015]graft(SDOI 2015 Round 2 Day 2)
    BZOJ 4085:[Sdoi2015]bigyration(SDOI 2015 round 2 Day 1)
    使用 async await 封装微信小程序HTTP请求
    mongo创建数据库和用户
    把实体bean对象转换成DBObject工具类
    Trident整合MongoDB
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6252410.html
Copyright © 2011-2022 走看看