分布式系统上的互斥

时间:2011-04-05 01:27:03

标签: distributed mutex

事实上,应该使用分布式互斥算法(例如Maekawa的算法)而不是简单的互斥。简单的互斥锁定缺乏在分布式系统上提供互斥或良好性能的情况是什么?谁能给我一个具体的例子呢?

1 个答案:

答案 0 :(得分:0)

通过简单的互斥锁,您是指在多线程编程中使用的普通互斥锁吗?普通互斥锁仅在一台计算机上可见,因此无法阻止远程计算机上的作业之间的竞争条件。这使它成为一个非首发。

也就是说,不使用分布式互斥锁可以获得更好的平均性能。因此,您可以使用主选举来确定谁负责一组互斥锁,然后让所选主服务器服务于短期互斥锁。如果互斥锁从未被保持的时间超过时间段以确定主设备已关闭并选择新的主设备,则这是安全的。

然而,该策略将导致在整个主选举过程中阻止互斥量获取。预计主人将花费很少的时间,但是当它下降时会对延迟产生重大影响。如果您关心的最大延迟超过平均资源使用和平均延迟,这可能是不可接受的,您每次都需要使用分布式互斥锁。