云计算中的并发:进程状态、通信协议与消息传递规则
在分布式系统中,理解其重要特性对于构建高效、可靠的系统至关重要。我们可以借助基于进程/线程和通信通道这两个关键组件的抽象模型来进行研究。
1. 进程状态与全局状态
- 进程与线程 :进程是正在执行的程序,线程是轻量级进程,是操作系统可调度的最小处理单元。进程或线程的状态是重启它们所需的信息集合,事件则是状态的改变。例如,在时空图中,进程 $p_i$ 的状态变化事件会被依次编号为 $e_1^i, e_2^i, e_3^i, \cdots$。进程 $p_i$ 在事件 $e_j^i$ 发生后立即进入状态 $\sigma_j^i$,并保持该状态直到下一个事件 $e_{j + 1}^i$ 发生。
- 进程或线程组 :由多个协作的进程和线程组成,它们为了实现共同目标而相互协作和通信。例如,在求解偏微分方程组(PDEs)的并行算法中,会将数据分割成多个段,并分配给组内的不同成员,这些成员需要相互协作并迭代,直到不同进程计算出的公共边界值达成一致。
- 通信通道 :为进程/线程之间的通信和协调提供了手段,通过交换消息来实现。通常假设进程间的通信仅通过
send(m)和receive(m)事件进行,其中 $m$ 是消息。通信通道的状态定义为:对于两个进程 $p_i$ 和 $p_j$,从 $p_i$ 到 $p_j$ 的通道状态 $\xi_{i,j}$ 包含 $p_i$ 已发送但 $p_j$ 尚未接收的消息。
这
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



