《分布式系统:概念与设计》一1.4 关注资源共享

简介: 本节书摘来华章计算机《分布式系统:概念与设计》一书中的第1章 ,第1.4节,(英) George Coulouris Jean DollimoreTim Kindberg Gordon Blair 著 金蓓弘 马应龙 等译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 关注资源共享

用户已经习惯了资源共享带来的好处,以致很容易忽视它们的重要性。大家通常共享硬件资源(如打印机)、数据资源(如文件)和具有特定功能的资源(如搜索引擎)。14
从硬件资源的观点看,大家共享设备(如打印机和磁盘)可以减少花费,但对用户具有更大意义的是共享与用户应用、日常工作和社会活动有关的更高层的资源。例如,用户关心以共享数据库或Web页面集方式出现的共享数据,而不是实现上述服务的硬盘和处理器。类似地,用户关心诸如搜索引擎或货币换算器之类的共享资源,而不关心提供这些服务的服务器。
实际上,资源共享的模式随其工作范围和与用户工作的密切程度的不同而不同。一种极端是,Web上的搜索引擎给全世界的用户提供工具,而用户之间并不需要直接接触;另一种极端是,在计算机支持协同工作(Computer Supported Cooperative Working,CSCW)中,若干直接进行合作的用户在一个小型封闭的小组中共享诸如文档之类的资源。用户在地理上的分布以及用户之间进行共享的模式决定了系统必须提供协调用户动作的机制。
我们使用术语服务表示计算机系统中管理相关资源并提供功能给用户和应用的一个单独的部分。例如,我们通过文件服务访问共享文件;通过打印服务发送文件到打印机;通过电子支付服务购买商品。仅仅通过服务提供的操作可以实现对服务的访问。例如,一个文件服务提供了对文件的read、write和delete操作。
服务将资源访问限制为一组定义良好的操作,这在某种程度上属于标准的软件工程实践,同时它也反映出分布式系统的物理组织。分布式系统的资源是物理地封装在计算机内的,其他计算机只能通过通信才能访问。为了实现有效的共享,每个资源必须由一个程序管理,这个程序提供通信接口使得对资源进行可靠和一致的访问和更新。
大多数读者很熟悉术语服务器,它指的是在连网的计算机上的一个运行程序(一个进程),这个程序接收来自其他计算机上正在运行的程序的请求,执行一个服务并适当地做出响应。发出请求的进程称为客户,整个方案称为客户-服务器计算。在这个方案中,请求以消息的形式从客户发送到服务器,应答以消息的形式从服务器发送到客户。当客户发送一个要执行的操作请求时,就称客户调用那个服务器上的操作。客户和服务器之间的完整交互,即从客户发送一个请求到它接收到服务器的应答,称为一个远程调用。
同一个进程可能既是客户又是服务器,因为服务器有时调用其他服务器上的操作。术语“客户”和“服务器”仅仅是针对在一个请求中扮演的角色而言。客户是主动的(发起请求),服务器是被动的(仅在它们收到请求时唤醒);服务器是连续运行的,而客户所持续的时间只是客户所属的那部分应用程序持续的时间。
注意,默认情况下,术语“客户”和“服务器”指的是进程而不是运行客户或服务器的计算机,15虽然在日常用法中这些术语也指计算机。另一个不同(我们将在第5章讨论)是在用面向对象语言实现的分布式系统中,资源被封装成对象,并由客户对象访问,这时,称一个客户对象调用了一个服务器对象上的方法。
许多(但不是所有的)分布式系统可以完全用客户和服务器交互的形式来构造,万维网、电子邮件和连网的打印机都符合这种模式。第2章将讨论除客户-服务器系统之外的其他系统类型。
一个正在执行的Web浏览器是一个客户的例子。Web浏览器与Web服务器通信,从服务器上请求Web页面。我们在1.6节详细讨论Web和其相关的客户-服务器体系结构。

相关文章
|
算法 安全 调度
基于价值认同的需求侧电能共享分布式交易策略(Matlab代码实现)
基于价值认同的需求侧电能共享分布式交易策略(Matlab代码实现)
108 0
|
27天前
|
存储 缓存 NoSQL
分布式架构下 Session 共享的方案
【10月更文挑战第15天】在实际应用中,需要根据具体的业务需求、系统架构和性能要求等因素,选择合适的 Session 共享方案。同时,还需要不断地进行优化和调整,以确保系统的稳定性和可靠性。
|
3月前
|
存储 NoSQL Java
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
这篇文章是关于Java面试中的分布式架构问题的笔记,包括分布式架构下的Session共享方案、RPC和RMI的理解、分布式ID生成方案、分布式锁解决方案以及分布式事务解决方案。
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
|
3月前
|
机器学习/深度学习 分布式计算 Cloud Native
云原生架构下的高性能计算解决方案:利用分布式计算资源加速机器学习训练
【8月更文第19天】随着大数据和人工智能技术的发展,机器学习模型的训练数据量和复杂度都在迅速增长。传统的单机训练方式已经无法满足日益增长的计算需求。云原生架构为高性能计算提供了新的可能性,通过利用分布式计算资源,可以在短时间内完成大规模数据集的训练任务。本文将探讨如何在云原生环境下搭建高性能计算平台,并展示如何使用 PyTorch 和 TensorFlow 这样的流行框架进行分布式训练。
128 2
|
3月前
|
机器学习/深度学习 资源调度 PyTorch
面向大规模分布式训练的资源调度与优化策略
【8月更文第15天】随着深度学习模型的复杂度不断提高,对计算资源的需求也日益增长。为了加速训练过程并降低运行成本,高效的资源调度和优化策略变得至关重要。本文将探讨在大规模分布式训练场景下如何有效地进行资源调度,并通过具体的代码示例来展示这些策略的实际应用。
381 1
|
3月前
|
Oracle Java 关系型数据库
分布式锁设计问题之由于GC导致的Client同时操作共享资源的问题如何解决
分布式锁设计问题之由于GC导致的Client同时操作共享资源的问题如何解决
|
5月前
|
机器学习/深度学习 分布式计算 监控
在大数据模型训练中,关键步骤包括数据收集与清洗、特征工程、数据划分;准备分布式计算资源
【6月更文挑战第28天】在大数据模型训练中,关键步骤包括数据收集与清洗、特征工程、数据划分;准备分布式计算资源,选择并配置模型如深度学习架构;通过初始化、训练、验证进行模型优化;监控性能并管理资源;最后保存模型并部署为服务。过程中要兼顾数据隐私、安全及法规遵守,利用先进技术提升效率。
92 0
|
5月前
|
存储 缓存 算法
分布式Session共享解决方案
分布式Session共享解决方案
63 0
|
6月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
6月前
|
算法 安全
基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)
基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)

热门文章

最新文章