一眾领导寒暄完,重新回到了座位上,把讲台留给了顾川。
“不要紧张。”顾校见顾川一脸古怪,笑著鼓励道,“就当提前答辩了。”
什么叫提前答辩…顾川才入学多久…
后排的许倩媛的心一下就被揪了起来,看著在讲台上做著深呼吸的顾川,双手交叉,暗暗祈祷。
但其实,这时候的顾川並不紧张。
他只是有点似曾相识。
他上辈子的岗阶是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旁边噠噠噠的开始画点,
“我们需要在数学逻辑和物理硬体之间,再加一层,我管它叫虚擬节点。”