字:
关灯 护眼
彩页文学 > 我的智商逐年递增 > 第358章 尽量

第358章 尽量

    特伦顿的风从教堂门口灌进来的时候,陈拙正弯着腰,把一箱临期罐头搬出来。

    箱子不算轻。

    纸板外壳被雪水打湿了一角,边缘有些发软,手指稍微一用力,就能摸到里面铁罐冰冷的圆弧。

    亚伯拉罕站在後面,一边用胳膊挡开几个试图提前往前挤的流浪汉,一边用那根旧棒球棍敲了敲地面。

    「排队。」

    神父的声音不大,但在这条泥泞街道上足够有用。

    「今天没人饿死,但谁抢,谁最後拿。」

    人群里传来几声不满的咕哝。

    一个裹着脏毯子的男人骂了两句,看到亚伯拉罕手里的棒球棍,又把嘴闭上了。

    阿米尔站在教堂侧门旁,沉默地接过陈拙搬来的箱子,脸上没有多余表情,只在箱子堆歪的时候伸手扶正。

    伊利亚则完全是另一种状态。

    他站在泥水边缘,穿着那双已经被特伦顿毁掉的佛罗伦斯手工皮鞋,双手抱着一箱切片面包,嘴里从俄语骂到英语,又从英语骂回俄语。

    「我发誓,如果上帝真的爱世人,他至少应该先让这个街区有一条像样的排水沟!」

    亚伯拉罕头也不回。

    「上帝可能也没想到,会有人穿着这双鞋来特伦顿搬面包。」

    伊利亚冷笑了一声。

    「我也没想到。」

    他把箱子重重放在门边,又低头看了一眼自己的鞋,表情像是在参加一场小型葬礼。

    陈拙从车斗里搬下最後一箱罐头,刚准备转身,口袋里的手机忽然震了一下。

    起初他没听见。

    101看书 101 看书网超便捷,.轻松看 全手打无错站

    特伦顿的街道太吵。

    有人在吵架,有人在咳嗽,远处还有警笛声被风吹得忽近忽远,伊利亚正对着一块溅到大衣下摆上的泥点发表长篇控诉。

    手机又震了一次。

    陈拙把箱子交给阿米尔,空出一只手,从大衣内袋里摸出诺基亚。

    屏幕亮着,来电显示是一串跨洋转接後的号码。

    下面跳着两个字。

    楚戈。

    陈拙看着那个名字,停顿了半秒。

    这个点打国际长途,不是电脑炸了,就是人快炸了。

    按楚戈的性格,前者的可能性还大一点。

    在他的记忆里,这个名字通常和淩晨一点的宿舍灯光,乱糟糟的网线,半瓶可乐,以及键盘敲击声联系在一起。

    楚戈不是一个喜欢打电话求救的人。

    哪怕当年在学校,他写程序写到满脸发青,也更愿意先自己把问题拆成一地零件,再把其中最硬的那块丢到陈拙桌上。

    陈拙按下接听键。

    电话接通後,对面没有立刻说话。

    听筒里先传来一阵很轻的电流声,然後是一个空旷而压抑的呼吸声。

    隔了几秒,楚戈的声音才从地球另一端传过来。

    「拙哥。」

    声音很低。

    有点哑,还带着一种很久没有睡觉後的乾涩。

    陈拙站在教堂侧门旁,背後是灰白色的天空和泥泞的街道,前方是正在排队领取食物的人群。

    他没有问「怎麽了」。

    楚戈能在这个点打来,肯定已经不是一句「怎麽了」能解决的事。

    「你说。」

    陈拙换了一只手拿手机,另一只手从旁边的箱子里取出两罐肉酱,递给一个排到面前的老妇人。

    老妇人接过罐头,嘟囔着道谢。

    电话那头,楚戈沉默了两秒。

    「我先说清楚。」

    楚戈的声音压得很低,像是站在一个封闭的楼梯间里。

    「我不是让你帮我写代码,也不是让你管我们公司的事。」

    陈拙擡起眼,看了一眼正拿棒球棍维持队伍秩序的亚伯拉罕。

    「嗯。」

    「你也不懂计算机。」楚戈又说。

    这句话说得很直,像当年宿舍里几个人互相拆台时的语气。

    陈拙点了点头。

    「对,我对计算机的理解,主要停留在别把水泼键盘上。」

    电话那头沉默了一下。

    楚戈像是想笑,但没笑出来。

    那口气憋在嗓子里,最後只变成了一声很轻的呼吸。

    「我就是想问你一个数学上的问题。」

    陈拙从箱子里又拿出一袋临期面包,放到阿米尔递过来的桌板上。

    「你问。」

    电话那头,楚戈的声音顿了顿,开始尽量平静地描述。

    他说得不快。

    从三十万并发开始说。

    说他们复现了波士顿那几篇预印本里公开出来的底层逻辑,写了两个月代码,买了能买到的最好商用伺服器,三十万并发时,系统跑得像一块凉水里的石头,纹丝不动。

    然後是五十万。

    一开始能撑,後面响应时间越来越长,内存堆积,主进程被系统杀死。

    八十万。

    死机。

    一百万。

    瞬间CPU拉满,内存见顶,伺服器像被人把脑子里所有神经同时点燃,直接宕掉。

    後来他们试图在工程外围挂强制回收脚本。

    楚戈说到这里的时候,声音里终於出现了一点压不住的疲惫。

    「然後烧了一台伺服器的电源。」

    陈拙安静地听着。

    他没有插话。

    特伦顿这边的队伍向前移动,陈拙跟着往旁边挪了一步,把手机夹在肩膀和耳朵之间,双手搬起一箱新的面包。

    伊利亚看了他一眼,皱眉。

    「你在跟谁讲电话?你现在像一个在战场上接听银行推销的人。」

    陈拙偏过头,用肩膀压着手机,腾出一只手扶了一下快要滑下去的纸箱。

    「等一下。」

    他用中文对电话那头说了一句,又转头看向伊利亚。

    「我朋友的机器快死了,情况比你的鞋严重。」

    伊利亚低头看了一眼自己的皮鞋,脸色明显更差了。

    「这很难说。」

    陈拙没再理他。

    阿米尔从他手里接过面包箱,目光落在陈拙耳边的手机上,又很快移开。

    楚戈那边似乎也听到了这一句,但没有追问。

    他继续说。

    「代码我们查了三遍。」

    「没有内存泄漏,没有指针越界,也不是线程池逻辑写错。」

    「工程上的问题能试的都试了,但一到极值点,那个矩阵就太大了,机器吃不下。」

    他的声音低了一些。

    「拙哥,我现在就想问你一句。」

    楼梯间里似乎有风声。

    「你那个代数底座,是不是本来就不该这麽用?」

    陈拙终於停下了手里的动作。

    他站在教堂侧门旁,转过身,看向远处那条被雪水和泥巴混成灰黑色的街道。

    陈拙沉默了几秒。

    「你们直接用了完整结构?」

    楚戈那边安静了一下。

    「嗯。

    「」

    「完整矩阵?」

    「嗯。」

    「没有在生成前拆域?」

    楚戈愣了一下。

    「我们是在调度层之後做的切分。」

    「那就是生成完再切。」

    电话那头没有声音。

    陈拙伸手从箱子里取出一罐肉酱,放到桌板上,又顺手把旁边那袋快滑下去的面包扶正。

    「那不死才奇怪。」

    这句话说得很轻。

    没有责备,也没有嘲笑。

    就像在说一件非常普通的事实。

    电话那头,楚戈呼吸停了一瞬。

    「什麽意思?」

    陈拙看了一眼身边正在排队的流浪汉,转身往教堂里面走了几步,避开最吵的人群。

    前厅里稍微安静一些。

    亚伯拉罕看了他一眼,没有跟上,只是继续站在门口守着队伍。

    陈拙靠在一张破木桌旁,低头看着桌面上散落的面包屑。

    「那篇东西不是给你们这种机器直接跑的。」

    他说。

    「它是一个数学闭环。」

    「我写它的时候,讨论的是高维并发对象在代数空间里的完整映射和一次性降维,它默认的是,在极值点出现时,承载它的系统有能力把完整对象先托住,再压下去。」

    楚戈没有说话。

    陈拙继续道:「你们现在的问题不是代码错了,也不是伺服器坏了。」

    「是你们让那个完整对象出现了。

    17

    电话那边,楚戈的声音变得更低。

    「完整对象不能出现?」

    「在你们的机器上,不能。」陈拙说。

    「完整矩阵一旦生成,就已经超过你们硬体能承受的范围了。後面再写回收脚本,就像盘子已经扣在地上了,你再研究怎麽端稳,来不及。」

    「剪得动吗?」

    楚戈没有回答。

    陈拙听见电话那头有很轻的呼吸声。

    他知道楚戈听懂了。

    所以他没有继续解释「为什麽剪不动」。

    楚戈不是数学家,但他是一个足够优秀的工程师。

    陈拙只需要把那条线指出来,楚戈自己就能看到线後面的墙。

    过了一会儿,楚戈才开口。

    「可是原论文里的结构就是完整闭合的。」

    「对。」

    「如果不完整,数学上不就塌了吗?」

    「看你在哪个层面上要求完整。」

    陈拙说。

    他低头看着桌面上的面包屑,伸出手指,在木桌上随手划了一下。

    「你还记得以前宿舍里,大勇问过一个材料受力的问题吗?」

    「哪次?」

    「他用钢管和铝棒抵消热膨胀那次。」

    楚戈沉默了一下。

    「记得。」

    「那不是完美材料。」

    陈拙说。

    「它只是让两个不完美的东西在某个局部区间里互相抵消,整体上当然不优雅,也不纯粹,但在那个温度范围内,它稳定。」

    「你们现在也一样。」

    陈拙停顿了一下,听见外面伊利亚又在抱怨有人踩了他的鞋。

    「你们不需要完整的全局最优。」

    「你们只需要局部不炸。」

    电话另一端,楚戈的呼吸声变重了一点。

    「怎麽做?」

    「你别问我代码。」

    陈拙说得很乾脆。

    「我看你们那东西,大概跟你看大勇的合金配比差不多。」

    电话那头,楚戈终於低低笑了一声。

    很短。

    但那股压得快要发硬的东西,似乎因为这一句松了一点。

    陈拙继续道:「但从数学上说,你们不该让那个矩阵完整出现。」

    「别等所有并发请求汇成一个整体再降维。」

    「在它进入完整映射之前,先把输入域拆开。」

    楚戈没说话。

    陈拙擡起头,看向礼拜堂的方向。

    门缝里能看见那块破旧黑板的一角。

    「比如一百万。」

    陈拙说。

    「你们现在把它当成一个一百万的整体去算,所以它会生成一个你们机器托不起的高维对象。」

    「但一百万不是一百万。」

    楚戈听到这句话,忽然有一种很熟悉的感觉。

    当年在科大宿舍里,陈拙给王大勇解释实变函数的时候,也曾用这种像拆积木一样的语气,把一个看起来庞大而沉重的东西拆成很多个简单到令人发愣的部分。

    陈拙继续道:「一百万可以是二十个五万,也可以是五十个两万,重点不是数字怎麽分,重点是每一块内部必须能够独立闭合。」

    楚戈的手指下意识地按在楼梯间粗糙的墙皮上。

    「局部闭合?」

    「嗯,每一个局部块内部,保留完整映射,块和块之间,不传递完整矩阵,只传递边界量,边界量必须低维,必须固定,必须允许误差。」

    电话那头安静了足足五秒。

    然後楚戈的声音忽然变得快了一点。

    「也就是说,不能做全局调度,要做分片局部调度。」

    「这是你的说法。」

    陈拙纠正道。

    「我的说法是,不要把整个空间一次性擡起来,你们擡不动。」

    「那块和块之间的数据冲突呢?」

    「用边界常数处理。」

    「常数C?」

    「别用那个。」

    陈拙几乎没有停顿。

    「那个太重。」

    楚戈愣住了。

    「太重?」

    「嗯。

    「」

    陈拙看了一眼自己的鞋尖。

    「原始常数C是为了证明用的,不是给几台商用伺服器硬背的。」

    他说这句话的时候,没有任何不好意思。

    好像一篇震动数学、物理和计算机世界的东西,在他这里本来就只是某种不适合普通机器的理论工具。

    「你们需要一个简化的边界常数。」

    「它不必维持全局代数优雅,只要能保证两个局部块拼接时不发生数据冲突。」

    楚戈的眼睛慢慢亮了起来。

    「牺牲一部分全局最优?」

    「对。」

    「换局部稳定?」

    「对。」

    「那用户请求在块之间迁移的时候怎麽办?」

    「那是你的问题。」

    陈拙回答得非常自然。

    「你是写代码的。」

    楚戈张了张嘴,忽然又有点想笑。

    这个回答太陈拙了。

    他确实不懂计算机。

    他甚至懒得假装懂。

    可他偏偏把最核心的那道数学门槛,直接踹开了一条缝。

    「拙哥。」

    楚戈低声说。

    「我能不能理解成,你让我把完整空间拆成很多个小盒子,每个盒子里自己算自己的,盒子之间只交换一个很轻的边界标记?」

    「差不多。」

    「这个边界标记不追求数学上的完美闭合,只保证工程上不冲突?」

    「不是工程上。」

    陈拙又纠正了一次。

    「是局部代数关系不冲突。」

    楚戈立刻改口。

    「对,局部代数关系不冲突。」

    陈拙想了想,又补充了一句。

    「还有一点。」

    「你说。」

    「不要在映射之後回收。」

    「那在哪?」

    「映射之前。」

    楚戈整个人猛地站直,楼梯间里的灯因为他的动作闪了一下。

    「映射之前?」

    「你们之前的外挂回收为什麽烧机器?」陈拙问。

    楚戈立刻答道:「因为强制回收切断了同调映射,矩阵找不到对应节点,疯狂重试。」

    「所以不要切已经映射过的东西。

    陈拙说。

    「在它成为矩阵的一部分之前,就决定它属於哪个局部块。」

    「如果它不属於任何块,就先让它等。」

    「别让它进去。」

    楚戈握着手机的手指慢慢收紧。

    这不是代码,这也不是一个可以直接复制粘贴的解决方案。

    但这是一条路。

    一条他们自己可以走的路。

    输入域前置分片。

    局部闭合。

    低维边界量。

    简化边界常数。

    映射前限流,而不是映射後回收。

    这几句话在楚戈脑子里迅速拼成了一张新的架构图。

    不是原论文里那个巨大,完美,漂亮到不讲道理的数学圣殿。

    而是一排低矮,结实,能扛风雨的仓库。

    不好看。

    但能用。

    电话那头,特伦顿的声音忽然又变得嘈杂起来。

    有人大声争执,亚伯拉罕低沉的警告声从远处传来,伊利亚用他那极具穿透力的俄式英语骂了一句什麽。

    陈拙侧过头,看见救济队伍前面有两个男人因为多拿一袋面包推搡起来。

    亚伯拉罕的棒球棍已经擡了起来。

    阿米尔默不作声地走过去,站在两人中间。

    陈拙收回目光,对电话那头说:「我这边快从分面包变成分人了。

    楚戈怔了一下。

    他这才重新意识到,自己这通电话并不是打到了普林斯顿某间安静的办公室里。

    对面很吵。

    有风声,有人的争执声,有箱子拖动的声音,还有一个陌生男人用带弹舌的口音不耐烦地骂街。

    「你在哪?」楚戈下意识问。

    「特伦顿。」

    「干嘛?」

    「分面包。」

    楚戈一时间没反应过来。

    「啊?」

    陈拙看着门外泥泞街道上排队的人群,语气很平常。

    「帮一个神父分临期食品。」

    电话那头沉默了两秒。

    楚戈忽然不知道该说什麽。

    深市南山科技园的楼梯间里,白炽灯忽明忽暗。

    门後是十几台伺服器,是合同,是上线时间,是百万并发,是一家公司生死存亡。

    而电话另一端,陈拙站在新泽西某个贫民区破旧教堂的门口,手里可能还沾着面包屑正在给流浪汉分食物。

    两个世界隔着半个地球。

    却被一通国际长途勉强连在一起。

    楚戈靠着墙,忽然笑了一下。

    「你还真是......在哪都挺忙。」

    陈拙没有接这句。

    他只是说:「楚戈。」

    「嗯。」

    「别去碰完整模型。」

    陈拙的声音在嘈杂背景里依然稳定。

    「你们用不起,不丢人。」

    楚戈喉咙动了一下。

    这句话比任何安慰都有用。

    不是你们差。

    是这东西本来就不是这麽用的。

    「我知道了。」

    楚戈低声说。

    陈拙继续道:「你们现在要做的,是写一个你们自己的版本。」

    「不是复现我那篇东西。」

    「是借它的骨架,重新搭一个能在你们机器上站住的东西。」

    楚戈闭上眼睛,深吸了一口气。

    「明白。」

    「别问我代码。

    「」

    「不会问。」

    「别问我商业。

    「不问。」

    「你们自己决定能牺牲多少延迟,能接受多少等待,能把输入域拆成多碎。」

    「好。」

    陈拙看了一眼教堂门口,亚伯拉罕已经把那两个推搡的男人分开了。

    「我挂了。」

    楚戈握着手机,忽然开口。

    「拙哥。」

    「嗯?

    「谢了。」

    电话那头安静了一下。

    然後陈拙的声音传来。

    「别烧第二台伺服器了。」

    楚戈愣了半秒,随即低低笑出了声。

    「尽量。

    "」

    >
『加入书签,方便阅读』