查看“分布式系统”的源代码
←
分布式系统
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只对以下1个用户组开放:
用户
。
您可以查看并复制此页面的源代码:
=分布式系统= 信息技术是指电子、计算机与网络的相关技术,涉及信息的存储,传输与处理的内容。 信息系统(Information system)就是涉及信息的存储,传输与处理的软硬件设备。 分布式系统定义:“A distributed system is a collection of autonomous computing elements that appears to its users as a single coherent system.” ==信息系统的设计原则== 基本原则:<big>信息系统的软硬件的组织方式,如计算、存储、通信之间的模式,应该和信息系统的功用相适应</big>。 类似于政治经济学中的“经济基础与上层建筑”。 设计问题:集中式与分布式? ==分布式系统的设计思路== 分布式系统设计的基本思路: #单台机器能力有限,需要多机系统。(并行性、扩展性) #单台机器容易出现故障,系统要能容错。(可靠性) #多机系统之间需要高速可靠的网络通信。(局部网络) #集群上的编程要简单。(易用性) 防范多机系统中,单台机器故障导致系统功能不正常: #数据要冗余备份,分布在不同机器上。 #任务要能够切分成独立的单个任务小任务。 #系统能监控不同计算任务的运行状况,保障每个计算任务的正确执行。 #遇到单台机器故障时,系统能重新部署该机器上的计算任务。计算任务超时则重启和重新部署。 用户与系统交互: #用户程序在多台机器上运行,用户编程不必要关心底层细节。 =分布式存储与并行处理系统= == 分布式文件系统 == 运行在由很多机器组成的集群上的文件系统; 所有文件都做了冗余备份,存放在不同的机器上; 机器的随机宕机,不会导致文件系统的可用性问题; === 谷歌文件系统GFS === ;;;每台机器分配不同角色,称为Master和Slave Master负责存储文件的元数据和在slave中的具体位置 Slave负责存储文件的具体内容,以块为单位,每块64MB 研究论文: # Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. "The Google file system." SOSP 2003. == 并行处理 == === MapReduce框架 === Map/Reduce编程模型 (Abstraction)和实现框架。 用户只要编写 Map()和 Reduce()函数。 Map/Reduce编程框架(programming framework)能够自动将MapReduce程序分配到集群上运行,并汇总运行结果 研究论文: # Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004. ==分布式数据库系统== Massive Parallel Processing MPP PostgreSQL vs. Greenplum #Obe, Regina O., and Leo S. Hsu. PostgreSQL: Up and Running: A Practical Introduction to the Advanced Open Source Database. " O'Reilly Media, Inc.", 2014. #何勇,陈晓峰,Greenplum 企业应用实战,机械工业出版社,2014 =参考教材= #M Steen, AS Tanenbaum, Distributed systems: principles and paradigms, Prentice Hall, 2007. [https://www.distributed-systems.net Distributed Systems]
返回
分布式系统
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
实践教学
个性化3D设计与实现
人工智能实践教学
区块链技术及应用
虚拟现实技术与内容制作
超越学科界限的认知基础课程
电子工艺实习
Nand2Tetris Engine Curriculum
TULLL Creative Learning Group
Wiki上手说明
Wiki账户创建
最近更改
工具
链入页面
相关更改
特殊页面
页面信息