首页 > 解决方案 > 我们如何获得集群中并发活动流的数量?

问题描述

我使用 java 套接字并在集群的节点之间传输数据,传输可以是树广播(主节点将数据发送到某些节点,然后它们将接收到的数据发送到其余节点),链广播(主节点按顺序向所有工作节点发送数据) , shuffle (所有节点同时交换数据)

传输只是使用 java serverSocket 和套接字通信的 2 个节点(master-worker 或 worker-worker)之间的流。

如何确定并发流的数量(集群中的活动流),以便我可以安排这些流并为每个流提供网络的一部分

网络带宽为 1 gb/s 套接字缓冲区为 8192 字节

这是一个插图

标签: javamultithreadingparallel-processingnetwork-programmingcluster-computing

解决方案


您能做的最好的事情就是维护自己的数据结构,记录“流”,然后对它们进行计数。

Java API 没有提供一种方法来查找或计算所有打开的套接字,或者确定哪些套接字当前处于活动状态。即使在本机代码级别,它也可能难以处理。这仅在单个 JVM 中:您的集群中可能有多个 JVM。


推荐阅读