“顾川,来来来。”他朝着顾川招招手,示意他放松点,这才看到有点局促的许倩媛,有点惊讶。
这小姑娘跟个瓷娃娃似的,长得真好。
这真是顾川的同学?别是女朋友吧…
“小姑娘,你是?”他还是试探着确认。
“啊…”许倩媛连忙鞠躬,“您好,我是…我是顾川的高中同学,来东南大学参观的…”
“哦…”顾校看了一眼脸色如常的顾川,没感觉他有什么破绽,笑着摆摆手,
“没事没事,我们找顾川有点事…你先在后面坐一会儿。”
“来,顾川。”他从座位后走出来,拉住顾川的手,“我给你介绍一下。”
他看都没看一脸期待的蒋校,“这是你们系的系主任,陈健龙。”
陈健龙长得有点憨厚,发量也很不数学。
“主任好。”顾川立刻欠身。
这位陈主任笑呵呵地站起来,虚扶了一把顾川,
“真是好样的,论文我看过了,说实话,我刚刚才突击看了一下哈希,在这一块,你比我厉害啊。”
顾川心里的敬意更深了一点。
不是什么人都能在自己擅长的领域和后辈低头的。
“好了,你们以后有的是时间客套。”顾校笑着拍了拍顾川的肩膀,指了指一旁的罗俊舟,
“这是计算机系的罗教授,你们见过了。”
“这是左伟,下个月就是党委副书记了。”
“这是常务副校长…”
“这是…”
顾川一个个鞠躬过去,心里咋舌。
这是把整个东南大学的权力中心都搬过来了啊。
顾校笑着一个一个介绍,最后才拉着顾川走到蒋校旁边。
“这是隔壁南大的校长,姓蒋,你就随便打个招呼就行。”
“啊?”顾川愣了愣。
南京,蒋校。
你不会是宁波来的吧…
蒋校脸上始终挂着笑容,对自己老朋友这套已经见怪不怪,站起身主动伸出手,“顾川是吧,来来来…”
“哎~”顾校笑着把他的手压了下去,“老蒋啊,你一个校长,就不要跟我们东南学子来这套了,顾川啊…”
他不等蒋校接话,又看向了顾川,“今天这么多人来,就是想问你几个问题,你不要紧张,正常回答就行。”
“老顾啊,你这样就不厚道了…”蒋校跟顾校差不多年纪,还是拉着顾川的手上下摇了几下,“顾川啊,别紧张,对了,我们学校…”
“老蒋啊…”
“哎,老顾你别打断我行不行…”
坐在后排的许倩媛原本有些怯生生地看着这一幕,却见顾川转头看向了她。
耶。
顾川朝她比了个手势。
噗…许倩媛抿着嘴,脸颊绯红一片。
你耶什么耶啦。
…
(昨天出去玩了,更新晚了,对不起…)
第92章 露一手(下)
一众领导寒暄完,重新回到了座位上,把讲台留给了顾川。
“不要紧张。”顾校见顾川一脸古怪,笑着鼓励道,“就当提前答辩了。”
什么叫提前答辩…顾川才入学多久…
后排的许倩媛的心一下就被揪了起来,看着在讲台上做着深呼吸的顾川,双手交叉,暗暗祈祷。
但其实,这时候的顾川并不紧张。
他只是有点似曾相识。
他上辈子的岗阶是4-2,因为算法部门在字节的特殊地位,他的实际权限相当于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旁边哒哒哒的开始画点,
“我们需要在数学逻辑和物理硬件之间,再加一层,我管它叫虚拟节点。”
“每一台真实的物理服务器,我给它加上不同的前缀盐值,进行哈希计算。
举个例子,一台物理机,我映射1000个虚拟的分身。
那么回到您刚刚的问题。
这1000个A的分身,穿插在B和C的分身之间,散布在整个环上。
如果物理机A烧了,环上消失的,不是一个巨大的A,而是1000个微小的A的碎片。
这1000个碎片顺时针寻找接盘…嗯,下一个服务器时,它们找到的,将是剩下的所有其他物理机!
原本属于A数据,不会整个砸向邻居B,而是被网格里剩下的所有机器,均匀平摊。”
顾川在圈上写下DEFG,
“这样,一台机器只增加了一点点的负载,理论上并不会出现问题。
当然,要是环上所有机器都在满负荷,那我建议加机器,别硬抗。”
“这…”杨健龙直接站了起来。
97年麻省理工的那篇论文里,其实用数学语言提到了这个概念,只不过学术界现在根本没有给它命名。
顾川一个18岁的学生,居然想给它命名?
真是…太狂妄…也太让人喜欢了吧!
不愧是我们数学系的!
与之对应的,罗俊舟张着嘴,也站了起来。
他是计算机出身,想比杨健龙的更深一步。