写点什么

并行编程:并行层次(Parallel Hierarchies)模式

  • 2007-09-03
  • 本文字数:1173 字

    阅读完需:约 4 分钟

多核处理器的降临带来了新的性能潜力。然而, Ina Fried 说,硬件上如此的趋势,对于软件业是一个巨大的挑战,因为“当今的大多数软件并非为利用这个进步而构建的”。Intel 院士(Fellow) Shekhar Borkar 也评论说“软件巨臂们 [……] 走得还不够快”同时已经到了软件也该遵循摩尔定律(Moore’s Law)的时候了,也就是“每两年对并行量的支持能力”翻一番。(摩尔定律的观点指出现实中每过两年芯片的性能大约翻一番)。Borkar 相信软件开发实践必须改组整备工具以利用起提升的性能潜力。

在这个方向上,墨西哥国家自治大学(the National Automonous University of Mexico)数学系的 Jorge L. Ortega-Arjona 教授提出了一个新的并行编程架构模式(pdf 格式)。这个模式尝试对以下情况下的执行性能进行提高:

现有必要对一个有序数据集合重复进行一系列有序操作组成的运算。考虑这样一个程序,它的输出可以只是一个单个复杂运算的结果,此运算为一系列概念上有序、在不同层次上执行的简单操作,其目标不是为了取值,而是为了产生某些影响。一个高层次上的操作需要执行一个或多个更低层次上的操作。如果这样一个程序以串行方式执行,就可以把它看作一个子过程的调用链,一个接一个的进行求值。

他的并行层次(Parallel Hierarchies)模式是“对分层(Layers)模式的扩展”,把问题划分为若干分层组件,负责“向更复杂级别的层次提供操作或功能,同时把更简单的子任务委派给复杂级别次之的层次。”“通过允许‘同一层次上两个以上组件 [……] 同时存在,通常完成相同操作’引出”功能性并行的元素为:

在各层操作的执行过程中,通常高级别的层次只得等待低级别层次的结果。然而,如果每个层次通过多个组件来表示,它们就能够并行执行并且为新请求提供服务。自此,几个有序操作集合就能够被同一个系统,同时负载。几个运算则能够在时间上相重叠。

Ortega 教授提出的这个模式的几个已知用法包括“树形结构操作比如搜索树,其中为每个节点都建立一个搜索进程”。已列出的限制包括“并非每一个系统运算都能被构造出高效的层次结构,”当上方层次对下方层次有过多依赖(例如:典型的基于 Web 的应用)时,这个模式就不太好使了,并且进行正确的层次级别设计会相当复杂。

如果你同意 Jon Erickson所相信的“在所有开发者和架构师的视野中,并发[…] 应该位于最前端”,那关注一下这个领域的新兴研熬究比较好。

查看英文原文: Programming for Parrallelism: The Parallel Hierarchies Pattern - - - - - -

译者简介:岳立东,Ableverse 创始人,技术推广大使。开源项目 WoW (内含 ToB 对象数据库)和 SecureJSH 创建者。目前致力于东道组件接合(Hosting Based Interfacing)理论研究,在此基础上的软件并行分布架构及对象数据库应用,技术博客 http://complystill.javaeye.com/ 。欲参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-09-03 02:301832

评论

发布
暂无评论
发现更多内容

cap理论和base理论

急需上岸的小谢

11月月更

GoFrame V2真香,我是Get到了高内聚低耦合的点,你呢?

王中阳Go

Go golang 高效工作 学习方法 11月月更

代码的衡量标准

Lemoon Can

写好代码 好代码的衡量标准

WX微信小程序对于响应的数据绑定和模块化生命周期的实战心得

恒山其若陋兮

前端开发 11月月更

部署 jenkins master 及多 slave 环境

忙着长大#

jenkins

uni-app实战之单击菜单发布->H5的Promise 化在工程项目的实战演练项目心得

恒山其若陋兮

前端 11月月更

基于 jenkins 视图对 jenkins job 进行分类

忙着长大#

jenkins

OSPF路由协议三

初学者

网络 11月月更

FL Studio水果软件V21完整版本全面升级支持简体中文语言界面

茶色酒

FL Studio 水果FL Studio FL Studio 21

2022-11-19:第二高的薪水。表结构和数据的sql语句如下,输出200,因为200是第二大的。请问sql语句如何写? DROP TABLE IF EXISTS `employee`; CREAT

福大大架构师每日一题

MySQL 数据库 福大大

[力扣] 剑指 Offer 第四天 - 在排序数组中查找数字

陈明勇

Go 数据结构与算法 力扣 11月月更

有限状态机

芯动大师

Verilog 11月月更 Melay FSM

OSPF高级配置——虚链路介绍与配置

我叫于豆豆吖.

11月月更

网页基本代码

我叫于豆豆吖.

11月月更

数据预处理和特征工程-特征选择-相关性过滤-互信息法 & F检验

烧灯续昼2002

人工智能 机器学习 算法 特征工程 11月月更

一篇文章彻底理解 HDFS 的安全模式

明哥的IT随笔

hadoop hdfs

极客时间运维进阶训练营第四周作业

忙着长大#

极客时间

云原生系列 二【轻松入门容器基础操作】

叶秋学长

云原生 华为云 沙箱实验 11月月更

两阶段提交与三阶段提交

急需上岸的小谢

11月月更

TCC

急需上岸的小谢

11月月更

纯原生渲染模式下的uni-App框架通信实战

恒山其若陋兮

前端 11月月更

kubernetes部署metrics-server

程序员欣宸

Kubernetes k8s 11月月更

架构误区系列5:滥用分布式锁

agnostic

分布式锁

微服务连接:Subset子集划分算法

董哥的黑板报

微服务 云原生 连接 RPC 集群

EasyExcel导出数据超过Excel单表上限解决方案

@下一站

大数据 技术 Excel Java core 11月月更

【愚公系列】2022年11月 微信小程序-sitemap站内搜索

愚公搬代码

11月月更

使用keytool生成Tomcat证书

源字节1号

软件开发 前端开发 后端开发 小程序开发

Scrum Patterns:产品的自豪感(Product Pride)

Bruce Talk

Scrum 敏捷 Agile Scrum Patterns

网站与应用

我叫于豆豆吖.

11月月更

python中封装和继承

乔乔

11月月更

Ubuntu16(ROS_Kinetic)海康威视网络摄像机(单目)内参标定

Studying_swz

ubuntu 11月月更

并行编程:并行层次(Parallel Hierarchies)模式_架构_Sadek Drobi_InfoQ精选文章