同步的含义:
在分布式系统中,同步指的就是每个进程都有一个统一的时钟,在每次时钟周期中,所有的进程一起同时做动作。
进程形式化描述:
同步网络用有向图G = (V,E)表示。每个V代表进程的集合。
V中的每个进程 i 由以下几个部分组成:
- states:进程所处状态集合。
- start:进程的开始状态集合。
- msg(states,out-nbrs):消息生成函数,输入参数是出向邻接进程节点 和 当前进程的状态。输出的是消息M或者null。(就是说输出的消息只和当前进程状态以及要发给哪个进程有关)
- trans(states,M):状态转移函数,输入参数是进程当前状态 和 从某个入向邻接节点in-nbrs输入的消息M。
进程的运行:
进程的运行描述了同步网络系统的行为。
- Cr 表示系统状态赋值,也就是系统中的每个进程修改自己的当前状态。
- Mr 表示系统消息赋值,也就是系统中每个进程向外界发送消息。
- Nr 也表示系统消息赋值,但是是指每个进程接收消息。
所以同步网络中,系统的行为可以描述为一个无穷的序列:C0,M0,N0,C1,M1,N1 ...