分布式系统中的进程迁移
进程本质上是一个正在执行的程序。流程的执行应该在顺序设计中进行。进程被描述为处理系统中要执行的基本工作单元的实体。进程被描述为处理系统中要执行的基本工作单元的实体。
进程迁移是一种特殊类型的进程管理,通过它,进程从一个计算环境开始移动,然后移到下一个计算环境。
有两种类型的进程迁移:
- 非抢占式进程:如果一个进程在其源节点上开始执行之前被移动,则称为非抢占式进程。
- 抢占式进程:如果进程在执行时被移动,称为抢占式进程迁移。与非抢占式相比,抢占式进程迁移更加昂贵,因为进程环境应该与进程一起迁移到其新节点。
为什么要使用流程迁移?
使用进程迁移的原因是:
- 动态负载平衡:它允许进程通过从过载节点重新定位来利用堆叠较少的节点。
- 可访问性:抑制缺陷节点的进程可以移动到其他完美节点。
- 系统管理:如果节点正在经历系统维护,则驻留在节点中的进程可以移动到不同的节点。
- 数据的局部性:进程可以利用特定节点的信息区域或其他非凡能力。
- 移动性:在设备与网络分离之前,可以将进程从手动操作的设备或计算机重新定位到基于服务器的自动计算机。
- 故障恢复:停止、传输和恢复进程的组件实际上对于支持在基于事务的应用程序中恢复故障很有价值。
流程迁移涉及哪些步骤?
迁移过程涉及的步骤是:
- 选择该过程进行迁移。
- 选择要重定位的进程的目标节点。
- 将所选进程移动到目标节点。
迁移进程的子类别是:
- 该进程在其源节点上停止并在其目标节点上重新启动。
- 进程的地址空间从它的源节点转移到它的目标节点。
- 消息转发隐含在传输过程中。
- 管理由于进程迁移而被隔离的协作进程之间的通信。
进程迁移的方法
进程迁移的方法有:
1. 同构进程迁移:同构进程迁移意味着在同构环境中重新定位进程,其中所有系统都具有相似的操作系统和架构。执行进程迁移有两种独特的策略。这些是 i) 用户级进程迁移 ii) 内核级进程迁移。
- 用户级进程迁移:在此过程中,无需转换操作系统内核即可管理进程迁移。用户级迁移执行更容易创建和处理,但通常有两个问题:i) 他们无法访问内核状态。 ii) 他们应该利用缓慢且昂贵的内核需求来跨越内核限制。
- 内核级进程迁移:在此过程中,进程迁移是通过调整操作系统内核来完成的。相应地,流程迁移将变得更加简单和熟练。该设施允许更快地完成迁移过程并重新定位更多类型的过程。
同构进程迁移算法:
同质过程迁移有五种基本计算:
- 总复制算法
- 预复制算法
- 需求页面算法
- 文件服务器算法
- 冻结免费算法
2. 异构进程迁移:异构进程迁移是跨机器架构和操作系统的进程重定位。显然,它比同构案例更复杂,因为它应该审查机器和操作设计和属性,以及发送与同构进程迁移类似的数据,包括进程状态、地址空间、文件和通信数据。异构过程迁移特别适用于便携式环境,在这种环境中几乎可以肯定便携式单元和基站帮助站将是不同的机器类型。在计算期间将过程从多功能单元重新定位到基站以及相反的方式将是有吸引力的。在大多数情况下,这无法通过同质迁移来实现。异构迁移有四种基本类型:
- 被动对象:信息被移动,应该被翻译
- 活动对象,非活动时移动:进程在不执行时重新定位。代码存在于这两个区域中,只是信息被移动和翻译。
- 活动对象,解释代码:进程通过解释器执行,因此只需要移动信息和解释器状态。
- 活动对象,本机代码:代码和信息都应在为特定架构积累时进行转换。