Re: [理工] 102 清大 资工 计算机系统

楼主: hackerick4 (窝颗颗)   2014-02-12 20:24:52
※ 引述《qoojordon (颖川琦)》之铭言:
: ※ 引述《justbearcry (糯米)》之铭言:
: : http://miupix.cc/pm-L3RFS6
: : http://miupix.cc/pm-EZN7YX
: : 这题是只要考虑程式码是row major 或是column major吗?
: : 有点不知道要怎么着手...
: : 然后如果题目没说在内存存放方式,一般是以row major为主对吗?
: : http://miupix.cc/pm-RDD3WJ
: : http://miupix.cc/pm-CCITMH
: : 感觉可以有很多种顺序
: : 我写512364
: : 可是又超级不确定的
: : 麻烦大家了,谢谢
: 不好意思 , 我想补问下面那一题的前面三小题(6a,6b,6c) , 自己有想法 , 想和各位
: 板友确认交流
: 6a.
: 题目原本的code在 line1 P1会把 R1 卡住 , 当执行到 line4 时 , 因为
: R2没其他人能signal , 所以导致 P1 被卡在 line4 , 因为P1 , P2互卡对方
: 的资源 , 因此产生deadlock
: 6b.
:   R1  我画出来的图像左图
: ↙ ↖ R1→P1 是在P1(1)
: P1 P2 P1→R2 是在P1(4)
:   ↘ P2→R1 是在P2(1)
: R2
: 6c.
: 如上图 ,确实会有deadlock , 但无法有一个好的解释说明为什么无法从上图观察
: 我自己认为 P2(3) 相当于是把 R2→P2 , 这样就会形成cycle造成deadlock , 想问
: 是否这样的想法有错误
: 6d.
: 若将程式码中的第三行与第六行对调 , 就可以解决这个问题
: 但整个流程会变成每个 Resource是依序被拿走 , 不是同时被需要
: 大致上是这样 , 想和大家讨论看看 , 有错误麻烦指正 , 谢谢大家
题目就有提示 : synchronization barrier
这是一个同步的方法,快的process需要等待慢的process,等到所有的process都到
达检查点之后才可以继续
举个例子来说,
就像是两个人跑马拉松,A跑得比B快
为了要让两个人不要一直拉开距离
就会在中间设很多屏障(检查点)
A到的时候会被卡住等B
等到两个人都到就能往前跑
如果检查点越密集,那同步率越高
第三行就是一个检查的点
http://imgur.com/WQcKgFc
所以这是故意用一个Pi(系统)
偷偷的绑住R2资源让P1卡住,等到P2也到了,那才R2.signal()
Pi放开R2,让整个能继续跑
可以用这个概念想想 水H2O 要怎么同步一个产出H的function和O的function......
作者: qoojordon (颖川琦)   2014-02-14 09:00:00
谢谢回答 , 大致上有个写法惹 QQ

Links booklink

Contact Us: admin [ a t ] ucptt.com