9、分布式系统中的并发建模与模块化设计

分布式系统中的并发建模与模块化设计

1. 用 Petri 网建模并发

1962 年,Carl Adam Petri 引入了一类图,即所谓的 Petri 网(PNs)。Petri 网是一种二分图,图中带有在图中流动的令牌,用于对系统的动态行为而非静态行为进行建模,例如检测同步异常。

二分图有两类节点,弧总是连接一类节点中的一个节点与另一类节点中的一个或多个节点。在 Petri 网中,这两类节点是库所(places)和变迁(transitions),因此这类二分图常被称为库所 - 变迁(P/T)网。弧连接一个库所与一个或多个变迁,或者一个变迁与一个或多个库所。

为了对系统的动态行为进行建模,Petri 网的库所中包含令牌。变迁的激发会从变迁的输入库所移除令牌,并将它们添加到其输出库所。

Petri 网可以对分布式系统中的不同活动进行建模。一个变迁可以对事件的发生、计算任务的执行、数据包的传输、逻辑语句等进行建模。变迁的输入库所对事件的前置条件、计算任务的输入数据、输入缓冲区中数据的存在或逻辑语句的前置条件进行建模。变迁的输出库所对与事件相关的后置条件、计算任务的结果、输出缓冲区中数据的存在或逻辑语句的结论进行建模。

Petri 网中令牌在库所中的分布在给定时间被称为网的标识,它反映了所建模系统的状态。Petri 网是非常强大的抽象,可以表达并发和选择。

Petri 网可以对并发活动进行建模。例如,图 2.18(a) 中的网对冲突或选择进行建模;变迁 t1 和 t2 中只有一个可以激发,但不能同时激发。如果两个变迁在因果关系上是独立的,则称它们是并发的。并发变迁可以在彼此之前、之后或并行激发。

当选择和并发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值