百科问答小站 logo
百科问答小站 font logo



如何把一个文件快速分发到 100w 个服务器? 第1页

  

user avatar   ha-ha-ha-ha-36-70-46 网友的相关建议: 
      

假如文件大小为S, 机器总数为N

将机器按照就近原则分为M个组, 均匀分的话, 每个组有N/M台机器. 每个组有一个master.

组内可以再分组.

第一轮:

先将文件推送给所有L1-master.

第二轮:

L1-master将文件推送给所有L2-master

假如有每层分两个组. 由于高度为19的满二叉树节点是(2^20-1), 因此19层即可达到100w.

共需要传输19轮

1: 2*S

2: 2*2*S

3: 2*2*2*S

i: 2^i*S

19: 2^19*S


总带宽 = S * (2^1 + 2^2 + 2^3 + ... + 2^19) = S * (2^20-1)


user avatar   ling-jian-94 网友的相关建议: 
      

这是我看到的最准确的总结。

总的来说,就是中国的高考相对公平,所以性价比极高,所以其他活动都可以适当让步。




  

相关话题

  教授说没有写过一千行以上代码的程序就别想上大公司,这种说法对吗? 
  实验室有人用服务器挖矿该怎么办? 
  以C++为核心语言的高频交易系统是如何做到低延迟的? 
  C/C++ 数组的下标为何要从 0 开始,而不从 1 开始? 
  int *p=new int,当free(p)时free函数是怎么知道要释放4个字节而不是5个的? 
  C/C++基本数据类型里面为什么没有byte呢? 
  有没有什么比较便宜的香港服务器推荐? 
  为什么C++的 extern "C" 里面可以使用C里面不存在的STL和引用&等C++才有的特性 ? 
  #define 不是简单的替换吗,为什么下面的代码错误? 
  没有域名搭建服务器别人通过ip地址可以访问到吗? 

前一个讨论
据统计数字人民币个人钱包从 2000 万增至 2 亿 +,半年翻几番 ,这一数据说明了什么?
下一个讨论
如何看待 Rust 这门语言?





© 2024-11-23 - tinynew.org. All Rights Reserved.
© 2024-11-23 - tinynew.org. 保留所有权利