Ctrl+D收藏泡泡中文
泡泡中文Paozw.com
泡泡中文 > 玄幻魔法 > 是谁让他重生的?! > 第92章 露一手(下)

第92章 露一手(下)

一眾领导寒暄完,重新回到了座位上,把讲台留给了顾川。

“不要紧张。”顾校见顾川一脸古怪,笑著鼓励道,“就当提前答辩了。”

什么叫提前答辩…顾川才入学多久…

后排的许倩媛的心一下就被揪了起来,看著在讲台上做著深呼吸的顾川,双手交叉,暗暗祈祷。

但其实,这时候的顾川並不紧张。

他只是有点似曾相识。

他上辈子的岗阶是42,因为算法部门在字节的特殊地位,他的实际权限相当於vp(副总裁)。

说是十来个人之下,十几万人之上,还真没什么问题。

上次给人像这样“说课”是在哪里?会议室吧?

底下的人是清北硕博还是硅谷海归来著?

他捻起一支粉笔,再次朝领导们鞠了一躬,又看了一眼后排眼神有些担心的许倩媛。

这应该是不少学生想像过的场景吧,自己站在讲台上,下面的导师握著笔,喜欢的女生还坐在后排看著。

“我准备好了。”他停止胡思乱想。

“第一个问题我来吧。”顾校主场,又是校长,需要他先来定调,

“小顾啊,咱们先不聊后面那些复杂的哈希环,就聊你论文的第一部分。

你的思路很巧,论文里举的例子也很有趣。

传统的 select轮询,就像是宿管挨个敲整栋宿舍楼的房门,问有没有垃圾要倒,这样效率太低,处理太慢。

不如有垃圾的宿舍自己把垃圾打个包,放在走廊上排好队,这样宿管直接收就行。

这也就是你说的 o(1)。

这个比喻,我没理解错吧?”

见顾川点头,顾校笑了笑,“那我这里就有个问题了,如果某一天,这一万个宿舍在同一秒钟,全都有垃圾要倒。

你的那个就绪队列里,瞬间塞满一万个任务,应用层程序难道不需要把这一万个任务挨个处理一遍吗?

既然最后还是要老老实实处理一万次,总耗时依然是隨著连接数线性增长的。

那你所谓的 o(1)优势,到底体现在哪里呢?

这难道不是一个偷换概念的偽命题吗?”

“是的。”顾川掂了掂手上的粉笔,知道顾校这是半测试半给自己抬轿子,

“瞬间一万条信息,处理消息的计算时间依然是o(n)。”

“但我想解决的问题,从来不是处理信息,而是等待。”

“比如…qq。”顾川轻笑,

“假设现在一百来个qq掛在网上,但其实中间有九十万都是静默状態,用传统轮询,cpu要把算力放在这些静默的qq上,不断询问你要不要发送消息』,这就导致单台伺服器能承载的用户量减少,想要解决,唯一的办法就是多买伺服器。”

“而在我的设想中,这九十万个静默状態下的qq根本不用搭理,直接处理已经发送的消息就行。”

“i/o復用的本质是消灭无效的等待损耗,而不是处理消息的时间。”

实际上,这正是小马哥看到这篇论文会急忙来找他的原因。

顾川的论文,在他眼里,通篇只有两个字,省钱。

可惜顾川根本不会做资敌的事。

小马哥你还是老老实实卡著吧,这对大家都好。

“很好。”顾校满意的点了点头,朝陈健龙点了点头,“那么第二个问题,小陈,你来吧。”

“好,”陈健龙朝顾川笑了笑,“顾川,我花了点时间看了一下你说的哈希环概念。”

“你说当网格里有伺服器a物理宕机了,那么原本打向a的流量,会顺时针寻找,平滑地转移给下一个相邻的节点b。

数学上,这確实避免了全网数据的重新洗牌,非常好。”

“但是在实际操作里,这是要出大事的。

既然是海量並发,节点b原本就承担著属於它自己的满负荷流量。

现在a死了,你把a的全部流量瞬间砸到b的头上。b的cpu和网卡绝对扛不住这突如其来的双倍压力,它会在几秒钟內被当场压垮。

类似的,b死了,a和b的流量又会全部砸向下一个节点c,同理,c也会瞬间被击穿,循环往復,整个系统会瞬间崩溃。

我想知道,你考虑过这个问题吗?”

“当然。”顾川在黑板上画了一个圈,標註了abc,

“如果把物理伺服器1:1的掛在这个环上,那炸一台机子,其他的必炸。”

“所以…”

他用在abc旁边噠噠噠的开始画点,

“我们需要在数学逻辑和物理硬体之间,再加一层,我管它叫虚擬节点。”