分布式计算概念

分布式计算概念1 1 分布式计算的概念 1 1 1 定义分布式计算是计算机科学的重要研究内容 主要研究对象是分布式系统 简单地说 一个分布式系统是由若干通过网络互连的计算机组成的软硬件系统 且这些计算机互相配合已完成一个共同的目标 往往这个共同的目标称为 项目 分布式计算的一种简单定义是在分布式系统上执行的计算 更为正式的定义是 分布式计算研究如何把一个需要非常巨大的计算

1.1 分布式计算的概念

1.1.1 定义

 分布式计算是计算机科学的重要研究内容,主要研究对象是分布式系统 。简单地说,一个分布式系统是由若干通过网络互连的计算机组成的软硬件 系统,且这些计算机互相配合已完成一个共同的目标(往往这个共同的目标 称为“项目”)。 分布式计算的一种简单定义是在分布式系统上执行的计算。更为正式的 定义是,分布式计算研究如何把一个需要非常巨大的计算能力才能解决的问 题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把 各部分的计算结果合并起来得到最终的结果。本质上,分布式计算式一种基 于网络的分而治之的计算方式。 

1.1.2 分布式计算的优缺点

优点:

  • 低廉的计算机价格和网络访问的可用性。
  • 资源共享。
  • 可伸缩性。
  • 容错性。

缺点:

  • 多点故障。
  • 安全性低。

1.2.3 分布式计算的相关计算形式

与分布式计算类型的计算形式有很多,下面讨论的单机计算机、并行计算、网络计算机、网络计算和云计算这五种形式,以便更好地区分和理解分布式计算的概念。

1.2 分布式系统概念

1.2.1 分布式系统的定义

 分布式系统是指通过网络互连,可写作执行某个任务的独立计算机集合 。这个定义有两个方面的含义:第一,从硬件角度来讲,每台计算机都是自主 的;第二,从软件角度来讲,用户将整个系统看作一台计算机。这两者都是必 须的,缺一不可。 

1.2.2 经典的分布式系统与项目

  • www
  • SETI@hone
  • BOINC
  • 其他分布式计算项目

1.2.3 分布式系统的特征

  • 可靠性
  • 可扩展性
  • 可用性
  • 高效性
  • CAP理论

1.3 分布式计算的基础技术

1.3.1 进程间通信

分布式计算的核心技术是进程间通信(Iterprocess Communication,IPC),即在互联网独立的进程(进程是程序的运行时表示)间通信及共同协作以完成某项任务的能力。

1.3.2 IPC程序接口原型

  • send(发送)
  • receive(接收)
  • connect(连接)
  • disconect(断开连接)

1.3.3 时间同步

IPC中的一个难点是进行IPC的各相关进程是独立执行的,各进程不知道对方进程的情况。

  1. 同步send和同步receive
  2. 异步send和同步receive
  3. 同步send和异步receiive
  4. 异步send和异步receive

1.3.4 死锁和超时

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223604.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午1:49
下一篇 2026年3月17日 下午1:49


相关推荐

  • ManualResetEvent浅谈

    ManualResetEvent浅谈C#中ManualResetEvent的开关作用贴代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;namespacetest01{clas…

    2022年7月18日
    28
  • case when 判断_sqlservercase用法

    case when 判断_sqlservercase用法casewhen简单用法—改变结果SELECTCASE id WHEN21THEN ‘aaaaa’ WHEN22THEN ‘bbbbb’ELSE’其他’ END FROM hrmresource WHERE id=23casewhen复杂用法—执行不同的sqlSELECT ( CASE WHENa.id=21THEN (SELECTidFROMhrmresourceWHEREidIN(21

    2025年9月16日
    8
  • sqlserver快速删除大批量数据_sqlserver删除数据

    sqlserver快速删除大批量数据_sqlserver删除数据如何使用dropdownlist绑定数据库?首先我们要了解一些dropdownlist的一些属性。DataSource:为数据源DataBind:数据源绑定DataTextField:要显示的文本值DataValueField:显示文本值的编号其中DataTextField主要是给用户看的,我们程序员要用的是DataValueField。下面是代码展示:这里我就建立了一个部门表插入了三条数据:gocreatetableDepartment(DepI

    2022年10月8日
    6
  • pycharm连接mysql5.7

    pycharm连接mysql5.7由于加密方式改变需要在 url 后增加 useUnicode true amp characterEnc UTF 8 amp serverTimezo UTC 转载于 https www cnblogs com huay p 11105787 html

    2026年3月27日
    2
  • Django(55)GenericAPIView源码分析

    Django(55)GenericAPIView源码分析源码分析GenericAPIView继承自APIView,也就是在APIView基础上再做了一层封装,源码如下:classGenericAPIView(views.APIView):query

    2022年8月7日
    7
  • linux vim 显示行数(vim 删除行)

    在Linux环境下的编辑器有vi、vim、gedit等等。进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的。我们有二种办法可以解决:第一种是,手动显示:在vim命令行模式下输入:setnu取消显示:在vim命令行模式下输入:setnonu第二种是,永久自动显示:我们修改一个配置文件。我们输入命令:vim~/.vimrc…

    2022年4月11日
    136

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号