A-A+
在标准的栅栏同步中 设单个处理器的通过时间(包括更新计数和释放锁)为C 求N个处理器一起进行
问题详情
在标准的栅栏同步中,设单个处理器的通过时间(包括更新计数和释放锁)为C,求N个处理器一起进行一次同步所需要的时间。
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:这里忽略读/写锁的时间。N个处理器中的每一个都需要C个时钟周期来锁住与栅栏相关的计数器修改它的值然后释放锁。考虑最坏情况所有N个处理器都要对计数器加锁并修改它的值由于锁只能顺序访问计数器在同一时间只能有一个处理器修改计数器的数据。所以总共要花NC个时钟周期使得所有的处理器都到达数据栅栏。
这里忽略读/写锁的时间。N个处理器中的每一个都需要C个时钟周期来锁住与栅栏相关的计数器,修改它的值,然后释放锁。考虑最坏情况,所有N个处理器都要对计数器加锁并修改它的值,由于锁只能顺序访问计数器,在同一时间,只能有一个处理器修改计数器的数据。所以,总共要花NC个时钟周期使得所有的处理器都到达数据栅栏。