FinOps有望降低企业50%+的云成本! 了解详情
写点什么

观点与争锋:多重处理器计算的挑战远在技术层面之上

  • 2008-07-06
  • 本文字数:1554 字

    阅读完需:约 5 分钟

多核处理器 (multi-core processors ) 和松散耦合系统(loosely coupled systems,如因特网)是多重处理器计算 (multiple processor computing) 这一新趋势的两大推动力量,Peter Van Roy 在 2008 国际计算机音乐会议 (International Computer Music Conference 2008) 上就此两种形式并行计算的相关问题发表了看法(PDF)。

对多核处理器——即集成两个或者多个处理单元的处理器,这些处理单元“共享与系统的连接,而且往往会有共同的片上缓存”——Peter Van Roy 认为其挑战在于社会学方面。数据流编程“对此类机器上的编程来说是一个简单自然并且功能强大的方法”,同时“不存在竞态条件的确定性并发(deterministic concurrency,译注1) 能很好挖掘并行处理器的潜力,其编程难度也与顺序执行的程序相当。”因此,目前解决问题的方法在于“对程序员进行并行编程的相关培训”以充分利用已有技术而非开发新的技术,Google 正是遵循这个思路在MapReduce 中应用了数据流思想。

然而,Marijn Haverbeke在Lambda the Ultimate 上对此回应时强调,即使对多核并行来说“目前已经有很多技术和相关资料文档”,“在特定的场景或者性能需求下,目前存在的一些技术还是远不够的,因为它们[…] 在通用性、可组装性、效率方面都不足以解决所有的问题,都不够银弹。”

Peter Van Roy 接着讨论了松散耦合系统编程方面,他认为当前此方面面临的挑战比多核编程要大。此类系统可视作由“一组联网处理器”组成,分布式系统所固有的一些问题在其上都有所体现:

— 对全局信息 (global knowledge) 缺乏把握,即任何节点对系统都没有一个整体认识,只能通过发送信息的方式了解其他节点的信息;

— 部分失效 (parital failure),即某一结点脱离系统或者工作异常。

Van Roy 认为这些只是“低层次的问题”,可以通过正确的算法加以克服,这些算法包括“时钟同步、分布式快照和容错”等。

然而,松散耦合系统拥有更高层次的问题。首当其冲的便是在点对点文件共享中出现的“目标冲突”的问题,这也通常被称为“不速之客问题”(freeloader problem),解决的方法是“从设计上使单个节点的目标与整个系统的总体目标相重合”,以打消不速之客的念头。Van Roy 举了 BitTorrent 协议及其工具的例子来说明如何实现这个目标。另一个问题是突现行为 (emergent behavior) 的处理,即只有在系统作为整体时才会出现的行为,单独节点是不会出现此类行为。但是 Peter 认为,这恰恰可以当作一个发明新理论、开发新工具的契机。例如 Google 的 PageRank 算法从互联网网页集出发来搜集信息,用于评估页面的有用性、正确性和受欢迎程度,这些都是无法从单个网页中得到的。

在松散耦合系统设计上,Peter Van Roy 推荐分散式架构 (decentralized architecture)。在这种架构中“每个计算节点都是默认独立于其他的节点,它拥有完整的程序。即使节点间失去联系,单独的节点仍然可以继续工作。一旦通讯恢复,节点又可以接着利用其它节点的信息”。Peter 认为分散式架构对解决由于系统分布而带来的问题很有效,他还列举了几个应用此种架构方式构建的工具的例子。

“我们应该对‘松散耦合’系统和‘广分布式’系统(widely distributed systems ) 进行进一步区分”,Scott Johnson 在Lambda the Ultimate 对Van Roy 的发言评论到,这是因为“对于后者,我们必须要防范各种类型的攻击”,想当然地认为“不存在恶意攻击的实体,节点都位于单独的管理域,技术参数(带宽、延迟)都令人满意”,是错误的。他建议应该根据一系列特征对系统进行细分,例如确定式调度、拓扑特征、迁移特性、局部失效特性、全局的一致性(全局信息的把握)、带宽、延迟等等。

译注1:所谓确定性,指程序的执行结果不受调度的影响。

英文原文: Opinion: Multiple Processor Computing Challenges go Beyond Purely Technical Issues

2008-07-06 14:49564
用户头像

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

关注

评论

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

[MyBatisPlus]DQL编程控制②(查询投影、查询条件)

十八岁讨厌编程

Java 后端开发 9月月更

Istio Ambient Mesh 介绍

Se7en

[MyBatisPlus]DQL编程控制①(条件查询)

十八岁讨厌编程

Java 后端开发 9月月更

一文看懂:什么是CRM系统?有什么用?哪些公司在用?

优秀

CRM系统

新零售数智化转型,需要怎样的数据底座?

OceanBase 数据库

了解布隆过滤器

自然

Java core 9月月更

Python中的super函数,你熟吗

华为云开发者联盟

Python 开发 企业号九月金秋榜

7.07亿TPC-C背后的技术突破,OceanBase研究成果入选VLDB

OceanBase 数据库

[Spring boot] Spring boot 整合RabbitMQ实现通过RabbitMQ进行项目的连接

Java快了!

Spring Boot

大学三年狂拿国内外十几个3D挑战赛大奖?!国内CG新星崛起

Renderbus瑞云渲染农场

CG 云渲染 3D动画 渲染农场 Renderbus瑞云渲染

私有化的即时通讯工具能为企业带来哪些帮助?

WorkPlus

阿里云EMAS移动测试|快速掌握移动端兼容性测试技巧

移动研发平台EMAS

阿里云 应用开发 兼容性测试 移动测试

新一代开源时序数据库TDengine有哪些优势?

TDengine

数据库 tdengine 开源 企业号九月金秋榜

MobLink for Flutter

MobTech袤博科技

flutter ios android

WorkPlus移动应用管理平台 | 政企数字化的超级“连接器”

WorkPlus

MobLink Android 快速集成文档

MobTech袤博科技

sdk Android;

【云原生】Kubernetes操作精讲

陈橘又青

9月月更

你必须知道的Java泛型

自然

Java core 9月月更

虚实交互,重磅开启|共建多元、互联的元宇宙产业生态圈,赋能上海打造产业高地

Geek_2d6073

前端二面面试题(附答案)

helloworld1024fd

JavaScript 前端

毫末智行董事长张凯:渐进式路线将在智能驾驶竞赛中赢得终局

科技大数据

带您了解昇腾模型压缩工具

华为云开发者联盟

人工智能 后端 企业号九月金秋榜

高频面试题:谈谈你对 Spring Boot 自动装配机制的理解

Java快了!

Spring Boot

开源云管平台有哪些?有哪些优势?

行云管家

云计算 云平台 云管平台 云管理

led显示屏有污垢时该怎么清洗?

Dylan

LED显示屏 led显示屏厂家

Databend 特性系列(1)|Databend 数据生命周期

Databend

大数据 大数据 开源 数据生命周期

开奖啦!看看8月月更获奖名单有没有你?

InfoQ写作社区官方

热门活动 8月月更

字节跳动基于ClickHouse优化实践之“高可用”

字节跳动数据平台

数据库 大数据 Clickhouse 数据开发 数据计算

SpringBoot 源码 | applicationContext.refresh() 方法解析

六月的雨在InfoQ

springboot 源码阅读 Refresh 9月月更 SpringBoot启动流程

[SpringBoot系列]基础过渡与夯实(基础配置)

十八岁讨厌编程

Java 后端开发 9月月更

网络安全周是什么意思?为什么要开展网络安全周?

行云管家

网络安全 网络安全周

  • 需要帮助,请添加网站小助手,进入 InfoQ 技术交流群
观点与争锋:多重处理器计算的挑战远在技术层面之上_架构_Sadek Drobi_InfoQ精选文章