写点什么

多核处理器趋势对软件架构的影响

  • 2007-09-27
  • 本文字数:1171 字

    阅读完需:约 4 分钟

“Java 开发者”杂志上刊载了一篇精彩的文章,作者在文中讲述了软件开发者将会受到业内日益趋向多核处理器与大量并行处理器这股潮流的影响。以下是来自原文的内容:

作为软件开发者,我们在处理器技术所带来的性能持续增长潮流里乐在其中。实际上,在过去的 20 年中,处理器的性能几乎以每两年翻倍的速度持续增长着。如果 这样的性能提升突然戏剧性的减缓甚至停滞了,这个世界将会变成什么样子?我们还能继续搭建更大、更重和功能丰富的软件吗?……事实是——单线程性能的提升即将在一至三年内大规模减速。在某些情况下,单线程性能甚至会降低。长期持续不变的攀升会戏剧性的变缓。

尽管杂志的名字很专业化,但即使你不是一个 Java 工程师,这篇文章本身也是很值得一读的。你也许能猜到,作者并不会只让你感到上述段落所带来的失望。文章将解释我们将需要怎样做,来使我们的软件架构去适应持续不变的性能提升。

……业内已经开始关注为延续性能提升潮流所进行的多核、多线程处理器的设计。这些设计所关注的不是执行单个线程的性能提升,而是多个,有时甚至是巨量线程数的并行运行……作为一个开发人员而言,学习如何开发可以在数量持续增长的并行处理器上面高效运行的应用程序就变得很重要了。由于单线程的性能提升不会象 过去那么快,开发人员将会不得不关注并发来提高某个给定任务的性能。

文章接下来给出了一个关于并行编程策略的概述,以 Amdahl 法则开始:

当你开始并行编程时,所熟悉的第一条准则是 Amdahl 法则。Amdahl 法则说,限制你的程序加速运行的将是程序中不能并行执行的部分。比如说,如果性能监控显示,程序中那些只能在一个处理器上串行执行的代码需要花费 20%的运行时间,那么即使余下的代码都做了最佳并行化,也不管你扔给它多少处理器,你最多也只能获得 5 倍的速度提升。负载不平衡是一个类似的问题。如果你将你的代码分成 N 个子任务,执行它们所需的时间不是 1/N。所需的时间是执行子任务所 需时间的最大值。

文章之后讲述了并发问题和线程的设计,特别是在并行程序设计方面的 Java 语言模型。全文以宣布了一个由IBM 开发的称为X10 的新语言收尾。该语言 为Java 语言添加加了更高层次的模型,尤其是并行应用开发方面。它通过提供管理并行操作的简化语义和与这些操作相关的数据分布,试图简化并发设计。 X10 并不是一个真正的内部领域专用语言(DSL),因为它的语法不符合Java 的语法。它使用Java 语言作为基础并由此构造了一个新的、严格的语言,从这一点上来看和AspectJ(之前的5.0 版本)很相似。

查看英文原文 The Software Architecture Impact of the Multi-Core Processor Trend


译者简介: 曹云飞,西安交通大学计算机软件硕士。现就职于 Ethos ,热衷于新技术的钻研,软件架构与敏捷开发,目前从事流媒体方面的工作。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-09-27 21:091445
用户头像

发布了 47 篇内容, 共 13.1 次阅读, 收获喜欢 3 次。

关注

评论

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

网络攻防学习笔记 Day21

穿过生命散发芬芳

5月日更 网络攻防

只需三步,开启 API 文档简洁之美

CODING DevOps

API

2021高级Android笔试总结,Android系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

Alibaba技术专家必知必会的Java技术知识点,掌握这些理论+实践+技术是你通往阿里的路

Java架构之路

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

GitHub标星15k+的Java编程思想最新中文版,肝了一周整理成1539页的PDF文档免费分享!

Java架构之路

Java 程序员 架构 编程语言

融合创新,降低门槛,飞桨推动人工智能走通工业大生产之路

百度大脑

人工智能 飞桨

边缘计算应用领域

lenka

5月日更

拍照被嫌弃,他用分布式技术开发了一款自拍神器

科技汇

多租户如何独立进行开发测试?

paraboy1

2021金三银四Android大厂面试题来袭!高级面试题+解析

欢喜学安卓

android 程序员 面试 移动开发

打破固有思维(十五)

Changing Lin

5月日更

阿里架构师478页Java工程师面试知识解析笔记pdf,一份2021年通往阿里的面试指南

Java架构之路

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

来自一个DBA的肺腑之言

BinTools图尔兹

数据库 运维自动化 数据安全 dba

量化策略交易软件,马丁倍投智能交易机器人

java中的Stream实践

林一

Lambda stream java8

牛!大佬都在用。Ngrok + Metasploit = 暂时性隐蔽C2

Thrash

安全

CODING 首届金融科技技术交流闭门会议顺利召开

CODING DevOps

DevOps DevSecOps 代码安全

【得物技术】统一OLAP查询平台之语义层

得物技术

OLAP 查询 得物技术 平台 语义

从根上理解用户态与内核态

程序猿阿星

系统上下文 用户空间 内核空间 指令集

图扑软件正式加入腾讯智维生态发展计划,聚焦智能IDC

一只数据鲸鱼

数据中心 数据可视化 机房管理 智能IDC

11 步完美排查服务器! 是否已经被入侵

Thrash

安全

逻辑回归 - DAY 11

Qien Z.

线性回归 逻辑回归 5月日更 逻辑函数

专访新腾数致研发总监金涛:新思想、新工具与新效率

CODING DevOps

敏捷开发 研发团队

支付网关整体架构图

try catch

支付 支付网关

招行票付通对接总体流程

try catch

支付 商业票据

apache dubbo 自定义全局统一的异常处理器

try catch

阿里专家离职带出来的Java面试全秘籍,我看了三个月,就收到了京东的offer

Java 程序员 架构 面试 计算机

CODING 增强安全漏洞扫描能力,助力团队“安全左移”

CODING DevOps

代码扫描 CODING 代码安全

推特视频怎么保存: 免费下载Twitter视频教程

科技猫

twitter 分享 经验分享 教程 视频处理

超详细!看完阿里大师的Java成长笔记后,差距真不是一点点

Java 程序员 架构 面试

对账模块和赊购退款、还款流程

try catch

支付 退款 对账 赊购

多核处理器趋势对软件架构的影响_Java_Mark Figley_InfoQ精选文章