在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

并行编程:并行层次(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:301908

评论

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

不明白线程池?那看看这篇,附10道面试题

田维常

线程池

android开发面试准备!Android高级工程师进阶学习,已开源

欢喜学安卓

android 程序员 面试 移动开发

IntelliJ IDEA 20周岁啦,为期2天的周年庆活动对开发者免费开放

YourBatman

eclipse ide IDEA IntelliJ IDEA

技术资讯 | 百度智能云拿下MTCS最高安全评级

百度开发者中心

行业资讯

产业区块链蓬勃发展 联盟链成为落地应用最大杀器

CECBC

区块链

「产品经理训练营」第三章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

数学,离一个程序员有多近?

小傅哥

程序员 面试

DjangoRestFramework框架简介及基本使用

行者AI

RESTful

七面阿里成功offer,入职就是25k*16薪,还原我的大厂面经

Java 程序员 面试

安卓驱动开发!系统盘点Android开发者必须掌握的知识点,搞懂这些直接来阿里入职

欢喜学安卓

android 程序员 面试 移动开发

【Mysql-InnoDB 系列】幻读、死锁与事务调度

程序员架构进阶

MySQL 架构 innodb 事务 28天写作

百度信息流和搜索业务中的弹性近线计算探索与应用 | 文末送福利

百度Geek说

Java 大前端 算法工程师 技术宅

程序员必知的几种限流方案

Java架构师迁哥

Spring Security 实战干货:分布式对象SharedObject

Java spring 分布式

加油,成功通过阿里P7Java岗面试,分享一些面试心得

Java架构之路

Java 程序员 架构 面试 编程语言

Flink + Iceberg 全场景实时数仓的建设实践

Apache Flink

flink

我国首个自主可控区块链软硬件技术体系发布

CECBC

区块链

北京朝阳法院借力区块链化解物业纠纷

CECBC

法院调解

DevOps到底是什么意思?

xcbeyond

DevOps 方法论 软件测试 28天写作

阿里直招怒斩“P7“offer,自曝狂啃六遍的面试笔记

Java架构之路

Java 程序员 架构 面试 编程语言

为什么这么一道iOS小题目,这么多面试者搞不定?

Geek_24a3d9

面试 技术交流 ios开发

深扒!用6部分讲完Java性能调优:多线程+设计模式+数据库

996小迁

数据库 JVM 设计模式 多线程 性能调优

Android JNI模板与读取系统属性笔记

Changing Lin

android

try-catch-finally中的4个大坑,不小心就栽进去了!

王磊

Java 异常处理 try finally

十年运维经验总结出的智能运维系统落地方案

小术晓术

人工智能 运维 企业信息化 运维自动化 信息化

Maintainer 聚光灯:KubeEdge 和 Volcano 的王泽锋

华为云原生团队

开源 边缘计算 华为云 批量计算

个人信息严控的时代,AI如何实现“安全”的智能营销?

星环科技

大数据

IDEA Malformed argument has embedded quote

会飞的猪

IDEA

“删库跑路”,这背后的数据安全你悟到了吗?

BinTools图尔兹

数据库 大数据 数据安全 数据库管理工具 删库

阿里巴巴正式推出2021年金三银四1000道Java工程师面试题手册(含答案)

Java架构追梦

Java 阿里巴巴 面试 架构师 金三银四

Elastic开源协议改了,用户怎么办?

星环科技

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