分布式系统概述文世挺博士浙江大学宁波理工学院互联网计算时代高性能计算系统(HPC:High-PerfomanceComputing)每天数十亿人使用互联网,超级计算机和大规模数据中心面向互联网上巨量用户提供并发高性能服务高吞吐量计算系统(HTC:High-ThroughputComputing)云计算采用并行和分布式技术面向巨量用户提供高吞吐量服务HTC和HPC系统演化计算范式间区别集中式计算计算资源集中在一个物理系统内,所有资源全部共享,且紧耦合在一个操作系统中。并行计算所有处理器或是紧耦合与中心共享内存或是紧耦合与分布式内存。处理器通过共享内存或通过消息传递完成通信。分布式计算由众多自治计算机组成,各自拥有私有内存,通过计算机网络通信,分布式系统中的信息交换通过消息传递的方式完成。云计算:云可以是集中式资源也可以是分布式资源。大型分布式系统需求效率在HPC系统中开发大规模并行计算时,度量执行模型内资源的利用率对于HTC系统,效率更依赖于系统的任务吞吐量、数据访问、存储、节能。可信度量从芯片系统到应用级别的可靠性和自管理能力,如服务质量保证(QoS)的高吞吐量服务。编程模型适应性度量在海量数据集和虚拟云资源上各种负载和服务模型下支撑数十亿任务请求的能力。应用部署灵活性度量分布式系统能够同时很好地运行在HPC和HTC应用上的能力可扩展计算趋势-并行度BLP•从串位方式到字级处理阶段•硬件昂贵(4,8,16,32,64位)ILP•指令级并行•处理器能同时执行多条指令(多核)DLP•数据级并行•流行与单指令多数据类型TLP•任务级并行•片上多处理器应用JLP•作业级并行并行度粗细效用计算趋势新技术成熟周期9分布式系统定义一个分布式系统组织成中间件形式,中间件层分布在多台机器上。1.110总结:优点--与集中式系统相比较项目描述经济微处理机提供了比大型主机更好的性能价格比速度分布式系统总的计算能力比单个大型主机更强固有的分布性一些应用涉及到空间上分散的机器可靠性如果一个机器崩溃,整个系统还可以运转渐增计算能力可以逐渐有所增加111、支持数据共享•文件•数据库2、支持设备共享•高档打印机•海量磁盘优点--与独立PC机比较12总结:优点--与独立PC机比较项目描述数据共享允许多个用户访问一个公共的数据库设备共享允许多个用户共享昂贵的外围设备(如彩色打印机)通信使得人们之间的通信更加容易,如通过电子邮件灵活性用最有效的方式将工作负荷分配到可用的机器上13存在的问题项目描述软件目前为分布式系统开发的软件还很少网络通信网络可能的问题:如QoS等等安全容易造成对保密数据的访问14Flynn分类:(1972)1.SISD(单指令流、单数据流):(PC机)2.SIMD(单指令流、多数据流):矩阵计算机3.MISD(多指令流、单数据流):无4.MIMD(多指令流、多数据流):分布式系统硬件概念:多台计算机是如何联结在一起?CPU指令流个数数据流个数15•存储器使用:共享式、私有式1.多处理器系统(multi-processor)2.多计算机系统(multi-computer)MIMD分类PPMPPPMPMM具有共享存储器的通常称为多处理机(multiprocessor)或多处理器;而不具有共享存储器的则称为多计算机(multicomputer)MIMD分类链接方式交换式总线式关联程度紧耦合:多用于并行系统松耦合:多用于分布式系统MIMD系统分类并行分布式计算机多处理机(共享存储器)多计算机(私有存储器)总线开关总线开关紧耦合松耦合总线型多处理机系统解决总线过载问题:高速缓存(cache)命中率(hitrate)缓存一致性(coherency)直写(writethough)监听(Snoopy)CPUCacheCPUCacheCPUCacheMemory控制线、数据线、地址线交换型多处理机交叉开关线:n2个交叉开关点Omega开关网:2•2开关点,共n(log2n)/2个NUMA(NonUniformMemoryAccess):分层存储CCCCMMMMCCCCMMMM(a)(b)交叉点开关2*2开关总线型多计算机本地存储局域网络(10M~1000M)只用于CPU和CPU之间的通信LocalmemoryCPULocalmemoryCPULocalmemoryCPU工作站工作站工作站网络交换型多计算机网格(grid):二维平面(n2个节点)。超立方(hypercube):n维立方(2n个节点)网格超立方体22Intel单核CPU芯片23Intel多核结构Replicatemultipleprocessorcoresonasingledieconnected.24多核处理器是一类特殊的多处理机所有处理器在同一个芯片上多核处理器是MIMD:不同的核执行不同的指令,操作内存的不同位置多核是一个共享内存的多处理机:所有核共享同一个内存252Processorsvs.2Cores2CoresTwocoresonsamedieconnecteddirectlyMultiplethreadsandprocessesautomaticallyprocessedinparallelOnlyasmallincreaseinpowerconsumption2Processors•Twoseparatechipsconnectedexternallybyasystembus•Requiresexplicitsoftwaresupport•Muchgreaterpowerconsumption26Inter-CoreBusInterfacePentiumDwith975XChipsetMemoryControllerHubI/OControllerHubDDR2MemoryPCIExpressx166PCI4SerialATAPorts6PCIExpressx1High-DefinitionAudio2PCIExpressx8orDMI(2GB/s)1066/800MHzFSBCore1L2Cache(forCore1)Core0L2Cache(forCore0)6USB2.0IntelMatrixStorageBIOSSupportIntelPro1000LAN27分类:紧耦合式、松耦合式软件相关概念紧耦合松耦合软件硬件松耦合紧耦合分布式OS多处理机分时OS网络OS28软件相关概念AnoverviewofDOS(DistributedOperatingSystems)NOS(NetworkOperatingSystems)MiddlewareSystemDescriptionMainGoalDOSTightly-coupledoperatingsystemformulti-processorsandhomogeneousmulticomputersHideandmanagehardwareresourcesNOSLoosely-coupledoperatingsystemforheterogeneousmulticomputers(LANandWAN)OfferlocalservicestoremoteclientsMiddlewareAdditionallayeratopofNOSimplementinggeneral-purposeservicesProvidedistributiontransparency29网络操作系统(NOS)网络操作系统的一般结构30网络操作系统(NOS)远程登录telnetrlogin客户局域网文件服务器请求响应磁盘上存储有共享的文件系统31真正的分布式系统单一的、全局的进程间通信机制协议、位置全局进程管理创建、启动、挂起、撤销全局文件系统文件名、目录、操作统一的系统调用接口32多处理机分时系统(MPOS)过程A在运行CacheCPU1过程B在运行CacheCPU2过程C在运行CacheCPU3D(就绪)E(就绪)C(运行)A(运行)B(运行)运行队列D,E操作系统磁盘Bus具有一个运行队列的多处理机系统33多处理机分时系统(MPOS)存在一个唯一的运行队列文件系统的结构不同特点:34多计算机操作系统多件算机操作系统的一般结构35多计算机操作系统消息传递的阻塞和缓冲1.1536多计算机操作系统Relationbetweenblocking,buffering,andreliablecommunications.SynchronizationpointSendbufferReliablecomm.guaranteed?BlocksenderuntilbuffernotfullYesNotnecessaryBlocksenderuntilmessagesentNoNotnecessaryBlocksenderuntilmessagereceivedNoNecessaryBlocksenderuntilmessagedeliveredNoNecessary37分布式共享内存系统a)Pagesofaddressspacedistributedamongfourmachinesb)SituationafterCPU1referencespage10c)Situationifpage10isreadonlyandreplicationisused38分布式共享内存系统Falsesharingofapagebetweentwoindependentprocesses.39中间件分布式系统作为中间件的一般结构1-2240中间件和开放性Inanopenmiddleware-baseddistributedsystem,theprotocolsusedbyeachmiddlewarelayershouldbethesame,aswellastheinterfacestheyoffertoapplications.1.2341三种操作系统比较项目网络操作系统分布式操作系统多处理机操作系统中间件看起来象一个虚拟的单处理机系统?否是是所有的机器只运行相同的操作系统?否是是否有多少操作系统的拷贝?NN1N怎样通信?共享文件消息共享存储器模型特定需要共同一致的网络协议?是是否是是否只有一个运行队列?否否是否文件共享是否有良好的语义定义?通常没有是是通常有资源管理每个节点全局分布全局集中每个节点可扩性好一般差变化的开放性好一般差好42透明性(Transparency)(对用户、对程序)分布式系统设计中的关键问题种类含义位置透明用户不知道资源位于何处迁移透明资源可以不改名地随意移动复制透明用户不知道有多少个拷贝存在并发透明多个用户可以自动的共享资源并行透明系统活动可以在用户没有感觉的情况下并行发生43灵活性单内核基本上是目前的集中式操作系统,增加了网络功能和远程服务集合。微内核的四种基本服务:(1)进程间通信机制(2)少量内存管理功能(3)必要的低层进程管理和调度(4)低层输入/输出服务用户单片内核用户微内核文件服务微内核目录服务微内核处理服务微内核(单内核)(微内核)包括文件、目录和过程管理网络44可靠性•可用性(availability):系统可用时间的比例•“或“相关性、”与”相关性•备份保持一致性•安全性:资源不被非法用户使用•身份认证、入侵监测•容错性•硬软件冗余•恢复和接管45性能•响应时间•吞吐量•系统的利用率•网络容量消耗程度并行性–细粒度并行性–粗粒度并行性46可伸缩性(scalability)避免:•集中式硬件•集中式算法•集中式的数据结构ConceptExampleCenralizedservicesAsingleserverforallusersCentralizeddataAsingleon-linetelephonebookCentralizedalgorithmsDoingroutingbased