当前位置: 首页 > article >正文

分布式计算架构详解以及任务调度方式

信息技术领域重要分支—分布式计算。分布式计算通过将任务分配到多个物理的计算资源上进行处理,以来提高计算效率和资源利用率。今天主讲分布式计算架构的关键组成以及在云服务器背景下任务调度的不同方式,然后再综合来看这些调度策略是怎样适应云环境的动态性和可扩展性

以前的集中式计算模式相对落后,根源是因为很难满足现在复杂的数据处理和存储需求。然而分布式计算却从根本上破解了这样的困局,它能提供的就是高扩展性、灵活性以及容错性。现在被大部分企业采用的云服务器,也从一定程度上加速了分布式计算发展,不论是任务调度还是资源管理,云服务器都在帮助企业从传统模式下走出。

 

·先来说说分布式计算架构的组成

资源层-包括处理节点、存储节点和网络基础设施;

其中处理节点是执行计算任务的工作单元,这个单元不固定死,可以是物理服务器、容器。一般来说,处理节点通常分布在不同的地理位置,并且提供高性能的计算能力。

存储节点主要负责数据的存储和检索,支持本地存储、网络附加存储(NAS)或者是存储区域网络(SAN),存储节点要配有具备可靠性和数据容错机制,用来确保数据的安全和持久性。

网络基础设施包括了链接各个节点的网络设备和通信协议。以太网、光纤网等的路由策略对于数据传输来说起到正面作用,可以保证数据传输的速度以及稳定性。

管理层-负责资源的分配、监控以及管理;

根据任务需求和资源的可用性,动态分配处理节点和存储资源是资源分配的重心,这其中涵盖了资源的初始化、配置以及回收

监控和管理是指实时监控系统的性能指标,比如节点负载、网络流量以及任务的执行状态,也针对资源的健康状况进行检测和恢复

确保系统访问的安全性、实施认证和授权机制安全性控制中重要一环。

通信层-确保各个节点之间的数据交换和协调;

数据传输协议,是对数据在节点之间传输的规则和格式的定义。TCP/IP、HTTP等

消息传递系统提供了一种机制,使得节点可以发送和接收信息,支持任务的协调和同步。

网络通信的优化是针对网络延迟和带宽限制,优化数据传输的效率和可靠性。

应用层-提供应用程序的接口和执行环境;

接口抽象、任务抽象和封装,执行环境是应用层特点。

接口抽象为应用程序提供统一接口,隐藏底层资源的复杂特征

任务抽象是将应用程序分解为可以独立执行的任务,便于在多个节点上并行处理

然后是执行环境,在运行时,提供必要支持,比如内存管理、进程调度和错误处理

·主要的两种架构模式分为Master-Slave模式以及Peer-to-Peer模式。其中前者是常见模式,Master节点负责任务分配和监控,Slave节点执行实际的计算任务。Peer-to-Peer模式主要特征是所有节点地位是平等的,相互之间分配和执行任务不会串行,各司其职。

·任务调度方式和策略

任务调度方式可以分为静态和动态,也就是不在运行中和运行中两类。

静态调度是在运行任务前完成调度过程,这种调度方式适用于任务类型和资源需求可预测的场景。

动态调度是在根据运行时的情况动态调整任务分配,这种方式适用于不确定性和变化性(即公司业务不确定 时大时小 这种就是动态调度的应用场景之一)

调度策略关键点在于负载均衡、资源利用、和响应时间

其一要确保所有计算节点的工作负载均衡;其二,要通过优化资源分配,来提高资源的利用率;在通过快速分配任务,减少任务完成的等待时间。

·再来结合云服务器来谈谈分布式计算

由分布式计算延伸出来的云服务器具有弹性伸缩,按需付费以及高可用性等优势。上面所叙述的动态调度指的就是云服务器弹性伸缩,即根据需求动态调整资源,并按照实际使用量付费。再就是多地域部署的高可用性。

灵活性和驱动力是云服务器结合分布式计算得出的优势,通过不断优化任务调度策略和资源管理办法,可以更好提高分布式计算的性能和效率。


http://www.kler.cn/a/283919.html

相关文章:

  • HTML之表单学习记录
  • Electron 项目启动外部可执行文件的几种方式
  • 网站小程序app怎么查有没有备案?
  • 第74期 | GPTSecurity周报
  • MySQL Workbench导入数据比mysql命令行慢
  • HarmonyOS Next星河版笔记--界面开发(4)
  • python用波形显示udp数据实现一个模拟示波器
  • Leetcode3240. 最少翻转次数使二进制矩阵回文 II
  • ES常用多条件查询
  • 西方法律思想史考试复习材料
  • 每天一个数据分析题(五百一十一)- 神经网络
  • 技术风暴中的应急策略:开发团队如何应对突发故障与危机
  • Java笔试面试题AI答之面向对象(9)
  • 自己开发完整项目一、登录注册功能-01
  • 集合及数据结构第十三节(下)———— 枚举与Lambda表达式
  • MES基于C#开发计划管理组件集成WinCC中使用
  • Java框架SpringBoot(一)
  • 【ceph学习】rados bench性能测试工具介绍
  • JAVA中有关锁的详解
  • 鸿蒙HarmonyOS开发:创建新的Lite工程
  • cesium加载在线3dtiles
  • 腾讯地图SDK Android版开发 9 覆盖物示例3点聚合
  • Flink1.14.* 各种算子在StreamTask控制下如何调用的源码
  • FPGA实现SDI视频H265压缩网络推流输出,基于VCU架构,支持12G-SDI 4K60帧,提供工程源码和技术支持
  • 批量进行Mysql数据处理的一项工作记录以及保存一个nginx变量大全
  • Linux下网络缓冲区——chainbuffer的具体设计