- 论坛徽章:
- 0
|
本帖最后由 cwang_sh 于 2015-01-18 20:36 编辑
各位好!
我在做一个实时的数据处理项目,一个接收进程实时地、周期地接收1000个进程发送来的数据包,这些发送进程可以运行在不同主机或相同主机上。这些发送进程需要在每个毫秒内分别发送一个数据包给接收进程, 即在接收方看来,收到第一个发送进程发来的数据,与收到最后一个发送进程来的数据,这个间隔最长是0.5毫秒,在下一个0.5毫秒内完成对这些数据的处理,再在下一个0.5毫秒内又接收到1000个包,以此类推,可以实现吗?
很显然,发送进程发送的周期为1毫秒。
我是实时处理,需要的时间精度很苛刻。必须是毫秒级的,必须在0.5毫秒内收齐1000个数据。
我的理解是,难点有两个:
1。发送方:如何使这些进程接近于同步地发送数据,容许到达的时间偏差是0.5毫秒。因为这些进程位于不同的主机上,这个任务非常具有挑战性,即使位于同一主机上,也不容易实现。
2。接收方:如何在0.5毫秒内完成1000个数据包的接收。目前有相关的技术,比如intel的DPDK软件包可以支持1秒钟内接收500万个数据包的能力,支持DPDK的网卡上应该具有足够的缓冲能力。
如能赐教,不胜感激.
cwang_sh |
|