分布式计算 Distributed Computing

在计算机科学中,分布式计算(英语:Distributed computing,又译为分散式运算)是使多台计算机协同工作以解决共同问题的方法。它使计算机网络看起来就像一台功能强大的计算机,可提供大规模资源来应对复杂的挑战。这个研究领域主要研究分布式系统 (Distributed system) 如何进行计算。分布式系统是一组电脑,透过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学。

分布式计算的优势

分布式系统具有比单系统计算更多的优势,以下是一些示例:

  • 可扩展性:分布式系统可以随着工作负载和需求而发展,可以根据需要向分布式计算网络添加新节点,即更多的计算设备。
  • 可用性:分布式计算系统不会因为其中一台计算机出现故障而崩溃。该设计展现了容错性,因为即使个别计算机出现故障,它也可以继续运行。
  • 一致性:分布式系统中的计算机在它们之间共享信息并复制数据,但系统会自动管理所有不同计算机之间的数据一致性。因此,可以在不影响数据一致性的情况下享受到容错的优势。
  • 透明度:分布式计算系统提供用户和物理设备之间的逻辑分离。您可以无需担心单个机器的设置和配置的与系统进行交互,就像它是一台计算机一样。您可以拥有不同的硬件、中间件、软件和操作系统,它们可以协同工作以使系统顺利运行。
  • 效率:分布式系统通过底层硬件的最佳资源使用提供更快的性能。因此,您可以管理任何工作负载,而不必担心由于容量激增或昂贵硬件使用不足而导致的系统故障。

分布式计算的使用场景

分布式计算如今非常普遍。移动和 Web 应用程序就是分布式计算,多台机器在后端协同工作以便应用程序提供正确的信息。分布式系统纵向扩展时,可以应对更复杂的挑战。以下是一些分布式计算的使用场景:

1. 医护及生命科学

医疗保健和生命科学使用分布式计算来建模和模拟复杂的生命科学数据。通过分布式系统,图像分析、医学药物研究和基因结构分析的速度都加快了。下面是一些示例:

  • 通过在三个维度上可视化分子模型来加速基于结构的药物设计;
  • 缩短基因组数据处理时间,以便及早发现癌症、囊性纤维化和阿尔茨海默氏症;
  • 开发智能系统,通过处理大量复杂图像(如 MRI 、 X 射线和 CT 扫描)来帮助医生诊断患者。

2. 工程研究

工程师可以在分布式系统上模拟复杂的物理和力学概念。他们利用这项研究来改进产品设计、构建复杂结构并设计更快的车辆。下面是一些示例:

  • 计算流体动力学研究,研究液体的行为,并在飞机设计和赛车中实施这些概念。
  • 计算机辅助工程需要计算密集型仿真工具来测试新的工厂工程、电子产品和消费品。 

3. 金融服务 

金融服务公司使用分布式系统来执行高速经济模拟,以评估投资组合风险、预测市场走势并支持金融决策。他们可以创建使用分布式系统的强大功能的 Web 应用程序来执行以下操作:

  • 提供低成本、个性化的保费
  • 使用分布式数据库安全地支持大量金融交易。
  • 对用户进行身份验证并保护客户免受欺诈 

4. 能源与环境 

能源公司需要分析大量数据以改善运营并过渡到可持续和气候友好的解决方案。他们使用分布式系统来分析来自庞大的传感器网络和其他智能设备的大量数据流。以下是他们可能会执行的一些任务:

  • 流式传输和整合地震数据以用于发电厂的结构设计
  • 用于主动风险管理的实时油井监控