给它加上填充
把第二个计数器挪到下一块(加填充),量出改进前后的搬运次数和倍数。
阅读更多 →
自己写:构造一次伪共享
两个核各更新五次自己的计数器,两个计数器挤在同一块。数出访问次数和搬运次数。
阅读更多 →
垫开之后
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def traffic(seq): owner = {} moves = 0 for core, addr in s
阅读更多 →
两个计数器挤在一起
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def traffic(seq): owner = {} moves = 0 for core, addr in s
阅读更多 →
怎么消掉伪共享
消除伪共享最直接的办法是【0】。
阅读更多 →
伪共享「伪」在哪
伪共享之所以叫「伪」,是因为【0】。
阅读更多 →
把两个核的数据错开
把第二个核的数据从地址 1 挪到地址 4,验证搬运次数真的降了,并给出降了几倍。
阅读更多 →
同一块里改不同位置
两个核改的是同一块里的不同位置(地址 0 和地址 1)。数一数搬了几趟,再和「各改各块」比一比。
阅读更多 →
自己写:数一数块搬了几趟
每一块同一时刻只能归一个核。核一换,就记一趟搬运。
阅读更多 →
改成各改各的块
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def traffic(seq): owner = {} moves = 0 for core, addr in s
阅读更多 →