《分布式计算云计算与大数据》第一章

第一章、分布式计算概述

1、分布式计算概述
分布式计算是计算机科学研究的重要内容,主要研究对象是由若干个通过网络联合在一起的计算机组成的硬件系统,这些计算机把需要非常大的计算能力的项目分成许多小部分,然后把小部分分配给多个计算机去处理,最后把计算结果整合在一起就是最终的计算结果,本质是计算机基于网络分而治之的计算方式。
2、分布式的优点:
超大规模 虚拟化 高可靠性 通用性 可伸缩性 按需服务 极其廉价 容错性
3、分布式缺点:
安全性低 多点故障
4、分布式相关计算形式
1.单机计算
单机计算是最简单的计算形式,即利用单台计算机(如PC)进行计算,此时计算机不与任何网络互连,因而只能使用本计算机系统内可被即时访问的所有资源。在最基本的单用户单机计算模式中,一台计算机在任何时刻只能被一个用户使用。用户在该系统上执行应用程序,不能访问其他计算机上的任何资源。在PC上使用的诸如文字处理程序或电子表格处理程序等应用就是单用户单机计算的计算形式。
2.并行计算
并行计算(或称并行运算)是相对于串行计算的概念(如图1-2所示),最早出现于20世纪六七十年代,指在并行计算机上所做的计算,即采用多个处理器来执行单个指令。通常并行计算是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。
《分布式计算云计算与大数据》第一章
3.网络计算

网络计算是一个比较宽泛的概念,随着计算机网络而出现。网络技术的发展,在不同的时代有不同的内涵。例如,有时网络计算指分布式计算,有时指云计算或其他新型计算方式。总之,网络计算的核心思想是,把网络连接起来的各种自治资源和系统组合起来,以实现资源共享、协同工作和联合计算,为各种用户提供基于网络的各类综合性服务。网络计算在很多学科领域发挥了巨大作用,改变了人们的生活方式。

4.网格计算

网格计算是指利用互联网把地理上广泛分布的各种资源(计算、存储、带宽、软件、数据、信息、知识等)连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务(计算、存储、访问等)。网格计算强调资源共享,任何结点都可以请求使用其他结点的资源,任何结点都需要贡献一定资源给其他结点。

网格计算侧重并行的计算集中性需求,并且难以自动扩展。云计算侧重事务性应用、大量的单独的请求,可以实现自动或半自动的扩展。

5.云计算

云计算这个概念最早由Google公司提出。2006年,Google高级工程师克里斯托夫·比希利亚第一次提出“云计算”的想法,随后Google推出了“Google 101计划”,该计划的目的是让高校的学生参与云的开发,为学生、研究人员和企业家提供Google式的无限计算处理能力,这是最早的“云计算”概念
《分布式计算云计算与大数据》第一章

6、分布式计算的核心技术是进程间通信
《分布式计算云计算与大数据》第一章
7、Ipc程序接口原型
Send(发送):该操作由发送进程发起指向接受进程传输数据,操作必须允许发送进程识别接收进程和定义待传数据。
Receive(接收):操作由接收进程发际,只接收发送进程发来的数据操作,必须允许接收进程识别发送进程和定义保存数据的内存空间该内存随后被接收者访问。
Connect(连接):对于面向连接的ipc必须允许在发起发起进程和指定进程建立逻辑连接的操作。
Disconnect(断开连接):对于面向连接的ipc该操作允许通信双方断开先前建立的逻辑连接。
8、死锁和超时
1.死锁:
定义
线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行,其他线程将不能进行。当线程互相持有对方所需要的资源时,会互相等待对方释放资源,如果线程都不主动释放所占有的资源,将产生死锁。
当然死锁的产生是必须要满足一些特定条件的:
1.互斥条件:进程对于所分配到的资源具有排它性,即一个资源只能被一个进程占用,直到被该进程释放
2.请求和保持条件:一个进程因请求被占用资源而发生阻塞时,对已获得的资源保持不放。
3.不剥夺条件:任何一个资源在没被该进程释放之前,任何其他进程都无法对他剥夺占用
4.循环等待条件:当发生死锁时,所等待的进程必定会形成一个环路(类似于死循环),造成永久阻塞。
避免死锁:
在有些情况下死锁是可以避免的。1.加锁顺序2.加锁时限3.死锁检测