【发布时间】:2012-02-13 16:15:41
【问题描述】:
我的多核机器正在接收数据包并在其核心之间均匀地分配它们(类似于循环)。每个核心都应该决定是让数据包通过还是丢弃它,这完全取决于它的源地址。
我需要找到无锁算法和数据结构来实现这一点。你能帮忙吗?
【问题讨论】:
-
需要更多信息 - 你有被阻止的 ips 列表吗?
-
听起来很有趣,但恕我直言,这个问题太宽泛了。您应该提供一些有关您的技术堆栈的详细信息。
-
@WeaselFox 没有。目的是通过阻止来自一小组地址的洪水来阻止它们,同时允许其他地址通过。
-
@home 这是一个抽象的问题,算法和数据结构是感兴趣的。
-
如何将问题改为:“我需要一个线程安全的无锁集合”?检查 .NET 4 中的
System.Collections.Concurrent命名空间。如果我做对了,那么您问题中的其他所有内容都无关紧要。
标签: algorithm data-structures parallel-processing distributed-computing