【问题标题】:how can we get the number of concurrent active streams in a cluster?我们如何获得集群中并发活动流的数量?
【发布时间】:2018-04-28 11:41:09
【问题描述】:

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

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

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

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

这是illustration

【问题讨论】:

    标签: java multithreading parallel-processing network-programming cluster-computing


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我们在集群中有多个 JVM,所以你认为没有办法将网络部分调度到打开的套接字?
    • 我没这么说。我说的是没有办法计数套接字。这就是您所说的“获取...的数量”的意思,不是吗?
    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 2021-09-20
    • 2020-12-23
    • 2018-06-09
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多