分类列表
新闻分类
负载情况的处理

错误共享是共享内存多处理器系统遇到的缓存性问题。启东SMT贴片加工在不同处理器上执行的两个线程都访问恰好是在内存中相邻并且出现在同一缓存行中。因为处理器提供缓存每行粒度的性,此访问模式的不相交性质被忽略,并且它似乎两个线程都试图使用相同的数据。结果是恒定的“乒乓”处理器之间的那条高速缓存线。适用于SMT的相同方案应少共享缓存时出现问题。有人建议在SMT系统上进行错误共享是有的,因为与强制将线程数据放在不同位置相比,缓存中使用的空间少线另外,一个线程地预取另一个线程的共享行[Lo97a,McDowell03]。实际上,由于元数据的每行粒度是进一步扩展到处理器中。英特尔奔腾4“ NetBurst”微体系结构允许重新排序加载和存储指令。如果对存储到某个位置的存储进行了重新排序,然后对该存储进行了重新排序,则处理器将检测到内存排序冲突并重播使用正确的值加载-相当的操作,会中断两个HerThreads的执行。支持此功能的加载和存储缓冲区具有高速缓存行大小。如果一条线在程序中早于负载,即使实际位置不同也被认为违反。该实现是,并允许使用Intel常见的复杂可度和非对齐引用建筑。存在错误共享时对线程处理器的影响是一个线程对另程推测性读取的行的不相交写入将导致

导致假定内存排序冲突。这种行为的影响将取决于

发生的频率,但在坏的情况下可能会导致速度六小心分配内存。因此,明智的是使用相同的进行内存对齐

适用于=线程处理器,适用于多处理器。

启东SMT贴片加工


分享到