本发明总体上涉及网络设备,并且具体涉及用于减轻网络设备中的存储器访问拥塞的方法和系统。
背景技术:
1、诸如网络适配器、交换机和网络附接存储控制器之类的现代网络设备通常并发地执行大量处理任务。这样的网络设备可以包括多个处理器,例如cpu核心和/或网络处理器,以及高带宽存储器系统。
技术实现思路
1、本文描述的实施例提供一种网络设备,该网络设备包括一个或更多个端口、处理电路和存储器网络拥塞控制器。所述一个或更多个端口用于连接到网络。处理电路用于运行访问共享存储器的多个处理任务,处理任务中的一个或更多个处理任务包括通过网络传送一个或更多个分组流。该存储器网络拥塞控制器识别在由处理任务中的一个或更多个处理任务访问共享存储器时发生的存储器访问拥塞,并且通过引起分组流中的至少一个分组流的通信速率的降低来减轻存储器访问拥塞。
2、在一些实施例中,存储器网络拥塞控制器用于通过向远程网络设备发送使所述远程网络设备节制分组流的传输速率的通知来引起所述通信速率的所述降低。在一些实施例中,用于通过向远程网络设备发送指示网络拥塞的信息而引起所述通信速率的所述降低,而与任何实际网络拥塞无关。在一些实施例中,该存储器网络拥塞控制器用于通过节制至远程网络设备的分组流的传输速率来引起所述通信速率的所述降低。
3、在所公开的实施例中,一个或更多个分组流包括具有相应的第一通信优先级和第二通信优先级的第一分组流和第二分组流,所述第一通信优先级高于所述第二通信优先级,并且所述存储器网络拥塞控制器用于引起所述第二分组流中的所述通信速率的所述降低。在示例实施例中,所述存储器网络拥塞控制器用于通过修改应用于所述分组流中的所述至少一个分组流的分组丢弃策略来引起所述通信速率的所述降低。
4、在另一个实施例中,一个或更多个分组流包括具有相应的对延时的第一敏感度和第二敏感度的第一分组流和第二分组流,所述第一敏感度高于所述第二敏感度,并且存储器网络拥塞控制器用于引起所述第二分组流中的所述通信速率的所述降低。
5、在示例实施例中,该存储器网络拥塞控制器用于通过识别所述处理任务中的给定处理任务或任务组已经超过为其分配的存储器使用配额(quota)来识别所述存储器访问拥塞。在另一实施例中,存储器网络拥塞控制器用于通过识别所述处理任务的总体存储器使用已超过阈值来识别所述存储器访问拥塞。
6、另外地或可替代地,用于通过识别在访问所述共享存储器时所述处理任务中的给定处理任务或任务组的延时高于定义的限制来识别所述存储器访问拥塞。进一步另外地或可替代地,所述存储器网络拥塞控制器用于通过识别在由所述处理任务中的一个或更多个处理任务访问所述共享存储器时的延时增加的趋势来识别所述存储器访问拥塞。在一些实施例中,所述存储器网络拥塞控制器用于通过监控所述处理任务与所述共享存储器之间的反馈机制的通知来识别所述存储器访问拥塞。
7、根据本文描述的实施例,还提供了一种网络设备中的方法,包括在网络设备中运行访问共享存储器的多个处理任务。处理任务中的一个或更多个处理任务包括通过网络传送一个或更多个分组流。识别在由处理任务中的一个或更多个处理任务访问共享存储器时发生的存储器访问拥塞。通过引起分组流中的至少一个分组流的通信速率的降低,减轻存储器访问拥塞。
8、从下面结合附图对实施例的详细描述,将更充分地理解本发明。
1.一种网络设备,包括:
2.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过向远程网络设备发送使所述远程网络设备节制分组流的传输速率的通知来引起所述通信速率的所述降低。
3.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过向远程网络设备发送指示网络拥塞的信息而引起所述通信速率的所述降低,而与任何实际网络拥塞无关。
4.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过节制至远程网络设备的分组流的传输速率来引起所述通信速率的所述降低。
5.根据权利要求1所述的网络设备,其中所述一个或更多个分组流包括具有相应的第一通信优先级和第二通信优先级的第一分组流和第二分组流,所述第一通信优先级高于所述第二通信优先级,并且其中所述存储器网络拥塞控制器用于引起所述第二分组流中的所述通信速率的所述降低。
6.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过修改应用于所述分组流中的所述至少一个分组流的分组丢弃策略来引起所述通信速率的所述降低。
7.根据权利要求1所述的网络设备,其中所述一个或更多个分组流包括具有相应的对延时的第一敏感度和第二敏感度的第一分组流和第二分组流,所述第一敏感度高于所述第二敏感度,并且其中所述存储器网络拥塞控制器用于引起所述第二分组流中的所述通信速率的所述降低。
8.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过识别所述处理任务中的给定处理任务或任务组已经超过为其分配的存储器使用配额来识别所述存储器访问拥塞。
9.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过识别所述处理任务的总体存储器使用已超过阈值来识别所述存储器访问拥塞。
10.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过识别在访问所述共享存储器时所述处理任务中的给定处理任务或任务组的延时高于定义的限制来识别所述存储器访问拥塞。
11.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过识别在由所述处理任务中的一个或更多个处理任务访问所述共享存储器时的延时增加的趋势来识别所述存储器访问拥塞。
12.根据权利要求1所述的网络设备,其中所述存储器网络拥塞控制器用于通过监控所述处理任务与所述共享存储器之间的反馈机制的通知来识别所述存储器访问拥塞。
13.一种网络设备中的方法,所述方法包括:
14.根据权利要求13所述的方法,其中引起所述通信速率的降低包括:向远程网络设备发送使所述远程网络设备节制分组流的传输速率的通知。
15.根据权利要求13所述的方法,其中引起所述通信速率的降低包括:向远程网络设备发送指示网络拥塞的信息,而与任何实际网络拥塞无关。
16.根据权利要求13所述的方法,其中引起所述通信速率的降低包括:节制至远程网络设备的分组流的传输速率。
17.根据权利要求13所述的方法,其中所述一个或更多个分组流包括具有相应的第一通信优先级和第二通信优先级的第一分组流和第二分组流,所述第一通信优先级高于所述第二通信优先级,并且其中执行引起所述第二分组流中的所述通信速率的所述降低。
18.根据权利要求13所述的方法,其中引起所述通信速率的降低包括:修改应用于所述分组流中的所述至少一个分组流的分组丢弃策略。
19.根据权利要求13所述的方法,其中所述一个或更多个分组流包括具有相应的对延时的第一灵敏度和第二灵敏度的第一分组流和第二分组流,所述第一灵敏度高于所述第二灵敏度,并且其中在所述第二分组流中执行引起所述通信速率的所述降低。
20.根据权利要求13所述的方法,其中识别所述存储器访问拥塞包括:识别所述处理任务中的给定处理任务或任务组已经超过分配给其的存储器使用配额。
21.根据权利要求13所述的方法,其中识别所述存储器访问拥塞包括:识别所述处理任务的总体存储器使用已经超过阈值。
22.根据权利要求13所述的方法,其中识别所述存储器访问拥塞包括:识别在访问所述共享存储器时所述处理任务中的给定处理任务或任务组的延时高于定义的限制。
23.根据权利要求13所述的方法,其中识别所述存储器访问拥塞包括:识别在由所述处理任务中的一个或更多个处理任务访问所述共享存储器时的延时的增加趋势。
24.根据权利要求13所述的方法,其中识别所述存储器访问拥塞包括:监控所述处理任务和所述共享存储器之间的反馈机制的通知。