多核和分布式的编程和传统的编程语言有什么本质的不同

区别是:1、共享存储与分布式存储的区别;2、分布式计算的区别;3、编程环境的区别。在多机分布式环境中,每台计算机都有自己独立的存储器,它的内存不共享;在多核环境中,内存是共享的,对全局数据的共享不存在数据搬迁的问题,但是存在锁保护的问题。

1、共享存储与分布式存储的区别

在多机分布式环境中,每台计算机都有自己独立的存储器,它的内存不共享,如果要进行全局的共享数据,必须依赖于计算机间的通信来完成。在多核环境中,内存是共享的,对全局数据的共享不存在数据搬迁的问题,但是存在锁保护的问题。

因此多核环境在存储方面主要是锁竞争,分布式系统主要的问题是在通信开销方面。

2、分布式计算的区别

分布式计算中多机分布环境和多核环境面临同样的问题:负载均衡。

多机分布环境的负载均衡包括计算负载均衡和存储负载均衡,通常会涉及到负载搬迁的问题,通信开销较大。

多核环境中因为负载搬迁只是相当于指针的移动代价较小,可以忽略。

3、编程环境的区别

多机分布环境中一般使用消息传递编程模型,使用消息传递数据,入MPI;

多核环境中使用共享存储编程环境,入OpenMP等,当然也可以使用消息传递数据。

延伸阅读:

什么是分布式编程?

分布式应用程序由三个主要逻辑部分构成:表示逻辑、业务逻辑和数据源逻辑。

表示逻辑:终端用户可以通过它操作权限内的可操作数据,对于用户来说这部分就是应用程序;

业务逻辑:是应用程序的中心,包括定义业务运行方式的业务规则;

数据源逻辑:用于保存将来可能用到的数据,这部分逻辑的功能绝大部分是由数据库实现的,但是我们仍然需要设计数据层以及操作数据所需要的语句。

设计任何应用程序的首要之处是将应用程序的各个部分逻辑划分为不同的层次,不能将不同部分的逻辑混在一起,层与层之间只能通过良好定义的接口与另一层交互。分布式设计要遵顼五个原则:保守分布;本地化相关内容;使用 Chunky 接口,而不是 Chatty 接口;优先选用无状态对象,而不是有状态对象;接口编程,而不是具体实现的编程。

文章标题:多核和分布式的编程和传统的编程语言有什么本质的不同,发布者:小编,转载请注明出处:https://worktile.com/kb/p/40718

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月23日
下一篇 2023年2月23日

相关推荐

  • 防静电oa地板厂家

    防静电OA地板厂家的选择涉及到多种因素考量,比如产品质量、生产能力、定制服务与售后保障。地板的特性需满足特定防静电指标,保证长效性能。此外,品牌实力与市场口碑同样不可忽视。从实例出发,部分厂家能提供全面的地板解决方案,包含安装、维护及定期检测服务, 以确保地板系统的稳定与安全性能。 一、产品性能与规…

    2024年1月12日
    20700
  • 好的优化方案有:一、确保正确的索引;二、避免使用SELECT*;三、分页查询;四、使用批量插入;五、避免使用子查询;六、避免在查询中使用函数;七、使用分区表;八、优化服务器硬件;九、使用缓存;十、数据库分片。 一、确保正确的索引 索引是提高查询速度的关键。在Mysql中,正确的索引可以极大地影响查询…

    2023年5月30日
    25100
  • 公路建设单位如何管理好项目建设

    公路建设单位要管理好项目建设,首先应该做到严格规划审批、合理配置资源、高效流程管理、严密工程质量监控、完善的风险管理机制。其中,高效流程管理对于确保公路项目按时按质完成尤为关键。这意味着建设单位必须建立一套完整的项目管理流程,包括项目启动、规划、设计、施工及验收等环节的严格监管,确保每个环节顺利进行…

    2024年4月11日
    5200
  • a标签是什么意思

    A标签是HTML(超文本标记语言)中的一个元素,通常用于创建超链接。本文将详细介绍A标签的三个主要方面:1、A标签的定义;2、A标签的属性;3、A标签的使用。其中,A标签的定义解释了其作为超链接的基本功能;A标签的属性主要涉及“href”和“target”两个常用属性;A标签的使用则提供了基本的使用…

    2023年8月7日
    1.1K00
  • Java中的微服务架构是什么

    探讨Java微服务架构,本质是将传统单体应用解构为更小、自治的服务集合,每个服务独立部署,互不依赖。关键要点包括:1、服务自治、2、独立部署、3、轻量级通信协议、4、去中心化的数据管理。服务自治强调每个服务拥有独特业务功能,并可独立更新与替换,而独立部署意味着每个服务单独运作,不会相互干扰,确保了系…

    2024年1月8日
    22900
  • 什么云文档好用

    好用的云文档有:1、FlowUS;2、金山文档;3、坚果云;4、腾讯文档;5、石墨文档。FlowUS是一款集在线文档编辑、云端储存、共享、协同等功能为一身的云端笔记软件,可以帮助企业和个人创建信息库和工作流程。 一、FlowUS 直达链接:https://flowus.cn FlowUS是一款集在线…

    2023年4月22日
    1.9K00
  • 如何去管理项目经理工作

    项目经理工作的管理关键在于强有力的领导能力、高效的团队协作、清晰的目标设定、系统的项目规划与执行、及时的沟通与反馈、有效的风险管理、和持续的自我改进。在这些层面中,系统的项目规划与执行是核心,因为一个项目的成功在很大程度上依赖于事前深思熟虑的计划和精确无误的执行。这意味着项目经理需要设定实际可行的里…

    2024年4月10日
    5400
  • 成功的产品策略包含哪些要素

    成功产品策略包含多种要素:1、市场研究、2、用户分析、3、竞争对手分析、4、明确的价值主张、5、产品路线图、6、持续的改进计划,其中,市场研究 为产品策略的根本,涉及到对潜在用户、市场需求、趋势的深入理解,基于此建立稳固的产品开发基础。在市场研究部分,详细揭示市场背景、用户需求及行业发展趋势的重要性…

    2023年12月19日
    53100
  • 如何规范项目资金使用管理

    项目资金的规范使用管理是确保项目顺利实施和财务健康的关键因素。首先,建立严格的财务管理体系、定期进行预算审查与调整、执行透明的财务报告和审计流程、加强资金使用的监督和控制措施是规范项目资金管理必须严格执行的基本原则。其中,建立严格的财务管理体系对整个项目资金的规范使用至关重要,这不仅要求对资金的每一…

    2024年4月10日
    9200
  • 如何提高写测试用例的效率

    提高写测试用例效率的方法:一、提高测试覆盖率;二、确保需求的可追溯性,复审需求;三、开发工程师可带入新的测试角度;四、预防缺陷,改善开发质量。通过对测试用例评审,完善测试的覆盖率。因为在评审过程中,不同评审专家看待问题的角度不完全一致。 一、提高测试覆盖率 通过对测试用例评审,完善测试的覆盖率。因为…

    2023年3月21日
    45000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部