什么是分布式计算?
分布式计算是使多台计算机协同工作以解决共同问题的方法。它使计算机网络看起来就像一台功能强大的计算机,可提供大规模资源来应对复杂的挑战。
例如,分布式计算可以加密大量数据;求解具有许多变量的物理和化学方程式;以及渲染高质量的三维视频动画。分布式系统、分布式编程和分布式算法是指代分布式计算的其他一些术语。
分布式计算有哪些优势?
分布式系统具有比单系统计算更多的优势。以下是一些示例。
可扩展性
分布式系统可以随着您的工作负载和需求而发展。您可以根据需要向分布式计算网络添加新节点,即更多的计算设备。
可用性
您的分布式计算系统不会因为其中一台计算机出现故障而崩溃。该设计展现了容错性,因为即使个别计算机出现故障,它也可以继续运行。
一致性
分布式系统中的计算机在它们之间共享信息并复制数据,但系统会自动管理所有不同计算机之间的数据一致性。因此,您可以在不影响数据一致性的情况下享受到容错的优势。
透明度
分布式计算系统提供用户和物理设备之间的逻辑分离。您可以与系统进行交互,就像它是一台计算机一样,而无需担心单个机器的设置和配置。您可以拥有不同的硬件、中间件、软件和操作系统,它们可以协同工作以使您的系统顺利运行。
效率
分布式系统通过底层硬件的最佳资源使用提供更快的性能。因此,您可以管理任何工作负载,而不必担心由于容量激增或昂贵硬件使用不足而导致的系统故障。
分布式计算有哪些使用场景?
分布式计算如今非常普遍。移动和 Web 应用程序是分布式计算的示例,因为多台机器在后端协同工作,以便应用程序为您提供正确的信息。但是,分布式系统纵向扩展时,可以应对更复杂的挑战。让我们来探索不同行业使用高性能分布式应用程序的一些方式。
医护及生命科学
医疗保健和生命科学使用分布式计算来建模和模拟复杂的生命科学数据。通过分布式系统,图像分析、医学药物研究和基因结构分析的速度都加快了。下面是一些示例:
- 通过在三个维度上可视化分子模型来加速基于结构的药物设计。
- 缩短基因组数据处理时间,以便及早发现癌症、囊性纤维化和阿尔茨海默氏症。
- 开发智能系统,通过处理大量复杂图像(如 MRI、X 射线和 CT 扫描)来帮助医生诊断患者。
工程研究
工程师可以在分布式系统上模拟复杂的物理和力学概念。他们利用这项研究来改进产品设计、构建复杂结构并设计更快的车辆。下面是一些示例:
- 计算流体动力学研究,研究液体的行为,并在飞机设计和赛车中实施这些概念。
- 计算机辅助工程需要计算密集型仿真工具来测试新的工厂工程、电子产品和消费品。
金融服务
金融服务公司使用分布式系统来执行高速经济模拟,以评估投资组合风险、预测市场走势并支持金融决策。他们可以创建使用分布式系统的强大功能的 Web 应用程序来执行以下操作:
- 提供低成本、个性化的保费
- 使用分布式数据库安全地支持大量金融交易。
- 对用户进行身份验证并保护客户免受欺诈
能源与环境
能源公司需要分析大量数据以改善运营并过渡到可持续和气候友好的解决方案。他们使用分布式系统来分析来自庞大的传感器网络和其他智能设备的大量数据流。以下是他们可能会执行的一些任务:
- 流式传输和整合地震数据以用于发电厂的结构设计
- 用于主动风险管理的实时油井监控
分布式计算架构有哪些类型?
在分布式计算中,您设计的应用程序可以在多台计算机上(而不是仅在一台计算机上)运行。您可以通过设计软件来实现这一点,以便不同的计算机执行不同的功能并进行通信以开发最终解决方案。分布式架构有四种主要类型。
客户端-服务器架构
客户端-服务器是分布式系统上最常见的软件组织方法。这些功能分为两类:客户端和服务器。
客户端
客户的信息和处理能力有限。相反,它们会向管理大部分数据和其他资源的服务器发出请求。您可以向客户端发出请求,它会代表您与服务器通信。
服务器
服务器计算机可同步和管理对资源的访问。它们使用数据或状态信息响应客户端请求。通常,一台服务器可以处理来自多台机器的请求。
优势和限制
客户端-服务器架构具有安全性和易于持续管理的优势。您只需专注于保护服务器计算机。同样,对数据库系统的任何更改都只需要对服务器进行。
客户端-服务器架构的局限性在于服务器可能会导致通信瓶颈,尤其是当多台机器同时发出请求时。
三层架构
在三层分布式系统中,客户端机器仍然是您访问的第一层。另一方面,服务器机器进一步分为两类:
应用程序服务器
应用服务器充当通信的中间层。它们包含您为其设计分布式系统的应用程序逻辑或核心功能。
数据库服务器
数据库服务器充当存储和管理数据的第三层。它们负责数据检索和数据一致性。
通过划分服务器职责,三层分布式系统减少了通信瓶颈,提高了分布式计算性能。
N 层架构
N 层模型包括几个不同的客户端-服务器系统,它们相互通信以解决相同的问题。大多数现代分布式系统使用 n 层架构,不同的企业应用程序在幕后作为一个系统协同工作。
对等架构
对等分布式系统为所有联网的计算机分配同等的责任。客户端计算机和服务器计算机没有分离,任何计算机都可以执行所有职责。对等架构在内容共享、文件流和区块链网络中变得流行。
分布式计算的工作原理?
分布式计算的工作原理是计算机在分布式系统架构中相互传递消息。通信协议或规则在分布式系统的组件之间创建依赖关系。这种相互依赖称为耦合,耦合主要有两种类型。
松耦合
在松耦合中,组件之前的联系较弱,因此对一个组件的更改不会影响另一个组件。 例如,客户端和服务器计算机可以按时间松散耦合。来自客户端的消息被添加到服务器队列中,客户端可以继续执行其他功能,直到服务器对其消息做出响应。
紧密耦合
高性能分布式系统通常使用紧密耦合。快速局域网通常连接多台计算机,从而创建一个集群。在集群计算中,每台计算机都被设置为执行相同的任务。中央控制系统(称为集群中间件)控制和调度任务并协调不同计算机之间的通信。
什么是并行计算?
并行计算是一种计算类型,其中,网络中的一台计算机或多台计算机同时执行许多计算或处理。尽管并行计算和分布式计算这两个术语经常互换使用,但两者还是有一些区别的。
并行计算与分布式计算
并行计算是分布式计算的一种特别紧密耦合的形式。在并行处理中,所有处理器都可以访问共享内存以在它们之间交换信息。另一方面,在分布式处理中,每个处理器都有私有内存(分布式内存)。处理器使用消息传递来交换信息。
什么是网格计算?
在网格计算中,地理上分布的计算机网络协同工作以执行常见任务。分布式网格的一个特点是您可以从属于多个个人或组织的计算资源中形成它们。
网格计算与分布式计算
网格计算是高度扩展的分布式计算,强调性能和多个网络之间的协调。在内部,每个网格就像一个紧密耦合的计算系统。但在外部,网格的耦合则更加松散。每个网格网络执行单独的功能并将结果传达给其他网格。
什么是 AWS 高性能计算?
借助 AWS 高性能计算(HPC),您可以通过快速网络和近乎无限的分布式计算基础设施加速创新。例如,您可以使用以下服务:
- Amazon Elastic Cloud Compute (EC2),以安全、可调整大小的计算容量支持几乎任何工作负载。
- AWS Batch,可跨 AWS 计算服务扩展数十万个计算作业。
- AWS ParallelCluster,可快速构建 HPC 计算环境和 HPC 集群。
立即创建免费账户,开始在 AWS 上使用分布式计算。