【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2007-09-03 02:301153

评论

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

2022-Java后端工程师面试指南-(MySQL)

自然

8月月更

2022秋招前端面试题(四)(附答案)

helloworld1024fd

前端面试

为什么我要说:柯里化 == 闭包+递归?

掘金安东尼

JavaScript 前端 8月月更 柯里化

朴素贝叶斯分类-西瓜分类 python

Five

贝叶斯公式 Python. 8月月更

Promise的点点滴滴

坚果

开源 8月月更

2021-Java后端工程师面试指南-(SpringBoot+SpringCloud)

自然

Spring Boot CLI spring cloud stream 8月月更

C51 基本函数、中断函数和库函数的详解

timerring

8月月更

一种用于保证多方子系统数据一致性的方法

阿提说说

数据一致性 多方子系统 异构系统

2022秋招前端面试题(三)(附答案)

helloworld1024fd

前端面试

头脑风暴:打家劫舍

HelloWorld杰少

8月月更

2022-Java后端工程师面试指南-(Redis)

自然

面试题 reis 8月月更

谈谈程序员如何具备领导力

宇宙之一粟

领导力 8月月更

基于华为云ModelArts和弹性云服务器ECS的AI全流程开发——昇腾工业质检应用实战【华为云至简致远】

sofiya

开源一夏 | 这么火的ES,SpringBoot结合ElasticSearch7实现多条件复合查询

知识浅谈

开源 8月月更

【高并发项目实战】工程模块化与活动会场静态化架构原理解析

小明Java问道之路

高可用 高并发 高性能 签约计划第三季 8月月更

聊聊电源自动切换电路(常用自动切换电路总结)

矜辰所致

电路设计 8月月更 电源自动切换

STM32+移远MC20模块采用MQTT协议登录OneNet上传GPS数据

DS小龙哥

8月月更

Spring Security OAuth实现GitHub快捷登录

阿提说说

Spring Security OAuth

轻松完成接口测试及接口文档

Xd

Java 后端 接口测试

自己动手制作elasticsearch的ik分词器的Docker镜像

程序员欣宸

elasticsearch 8月月更

【华为云至简致远】还在烦恼成本高、运维难?华为云数据库给你一个标准答案!

sofiya

基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】

sofiya

mysql进阶(二十八)GRANT REVOKE用法详解

No Silver Bullet

MySQL 签约计划第三季 8月月更 grant revoke

什么是 Office Open XML 文件格式

Jerry Wang

xml 微软 Office 8月月更 openOffice

Spring(三、依赖注入)

开源 bean Spring JPA 8月月更

未来社区的人车房隐私数据权属确认方法

阿提说说

区块链 物联网 隐私保护

OAuth2的定义和运行流程

阿提说说

spring security Oauth

jvm(一 )内存区域的划分

想要飞的猪

JVM JVM运行时数据区

git 分支

Jason199

git fetch 8月月更

docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

程序员欣宸

elasticsearch 8月月更

华为云数据库,更安全、更方便、更省钱的选择【华为云至简致远】

sofiya

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