首先声明我没有看过一本关于直接介绍并行计算的书.下面的东西全部来源于自己YY和计算机系统结构和组成原理里面的东西.
关于计算1+2+3+4的方法.
串行计算方法
( ( (1+2)+3)+4)
step 1 1+2=3
step2 3+3=6
step3 6+4=10
组内并行组间串行计算
( (1+2)+(3+4) )
step1 1+2=3 3+4=7
step2 3+7=10
全并行计算 (1+2+3+4)
1+2+3+4=10
全并行计算的图就不画了.在计算机中是存在这样计算的.负责这个的芯片是74ls184芯片.不过是二进制条件下.原理很复杂.老师不给我讲5555~~~图中上面的是串行计算的.下面是组内并行的
调度时间.输入输出时间等一概忽略不计
我自己定义的并行计算的规则.复杂度是O(N^2)
暂时是思路.
思路1(大规模并行计算)
一.扫描:
1.顺序扫描.搜索最高级.最高级关联后搜索
2.次高级是否可以并行计算.可以则标记.
3.完成到最低级.结束
4.重复执行2~3
二.计算
所有标记的直接计算.后反复
一.二.
三.输出结果.
举例:
1+2+(3+4) 1+2+3*4 3!*6/7
第一步 计算1+2和 3+4 1+2和3*4 3!和6/7
第二步计算 3+7 3+12 6+0.X (值就不计算了.)
思路2.安全的并行计算.
类似银行家算法咯.
并行计算的缺点:分配组合要时间开销.有个预处理过程.在计算机组成里面有个门阵列专门搞这个的.可以生成了可行解.而不是最优解.
就这么多.有空了以后了解下这个门阵列到底是个莫东东.