写点什么

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

评论

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

主数据管理实施四部曲概论

用友BIP

文盘Rust -- r2d2 实现redis连接池

京东科技开发者

redis 后端 封装 连接池 rust语言

【中国信通院|低代码·无代码应用沙龙】低代码平台在云智慧的实践探索

云智慧AIOps社区

大前端 低代码 数据可视化 无代码 可视化大屏

面试官:小伙子你说一下分布分表

Java全栈架构师

程序员 程序人生 后端 架构师 分布分表

Flink架构与应用漫聊

数新网络官方账号

结合RocketMQ源码说说并发编程的三大神器

程序员小毕

源码 程序员 RocketMQ 后端 架构师

架构训练营模块1作业

gigifrog

架构训练营

专业开发人员需要低代码开发平台吗

力软低代码开发平台

深圳前端培训学习编程的就业方向有哪些?

小谷哥

AI技术实践|用腾讯云录音文件识别让无字幕视频自动生成字幕

牵着蜗牛去散步

人工智能 腾讯云 腾讯 语音识别

架构实战 1 - 微信业务架构图-学生管理系统技术选型

架构实战营 「架构实战营」

flex弹性盒子中flex-grow与flex的区别

千锋IT教育

面试常问的高并发系统设计,我们到底该怎么学?

程序员小毕

程序员 面试 后端 高并发 架构设计

2022阿里云研发效能峰会,来啦!

阿里云云效

DevOps 研发效能 开发 数字化转型

大数据培训学习需要注重哪些知识呢

小谷哥

看场景、重实操,实时数仓不是“纸上谈兵”

阿里云大数据AI技术

大数据 实时数仓 12 月 PK 榜

掌握高并发系统设计,面试弯道超车

小小怪下士

Java 面试 系统设计 后端 高并发

数据库到底应该如何存储密码?

Java永远的神

数据库 程序员 程序人生 后端 架构师

PostgreSQL 技术内幕(三)聚集算子

酷克数据HashData

postgresql

【PCB技能】脑瓜疼的PCB反复评审难题,解决方法在这!

华秋PCB

工具 PCB PCB设计

架构实战营模块一作业

😊😊😊

作业一

java架构师培训学习需要多久?

小谷哥

SCRM是什么,SCRM和CRM区别?

优秀

CRM scrm

大数据培训学习后程序员就业前景如何

小谷哥

极客时间-架构训练营-作业一

devilyaos

架构训练营 架构训练营10期

数读甘肃数字经济 | 2022年甘肃14市州数字经济发展活跃度指数发布

易观分析

数字经济 甘肃

微信业务架构图 & 学生系统技术架构图

白杨

重写事件抛发接收机制原理

千锋IT教育

北京前端培训程序员学习方法有哪些

小谷哥

百亿节点、毫秒级延迟,携程金融基于 NebulaGraph 的大规模图应用实践

NebulaGraph

风控 风控模型 电商风控

架构训练模块1

KING

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