“不要紧张。”顾校见顾川一脸古怪,笑着鼓励道,“就当提前答辩了。”
什么叫提前答辩…顾川才入学多久…
后排的许倩媛的心一下就被揪了起来,看着在讲台上做着深呼吸的顾川,双手交叉,暗暗祈祷。
但其实,这时候的顾川并不紧张。
他只是有点似曾相识。
他上辈子的岗阶是4-2,因为算法部门在字节的特殊地位,他的实际权限相当于vp(副总裁)。
说是十来个人之下,十几万人之上,还真没什么问题。
上次给人象这样“说课”是在哪里?会议室吧?
底下的人是清北硕博还是硅谷海归来着?
他捻起一支粉笔,再次朝领导们鞠了一躬,又看了一眼后排眼神有些担心的许倩媛。
这应该是不少学生想象过的场景吧,自己站在讲台上,下面的导师握着笔,喜欢的女生还坐在后排看着。
“我准备好了。”他停止胡思乱想。
“第一个问题我来吧。”顾校主场,又是校长,需要他先来定调,
“小顾啊,咱们先不聊后面那些复杂的哈希环,就聊你论文的第一部分。
你的思路很巧,论文里举的例子也很有趣。
传统的 select轮询,就象是宿管挨个敲整栋宿舍楼的房门,问有没有垃圾要倒,这样效率太低,处理太慢。
不如有垃圾的宿舍自己把垃圾打个包,放在走廊上排好队,这样宿管直接收就行。
这也就是你说的 O(1)。
这个比喻,我没理解错吧?”
见顾川点头,顾校笑了笑,“那我这里就有个问题了,如果某一天,这一万个宿舍在同一秒钟,全都有垃圾要倒。
你的那个就绪队列里,瞬间塞满一万个任务,应用层程序难道不需要把这一万个任务挨个处理一遍吗?
既然最后还是要老老实实处理一万次,总耗时依然是随着连接数线性增长的。
那你所谓的 O(1)优势,到底体现在哪里呢?
这难道不是一个偷换概念的伪命题吗?”
“是的。”顾川掂了掂手上的粉笔,知道顾校这是半测试半给自己抬轿子,
“瞬间一万条信息,处理消息的计算时间依然是O(N)。”
“但我想解决的问题,从来不是处理信息,而是等待。”
“比如…QQ。”顾川轻笑,
“假设现在一百来个QQ挂在网上,但其实中间有九十万都是静默状态,用传统轮询,cpu要把算力放在这些静默的QQ上,不断询问‘你要不要发送消息’,这就导致单台服务器能承载的用户量减少,想要解决,唯一的办法就是多买服务器。”
“而在我的设想中,这九十万个静默状态下的QQ根本不用搭理,直接处理已经发送的消息就行。”
实际上,这正是小马哥看到这篇论文会急忙来找他的原因。
顾川的论文,在他眼里,通篇只有两个字,省钱。
可惜顾川根本不会做资敌的事。
小马哥你还是老老实实卡着吧,这对大家都好。
“很好。”顾校满意的点了点头,朝陈健龙点了点头,“那么第二个问题,小陈,你来吧。”
“好,”陈健龙朝顾川笑了笑,“顾川,我花了点时间看了一下你说的哈希环概念。”
“你说当网格里有服务器A物理宕机了,那么原本打向A的流量,会顺时针查找,平滑地转移给下一个相邻的节点B。
数学上,这确实避免了全网数据的重新洗牌,非常好。”
“但是在实际操作里,这是要出大事的。
既然是海量并发,节点B原本就承担着属于它自己的满负荷流量。
现在A死了,你把A的全部流量瞬间砸到B的头上。B的CPU和网卡绝对扛不住这突如其来的双倍压力,它会在几秒钟内被当场压垮。
类似的,B死了,A和B的流量又会全部砸向下一个节点C,同理,C也会瞬间被击穿,循环往复,整个系统会瞬间崩溃。
我想知道,你考虑过这个问题吗?”
“当然。”顾川在黑板上画了一个圈,标注了ABC,
“如果把物理服务器1:1的挂在这个环上,那炸一台机子,其他的必炸。”
“所以…”
他用在ABC旁边哒哒哒的开始画点,
“我们需要在数学逻辑和物理硬件之间,再加一层,我管它叫虚拟节点。”
“每一台真实的物理服务器,我给它加之不同的前缀盐值,进行哈希