首页 技术 正文
技术 2022年11月14日
0 收藏 692 点赞 3,121 浏览 1921 个字

Unlike deadlock, livelocked packets continue to move through the network, but never reach their destination.

This is primarily a concern for non-minimal routing algorithms that can misroute packets.

If there is no guarantee on the maximum number of times a packet may be misrouted, the packet may remain in the network indefinitely.

Dropping flow control techniques can also cause livelock.

If a packet is dropped every time it re-enters the network, it may never reach its destination.

There are two primary techniques for avoiding livelock, deterministic and probabilistic avoidance.

In deterministic avoidance, a small amount of state is added to each packet to ensure its progress.

The state can be a misroute count, which holds the number of times a packet has been misrouted.

Once the count reaches a threshold, no more misrouting is allowed.

This approach is common in non-minimal, adaptive routing.

A similar approach is to store an age-based priority in each packet.

When a conflict between packets occurs, the highest priority (oldest) packet wins.

When used in deflection routing or dropping flow control, a packet will become the highest priority packet in the network after a finite amount of time.

This prevents any more deflections or drops and the packet will proceed directly to its destination.

Probabilistic avoidance prevents livelock by guaranteeing the probability that a packet remains in the network for T cycles approaches zero as T tends to infinity(无穷大).

For example, we might want to avoid livelock in a 2-ary k-mesh with deflection routing and single flit packets.

The maximum number of hops a packet can ever be from its destination is H_max = 2(k−1).

We then write a string for the history of a packet, where t denotes a routing decision toward the destination and d represents a deflection (such as tddtdtt . . .).

If the number of t ’s in the string minus the number of d’s ever exceeds H_max , then we know the packet must have reached its destination.

As long as the probability of a packet routing toward destination is always non-zero, the probability of this occurring approaches one.

Therefore, our network is livelock-free as long as we can always guarantee a non-zero chance of a packet moving toward its destination at each hop.

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,028
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,518
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,365
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,146
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,780
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,857