信步走到阳台上,但见夏天的香港之夜无比灿烂,好似一个贵妇人,处处散发出珠光宝气,珠江从北边蜿蜒伸过来,恰似美人的玉带飘舞摇曳,渐渐地不见了丝缕。不由地想到老家成都,没有这般星光灿烂,却也是这样深邃神秘,锦江边上,虽然直到东吴的船只已经随着岁月成了历史,但处处亭台楼阁,沿河边总是挂着一些大大的红灯笼,让人见了心生暖意。早上起来推开窗,远方的西岭雪山上终年覆盖着一层薄薄的冰雪,在阳光的映照下发出金光。文君井,相如赋,子云亭,弄玉箫,薛涛签,草堂诗,历历在目.路边的烧烤摊上,常可见开着豪车的人在海吹海喝.沿河有很多茶馆,五元钱就可泡上一天,拿着张报纸乱翻,让太阳舒服地照在身上,让人浑身慵懒而惬意,成都就象一个温雅不俗而又小家碧玉的闰秀,使离子长相思。
我看见一颗流星划过了天空,悠地熄灭,我知道那是它的物质燃烧已尽,突然想起遇见stafenie时她自信的微笑,心中突然喀登了一下。
快步回到宿舍,把这次建模的思路又仔细理了一遍,没发现什么不对,再看了下前面试运行的情况,也很良好,可是什么东西使我隐约觉得不对劲呢?SLER这个算法有缺陷不能优化模型,我把模型中导致优化软件出现内存泄露的部分改了去运行,难道这个灵机一动的办法stafenie会没想到吗?要知道SLER 算法的造诣她更在我之上,连源代码也是她给我的,虽说她也没有搞完全部的源代码,可是她必然知道这样运算的结果有可能是个死循环,那么她也会采用和我同样的办法来解决吗?这个办法还有什么我未知的遗漏?还有玛丽娜,那个比石佛李昌镐还少年老成的少女,那个纵横欧洲引来业界一片精叹的绝世天才,难道她竟会蠢到想在这么短的时间里去重新写算法而不是绕开模型?那么她们又会用什么招数呢?我越想越觉得这里深不可测。想来想去也没个辙,算了,后天就要交论文了,我已不可能推倒重来,干脆先搁下它。
这一觉直睡到了中午,孙董和杨婷早起来把最后的整合弄完了,剩下的只是上试验机了。运行的结果不错,只是觉得机子的速度不是很快,想到这个计算量也比较大,我想这也算正常吧,就吩咐休息,自己喝了点饮料,躺在床上,昨天那个念头又浮现出来。
突然想起爱因斯坦说过一句话:一流的科学家精通运算推理,只有超一流的科学家才运用想象解决问题。是啊,当人类关于飞行速度的想象还停留在亚音速的时候,爱因斯坦想象了用光速飞行,所以他发现了质量也会变化的相对论,还有玻尔...(唉哟这部份我数学基础差编不出来了,哪位趣友补上),我突然觉得象这么复杂又这么限制条件而且缺乏充分数据的建模问题,最好的解决办法还要在模型之外再下点功夫才成。
一觉醒来,日上三竿,孙董和杨婷早已坐在电脑面前开始整理论文。我躺在沙发上,美美的伸了一个懒腰,从沙发上坐起来,揉了揉惺忪睡眼。
“神童起来了?”孙董关心的问我,“昨天是不是很晚才睡!”
“是呀,模型改到三点钟才改好,”我走到我的电脑面前,敲了一个键,去掉屏保,看了看电脑屏幕,高兴的说:“嗯,好不错了,模型已经优化完了!”
“真的!YEAH!”杨婷兴奋的叫了一声,“接下来是不是可以开始运算了?”
“嗯,先去比赛的服务器上看看到底有多少数据需要运算!”我一边说,一边登录到比赛组织方的数据服务器上。
“靠!居然有50个G的数据量,疯了!”我吃惊的看着举办方提供的数据文件,立刻从半梦半醒的状态清醒过来,“用我们这三台破PC,估计一星期都算不出来!”
杨婷和孙董也跑过来,吃惊的看着电脑屏幕上显示的文件大小,“难怪举办方竟然会提供专用的运算服务器,看来是有备而来!”
“孙董,你把数据导到运算服务器上,并加载到运算服务器的数据库里面,杨婷,你负责把我们的模型程序也迁移到运算服务器上,我先研究一下服务器的硬件配置!”我一边对孙董,杨婷下达命令,一边登录到运算服务器上,飞快的敲入了一堆命令。
“stafenie和叶莲娜果然又抢在我们前面了!”我指着屏幕上几个用户名是usa和russia的进程对孙董,杨婷说。
“好像就她们两个队,其他队都没有上来,看来我们还算靠前的!”杨婷有点得意的说。
“大小姐,你有点追求好不好,我们这次来参加比赛就是要争取冠军的,对我们威胁最大的两个对手都赶在我们前面了,有什么好得意的!”我不满的对杨婷说。
杨婷一脸闷闷不乐,转身回座位上开始迁移程序。
“神童,你过来看stafenie在数据库上建的表好奇怪,她没有把整个数据表放在一起,而是分了四块,放在四个不同的地方!”孙董奇怪的对我说。
我侧着身子过去看了一眼孙董的电脑屏幕,沉思了一会儿,然后又回到我的电脑面前,霹雳啪嗒敲了几个指令。
“stafenie果然是厉害,知道通过分片的方式来加快数据处理,”我啧啧赞叹的对孙董说,“一般我们建模用的数据表都很小,所以数据放在一起对的处理速度并不会产生什么影响,但是对于50G大数据量的处理,CPU、内存固然是瓶颈,但是更大的瓶颈是硬盘的IO,我看了一下,这台服务器一共有四个硬盘通道,每个通道的平均处理速度应该在五十兆每秒左右,如果数据全部放在一个通道上,硬盘IO的速度也就五十兆每秒,如果像stafenie那样,把数据分散在四个通道上,可以获得两百兆每秒的IO速度,整整提高了四倍……”
我一口气把情况给孙董分析了一下,孙董似懂非懂的点了点头,对我的崇敬之情油然而生,“神童,你太牛了,接着我们该怎么办?”
“你学satfenie,把数据表分成四块,不过stafenie是随机分块的,你待会儿按照我给你的规则对数据进行分块!”我用毋庸置疑的口吻对孙董说,孙董虽然不明白其中的原因,但这时候她唯一能做的就是无条件的照办。
我把数据分块的条件给孙董,孙董按照我的要求写SQL语言,把50G的数据分块的存放到数据表中。
杨婷很快把程序迁移到运算服务器上,对我说:“神童,我开始运行模型了!?”
“等一下,”我跑到杨婷的电脑面前,仔细的检查了一边杨婷的程序,摇摇头说,“这样的程序肯定不行!”
“为什么?”杨婷被我泼了一头冷水,有点泄气的说,“以前我都是这样写的!”
“这先看这段代码,对数据做排序的操作,你没有加内存参数,缺省是用系统的配置的最大内存,”
“这样有问题吗,内存越多不是跑的越快吗?”杨婷歪着头看着我,觉得不可思议。
“如果是你独占这台服务器,你说的就没错,但是现在stafenie和叶莲娜的程序都在上面跑,可用的内存不到百分之三十,如果你不限制内存,进程就会按照系统的最大内存去申请,那会出什么结果?”我问杨婷。
“那就申请不到这么多内存了!”
“聪明,申请不到这么多内存,又怎么办呢?”我接着问。
杨婷挠了挠头,“这就不知道了!”
“申请不到,进程就会使用虚拟内存,虚拟内存其实是运算服务器的硬盘空间,硬盘的IO速度其实远小于真正的内存的,所以程序就会不停的在硬盘和内存这件换入换出数据,反而使程序运行的速度大大变低,因此根据目前的状况,你现在将内存参数设置为百分之三十,绝对比你设置为百分之百要快的多!”
杨婷听了我这番大道理,吐了吐舌头说:“没想到计算机这么复杂,我以前怎么从来没听三石说过这些!”
“哎,这些东西书本上是没有的!”我叹了一口气说,心想,要是靠书本那点过时的知识,毕业肯定失业。
孙董终于把数据导完了,杨婷在我的协助下也把程序修改完毕,程序在服务器上疯狂的跑起来,和stafenie,叶莲娜的程序开始竞争硬盘IO,内存资源。我仔细研究了一下stafenie和叶莲娜的程序,不由的感叹这两位天才果然心思缜密,想得非常周到。
吃完午饭,程序还在继续运行未出结果,我走到走廊上去远眺大海,恰好stafenie也在外面“放风”。
“看来你改的很快呀!”stafenie微笑着对我说。
“还是落后你们俩一点!”我也笑了笑说。
“你居然想到把你们程序从用户态调到系统态,这样可以获得更高的运算优先级!而且按规则对数据进行分散,大大提高了处理速度,这个我都没想到,你真是厉害!”stafenie笑着称赞我说。
“呵呵,没办法,谁叫我已经落后了,不这样怎么能赶的上你们呢!”我回答说,“而且你和叶莲娜也太绝了,用分区的方式每人独占了四个CPU,留四个CPU让我和剩下的那些队伍去共享,真是把我们逼上了绝路!”
“呵呵,这只能怪组委会没有把规则制定好,所以我们没违规,照现在的状况,估计只有我们三个队能得到最终结果,”stafenie有点得意的说。
“就我了解,其他队可能还没开始模型优化,所以最后的胜利者只会在我们三者之间产生!”
“吴己一先生,你比我想象的厉害,之前我虽然认可你,但是没有把你真正的当作我的对手,但是现在我知道了,除了我和叶莲娜,你也可能夺冠,这次比赛越来越好玩了!”
“谢谢你的夸奖,我想你也应该看过叶莲娜在服务器上运行的程序了,有什么感受?”我问stafenie。
在运算服务器上每个用户的权限都是受限制,不能看别的组的程序,但是我通过矢量平移的方式获得了超级用户的权限,已经浏览过了stafenie和叶莲娜的程序了,目的不是为了抄袭,而是为了知己知彼。
后来,我才发现不只我有这样的想法,stafenie和叶莲娜也用同样的手段看过别的队的程序,包括我们的程序。
“完美的无懈可击!”stafenie淡定自若的说,“不过,到目前为止大家都不分高下,看来目前还不能分出输赢!不过我坚信我能笑到最后!”
“嗯,那就拭目以待!”我也充满自信的笑着说。
程序已经完全迁移到运算服务器上并豕突狼奔的开始跑起来,我们三也松了一口气坐在沙发上悠闲的聊天。