Legend Since 1984
Cruising between Fantasy and Reality...

Monday, August 18, 2008

Summer Intern Poster Session



Project: Dependence-Aware Scheduling Using Assistant Threads.
IBM T.J Watson Yorktown Site, Summer Intern Poster Presentation.
Content undisclosed.

Labels: , ,

Wednesday, February 20, 2008

PPoPP Poster Presentation

PPoPP: Principles and Practice of Parallel Programming
http://research.ihost.com/ppopp08/

晚上做了两个小时的Poster presentation,累得不行了。poster presentation就是在一个大厅中,摆有若干的海报,介绍自己的研究项目的内容。每个poster帮边都有一个介绍人向前来参观的人讲解大概的内容,回答别人提的问题。

我今晚负责组里面一个项目的讲解。Ps:那个海报也是我自己做的。从下午4:30到7:00,大概连续讲了两个多小时的话,不停的向不同的人重复差不多相同的内容。一开始还比较担心能不能讲清楚,到后面基本上得心应手了。老板本来打算站在旁边以防我有什么答不上来的问题,听了讲了一会儿干脆让我全权处理,自己去其它地方逛了。

老板很满意。自己也比较有成就感。

7:00结束时长出了一口气,反正这几天吃饭有人报销,就出去夜宵咯。


自己设计的海报,吸引了不少眼球。

Labels: ,

HPCA'08 & Excursion

HPCA, High Performance Computing Architecture 即高性能计算体系结构。

初来乍到,还没有paper发表,老板给的一次免费的参加会议的机会。听了很多报告,虽然能听懂的比较有限,不过收获还是很大的。特别是跟同一个领域的学者交流,得到了许许多多光靠在学校上课做研究所得不到的信息。

暑假打算去IBM Watson Research Center做实习。正好在会议期间遇到了Watson管理项目的头头级人物。在老板的引荐下,介绍了一下自己正在做的东西。对方也挺感兴趣。实习是否有戏,还得在等等看。

另一个感触是,领域的变化很快,所以要尽快把自己的东西总结出来予以发表,至少要抢在别人类似的想法出现之前。

再一个感触是,有idea很重要,把自己的idea推销给别人、说服别人更加重要。因为我们都生存在community中,再妙的思路没有同行的认可也不能产生影响。

Excursion: 会议组织的郊游活动。目的地是犹他州奥林匹克公园(Utah Olympic Park),其中有个特别的项目是“冰上雪橇速滑”(Bobsled)。这是屈指可数的对公众开放的奥运会使用的专业级赛道之一。最快时速为80mph,相当于130公里每小时。最大的加速度为5倍重力加速度,相当于5倍于自身重量的力量施加在身上。可以想象是非常的刺激了。这个不是免费的。100美元滑一次,大概53秒的样子(等价于一秒钟2美元)。不过我还是毫不犹豫的报名了。这种机会,年轻时候不玩,老了就没机会了。

开始前有工作人员进行详细的讲解。还有签一个类似于生死状的协议,表示他们对产生的伤害不负责…… 不过大家的热情还是不减。一个雪橇上有一名专业的驾驶员(他们称之为pilot, 飞行员的意思),后面坐三名乘客。越靠后,受的离心力越大。

尽管我挑的一个中间的位置,不过绝大的离心加速度还是把我牢牢地按在座位上动弹不得。赛道蜿蜒曲折。在急弯的时候,整个雪橇以90度翻转的姿态滑行,忽左忽右,现在明白他们为什么把驾驶员成为“飞行员”了。

50多秒并不长,不过从雪橇上走下来时竟然有点眩晕,脚下有飘飘然之感。回去之后老板问我脖子、背部受伤没有,我说没啥感觉,就是小腹感觉怪怪的。在场的人都大为惊奇。

小时候曾梦想过驾驶战斗机,现在发现飞行员比想像中辛苦很多。但从所受的加速度来看,战斗机最大能达到9倍重力;而今天的雪橇速滑才仅有5倍的加速度,持续时间不到40秒,就已经让人有些吃不消了,看来开飞机,尤其是战斗机,真不是常人能胜任的。

最后,附上照片:

房间内部


窗外,远处的山是在Minneapolis看不到的


赛道一角


全副武装,整装待发

Labels: , ,

Monday, February 11, 2008

It Is Your RESEARCH

电脑屏幕上持续着脚本语言的输出,“Processing benchmarks ...” 我的心情也紧张到了顶点……

时间回到一周前,由于对现阶段的实验结果非常不满意,决定再努力一下提高准确率。前几天老板说今年6月在北京确实会有一个关于Parallel Architecture的Workshop。做好研究,拿出像样的结果,就成了我能否免费回国的门票。

然而,面前的难题似乎不那么愿意停止他们的抵抗。绞尽脑汁地思考、测试、验证、分析、再思考的过程,在这一周简直是家常便饭。除夕的晚上,和同学在外面顺便吃了点东西,接着继续回办公室挑战难题。这个周末,除了去教会的Friendship dinner和Worship之外,就剩坐在键盘前了。

整个过程就像一个拉锯战。一开始有个想法,实现之、测试之,分析结果,似乎有点点改进,但远不理想,进一步深入单个的loop invocation,继续发现新的问题…… 有时候所谓的“发现的问题”并非真正的问题,只是一时思考的疏忽,然后把代码改回去推到重来;有时候觉得某个实验现象匪夷所思,耐着性子看前人写的infrastructure的代码,原来其中有个错误误导了实验结果;有时候看到本以为会很成功的改进思路对准确率只有微小的提升甚至降低时,尽管感到如天塌下来般的绝望,却只能定定神,休息片刻再战;有时候思路用尽绝望得无以复加的时候,突然想到了Christianity,will the almighty God guide me through this? ……

我觉得我是认定了一件事就一定要把它做好的人,这个project一定要给PhD生涯开个好头!在刚过去的24小时中,昨晚在电脑前苦战了一宿,早上给老板发了一封信,paper reading不能去了。睡到中午,起来弄了点东西吃罢,地点换到办公室异地在战。下午突然有较大的进展,继昨晚解决了一个历史遗留的程序错误和3个子问题之后,又准确定位到了最后一个问题的原因(但愿是最后一个吧)。不过一时却想不出来如何解决。课后和老板讨论,她也一时半会儿不能给出答案。晚上在办公室吃了半个subway的卷饼,还是不甘心,继续思考……

思考…
思考……
脑细胞在抗议……
继续思考……………………

在浏览前人代码时,突然灵光一闪,莫非…… 赶紧在样本数据上测试,貌似有谱。开始大规模测试。

当颤抖的手按下enter时,看着屏幕上一排排"processing"的字样跳过,心里默念着,"Dear God, please guide me through this." (虽然还不是Christian, 不过在这种崩溃的临界点,是希望有一个神可以托付愿望的)

时间回到半小时前,数据处理终于结束了。控制着更加颤抖的手开始往excel里面复制数据分析结果。我想,如果这是在电影中的话,一定会有激进的背景音乐戛然而止,镜头切换到闪烁的屏幕上(抱歉,现在是液晶,不再闪了,那就切换到“闪烁”的光标上吧),一个特写,唰,成功了!!(当时第一个想法是想抱着屏幕亲一口 -.-b)

半个小时后的现在,本人坐在同一台电脑前,在循环播放的Canon in D major中,怀着混合着各种情绪的心情,敲完了本篇blog。如果还是在电影中,而且还是一部正剧中的话,场景应该在老板下午说的一句话中淡出:当我当年意识到我的导师也不能给我一个确切的答案时,我反倒很高兴,因为我可以做我自己想的,这成了我自己的研究了。(When I realized that even my adviser couldn't give me an exact answer, I felt happy. Because I can do what I want. It really becomes my RESEARCH.) 不错,这-是-我-自-己-的-研-究

THE END

(请自行配上Cannon in D major的钢琴版,自行滚动屏幕模拟带Staff的Ending)

Labels: , ,

Monday, January 21, 2008

There is no easy way out

开学前夕,一直按部就班的Research一时间陷入了泥潭。由于底层的simulator被发现了一个bug,导致我所有的数据统计工作都要重新进行。错误虽然小,不过足以改变所有的结论。之前还“凑合”的实验结果在更正错误之后准确率下降了10个百分点,变得有些不堪入目了。有些郁闷……

令我还有些担心的是,我所有的工作都是建立在组里面另一个学长的程序之上的,一旦他的程序发现了什么错误(比如上面那个),就可能导致我原本还不错的结果发生较大的逆转。想到未来还有可能出现上面类似的不行,不免有些沮丧……

和老板谈到这个问题,她说完全理解我现在的沮丧,但这就是research,错误总是难免的,不管是你自己的,还是别人的。

更正错误之后,为了进一步提高准确率,看来唯一的办法就是深入汇编代码去了解问题的根源了。这件工作将会涉及大量的时间和精力,也是我一直以来企图避免的。看来,要搞点有意思的结果出来,不亲自和汇编代码打交道是不行了。老板说,如果所有的方法都是通过直觉就能想到的,那别人也能很容易想到,写出来的paper也就不那么激动人心了。

想想也是啊,一分付出,一分收获嘛~
Maybe, There is no easy way out at the first place.

Labels:

Tuesday, January 08, 2008

Back to Work

After the 5-day trip to Los Angeles and the snow skiing and the nice party in Johnben's house, it is finally time to resume my research.

In February, I will go to Salt Lake City, Utah for two co-located international conferences. Their names are HPCA'08 - The 14th International Symposium on High-Performance Computer Architecture, and PPoPP'08 - 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. During the later one, I will also do a presentation for a poster that is accepted from my research group. I am so excited about that! It is my first time to attend flagship academic conferences in my area, not to mention doing a presentation on one of them. Thanks for my adviser.

I will continue to carry on my current research. If things are going well and there is indeed a workshop for TLS in ISCA'08 and my paper is accepted there, I will go back to China with FREE flight ticket! I guess this ambition gives me enough incentives to work, even during the winter break!

Labels: , ,

Wednesday, November 28, 2007

战斗,才刚刚开始

CSCI4011 Formal Language and Automaton Theory是一门极端严肃,极端讲求逻辑推理证明的课。课本的名字叫Introduction to Computation Theory,可以说,涵盖的内容是当今计算机科技中最最最基础的定理和概念。这些概念和定理奠定了计算机科学的基石。正因为如此,尽管4011被喻为本科生课程中难度最大的课,但它仍然被列在必修的列表中。

也许正印了“天将降大任”那句古训,本人首次TA就被“不幸”安排到这门课上。还好本科时上过这门课,有一定的理论基础。但是刚开始那段时间,面对完全陌生的课本,陌生的美国授课流程,陌生的学生的面孔,就像一下子被丢进了大海中,挣扎在漂浮与溺水之间。“天将降大任于世人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行胡乱其所为,然后动心忍性,增益其所不能”。近一个学期的磨砺,逐步掌握了课程内容,语言能力大大提高,和学生之间也熟悉起来,上课的时候不但能充分讲解概念和习题,还能游刃有余地施展各种授课技巧,必要的时候引用现实生活中的例子予以阐述,大量的和学生互动,再不然说点笑话活跃气氛…… 短短的一个学期,对自己的进展,连我自己都感到难以置信!这就是所谓的“增益其所不能”吧。

今天是本学期倒数第三次习题课,压着还略有咳嗽的嗓子,在讲台上如行云流水般进行了50分钟的逻辑推理后,竟然有种意犹未尽的感觉。I feel, I am enjoying teaching! (我想,我是在享受授课的过程吧。)

CSCI5103 Operating System 第二次期中考试揭晓,又拿到一个最高分。今天碰见教课的教授,他拍着我的肩膀说: "Good for you. You deserve it!" (“这是你应得的”)

关于Research,参与的一个项目的论文已经正式提交到本领域最有声望的会议上,等待明年一月的评审结果。如果有幸被接受,那么,2008的夏天,北京见!

生活充满了未知,充满了无限的可能,充满了等待发掘的精彩…… 真正的勇士,时刻整装待发,因为,战斗,才刚刚开始!

Labels: , , , ,

Saturday, November 10, 2007

Magnificence

今天开始在group的machine上跑simulation。下图是这台8个处理器的Intel Itanium 2的运行状态,8个处理器都被我的脚本占得满满的,哈哈,真是壮丽,特此截图留作纪念。

Labels: , ,

Saturday, October 20, 2007

完全用Linux工作【Sonic版】

出来之后才感受到Linux的强大。系里面的网络都是基于Linux系统的,采用网络认证。一个有效的帐户,可以登录网络中的任何一台机器,从世界上任何一个地方。美国的IP资源就是丰富,没有内网外网这一说,也没有什么NAT。每台机器都有顶级域名、全球唯一的IP。

办公室的电脑都是Ubuntu的,由于采用网络认证,整个网络只有唯一一个root用户。尽管权限受到了限制,但是,电脑系统不就是用来使用的吗,要那么高的权限干嘛??Ubuntu上基本囊括了所有必须的软件,以至于我离开Windows工作两个月了还没有感到有什么事情没法实现的(娱乐除外)。整个网络就是一个巨大的NFS系统,每个用户的home directory都是放在服务器上,所以到任何一台机器上都有自己完整的工作目录、软件配置信息。单独的PC就像一个网络终端,唯一的区别是它提供额外的计算能力。

Research中涉及到大量的benchmark simulation,通常来说一个benchmark simulation跑下来就是30多小时,还是在Intel的Itanium上。所以需要大量的脚本支持。shell脚本太简陋,还好有Perl简单易学。有点Programming的基础,写Perl简直不用学,遇到问题上Internet随便就是一大堆tutorial,外加范例。现在已经是离开Perl就没办法活的状态了。

人要休息,机器不用。工作结束之前,写好Perl脚本,交给server慢慢跑一个晚上吧......

曾经我以为离开Visual Studio就没法写代码,现在用着gvim+makefile也挺得心应手,尽管偶尔还会抱怨一下没那么方便的debug环境;曾经我以为离开MS Office就没法写文档了,现在OpenOffice几乎提供了完全对等的功能;曾经我以为鼠标点击菜单比命令行更有优势,现在真正体会到脚本工具的无与伦比 ……

这就是Sonic版的 “完全用Linux工作”。

Labels: , , ,

Saturday, October 13, 2007

Reading Summary: Simultaneous Multithreading (SMT)

How to build faster microprocessor is always a hot research spot. The era of achieving speedup by simply increasing clock frequency has long been over, in the recent decades people placed more and more focus on achieving parallelism, both instruction-level and thread-level, to get more speedup.

As the number of transistor that can be placed on a single chip increases to one billion, researchers argue about several ways to build faster microprocessor. In this paper, it introduces an evolutionary architecture design to achieve both instruction-level and thread-level parallelism. ...

Instruction fetch unit has different effects on the performance. ...

Context switch is an important factor to consider. Since instructions from different threads are executing simultaneously in the pipeline, we need to evaluate the cost of context switch. ....

SMT needs support from operating system. ...

SMT introduces a good model to exploit both instruction-level and thread-level parallelism. Multiprogramming and parallel application will benefit a lot from SMT, as the simulation result in this paper shows. However, SMT still doesn't solve the problem of how to speedup a conventional, single-threaded program. ...

SMT and CMP are not always irrelevant. SMT can be a building block for CMP, as Sun Niagara does, who has 8 cores and each core is a 4-thread SMT processor. ...

Labels: , ,

Thursday, October 04, 2007

Lockdown

历史总是在适当的时候重复自己。一个轮回之后,感觉自己再次陷入了循环的起点——黑暗时代again。 每天都感到时间是多么的不够用,好不容易忙完了上周的作业、TA的工作,紧接着新的一轮的任务接踵而至。

尽管我已不是四年前啥都不懂的小孩子,尽管现在的研究领域是我很感兴趣的,但是现在给我最大压力的,不是后脚尖接前脚跟的课程作业,也不是似乎停不下来的批改作业,恰恰正好是 Research。也许我太想尽早进入真正的研究阶段,也许我忘了自己现在还是TA不是RA,但是面对前方大量的学习屏障,我似乎没有太多松懈的理由。对于研究,现在充其量算是知道个大概的轮廓吧,好多东西都是朦朦胧胧的,知其然不知其所以然。时间,似乎又回到了四年前的状态。

黑暗时代->石器时代->封建时代->帝国时代->???

如果上帝把四个阶段统统应用到每个人的成长道路上的话,我想,我现在能做的就是,尽快地收集资源、突破知识屏障,早日升级!

嗯,目标——帝国时代,就这么定了。

Labels: , ,

Monday, August 06, 2007

Sponsored by IBM

今天跟老板聊天之后才知道,原来我RA的经费都是来自IBM赞助的。IBM对我们正在进行的研究比较感兴趣,用老板的话说是——the next generation processor。然后老板问我这样说之后会不会比较有趣呢,我想岂止是有趣,简直是太激动了!这就抓紧看paper去!

Labels: , ,

Friday, May 25, 2007

My future research

As a supporting material, Antonia wrote the study plan for me, from which, although not very formal, I can see which area I will work in for the following 5-6 years.

"Moore's law has contributed to the ability to integrate exponentially more functionality on a chip with higher performance, and was counted upon as a self-fulfilling prophecy that the semiconductor industry would implement. More recently, such advances in the semiconductor technology have enabled the integration of many cores onto a single die, and thus placed a new challenge in front of all computer system designers. Namely, how can we make efficient use of such abundant resources; and how can we fully utilize many-core processors? While both the hardware and software designers hesitate to take full responsibility of these tasks, one promising solution emerges---building a virtualization layer that operates below the operating system level to automatically manage on-chip resources at runtime. Virtualization layer that operates at this level is commonly referred to as the Virtual Machine Monitor (VMM). My group will investigate issues related to such VMMs from both the hardware and the software perspective.

At the maturity of this project, my team will provide a paradigm for designing a new generation of many-core processors that is capable of hiding the hardware complexity behind the VMM layer and present the software designers with a simple and reliable interface."

What an ambitious proposal! I am so interested and excited to take part of it.

Labels: