周三。轮换调度上线两天,今天账单送到门口了。
上午九点,Ossanna 抱着一沓样张站在机房中间,脸色不太好。他那份专利部门的厚文档,以前一口气跑完四十分钟出全套;今天从九点跑到十点一刻,中间断了三回。
“它不偏心了,”他把样张拍在机台上,”可它开始磨洋工。”
他说得没错,而且原因很具体。轮换把长活儿切成小片,每切一次,排版程序正在用的那张大表就得从内存里搬走、腾出地方给别人,等轮回来再搬回去。这台机器八千个字,排版自己占五千,剩下的地方塞不下两份状态——所谓”搬走”,就是往盘上写一遍、待会儿再读回来。让一次,多两趟。
十点半,同一个机房里,打字员说了一句正好相反的话:”它今天真听话。”
一台机器,两个人,两种判决。差别只在于谁的时间被切碎:她的一行字要的是快回话,他的一份文档要的是别断气。
中午 Ken 的处置又是不动大东西:他没改调度器,改了排版程序。
改法是让排版每排完一页,主动把机器让出去一次,等下一轮再回来。他的原话大概六个字:”谁占得久,谁自己让。”
土,而且不讲理——把公平的责任推给了占得最多的那个人。可跑完一下午,两边的数字都动了:打字员的回话回到两秒以内;Ossanna 的总时长没降多少,但他发现一件事——断的次数少了。因为主动让出的位置在页边界,那儿正好是个干净的地方,回来接着干不用重新捡。被硬切下来的地方,常常是一张表改了一半。
我在旁边看着,把一句已经排到嘴边的话咽了。第三十六句:给活儿分等级,谁等不起谁先跑。
这叫优先级,往后每台机器上都有,谁都能背。咽下去的理由跟技术无关:等级一旦立起来,头一件事不是分级,是有人来定级。定级的人手上就多了一样别人没有的东西。上礼拜他们刚在吵”树顶那一格归谁管”(那格子到现在还空着),我今天再塞一把”谁的时间更值钱”的尺子进去,等于给那把空椅子先配个人坐。
还有更实际的一层:这机器上现在一共四个用户,谁等不起、谁等得起,屋里抬头就能看见。用不着规矩。
下午顺手去看那堆中间文件的”固定角落”,第三口咬上来了——不是有人往里扔垃圾,是有人把真稿子藏了进去,理由是”反正跑完会擦,擦之前谁也找不着”。差点被擦掉。Ken 把角落的清理改成”只擦带记号的”,那人站在旁边没吭声。
傍晚 Kernighan 来,手里多了一份纸,不是手册:一页写这机器上有什么,一页写坏了找谁,一页写带子怎么存。他说这是 Morris 那边要的,”给下一个管它的人看”。
手册抬头的空格还空着。今天旁边多了一份连抬头都不打算写的纸。
回宿舍路上买报纸。一条小新闻说某家航空公司的订票机器把全美的座位连成一张网,售票员在柜台敲一下,就知道另一个城市还有没有位子。另一版是世界大赛:昨天第三场大都会赢了,今天第四场。
本子今天两条:
第四十七条:让得早不如让得巧——在干净的地方停一次,胜过在烂地方被切十次。
第四十八条:规矩是给看不见彼此的人准备的。一屋子抬头就能看见的人,用不着尺子,也用不着等级。
(今日咽话一句,累计第三十六句。)