C++多核高级编程 - 07 应用程序并行设计方法 (PADL 和 PBS)

本文探讨了为大规模多核处理器设计应用程序的方法,重点介绍了多agent和黑板架构,用于捕获不同工作模式。同时,文章还强调了在第四层和第三层控制接口数量的重要性,以实现更高效的并发编程,并提出了谓词分解结构作为并行设计的一种策略。
摘要由CSDN通过智能技术生成

一,为大规模多核处理器设计应用程序

如果有成百个或上千个并发执行的线程或进程,如何设计或如何管理IPC则是一件非常令人生畏的事情。“应用程序设计” 本身就是一个非常宽泛的术语。对于不同类型和级别的开发人员这个术语有着不同的含义。其实软件和应用程序也有着各种各样的分类。下表是美国计算机协会(Association of Computing Machinery ACM)的 CCS(Computing Classification System)的一部分的摘录。

本章更为注重分析的方式,但所有的分析方式都有一定的适用场景和自己相应的不足,所以这章内容可以在开发过程中有所借鉴,完全照搬并不一定可取。

ACM分类号 软   件 多  用   户 单  用  户
H.4.1 办公自动化 群软件
项目管理
时间管理
字处理
电子表格
H.4.3 通信应用程序 远程会议
电视会议
计算机会议
电子邮件
信息浏览
D.2.2 软件开发 软件库 编辑器
D.2.3 编码工具和技术 软件代码维护 编译器
链接器
D.2.4 软件可靠性验证    
I.3.3 图像生成 高级可视化
虚拟环境
数字化合扫描
图形包
I.3.4 图形实用工具 虚拟现实系统 动画
I.3.5 3D图形   3D渲染

软件分类可以帮助我们对于同一类的软件在设计阶段就可以考虑并行设计方式。并且使用相对成熟的模型来提高开发的效率和可靠性。



二,并行应用程序设计层 (Parallel Application Design Layer )PADL

PADL是一个并行软件的 分析模型。可以帮助组织软件的分解工作。共分5层,从顶向下逐步接近操作系统和编译原语的细节。
这本身是一种分析方式,不一定适用于所有的项目,但是一个不错的参考。

PADL的应用程序并行设计层
pdal_5


第五层是应用程序框架的选择,在开发过程中这是一个最关键的决定之一,其他的设计开发工作都将围绕框架展开。框架一旦决定,更改的代价将是非常昂贵的。

第四层确定了应用程序将要使用的并发模型。架构必须有足够的灵活性来使用所需要的并发模型。并发模型也需要有足够的灵活性来支持架构。

第三层开始确定应用程序的框架,模板类的层次,组件,谓词库和算法模板。

第二层表示应用程序到操作系统的接口。第三
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值