SD2.0
大会的一些随想
29
号一早就赶到了九华山庄,
CSDN
的潘微微很热情地帮我安排好了住宿,然后就是去主会场听演讲,我到会场的时候已经比较晚了,好像是
google
的演讲快要讲完了,接着就是陈榕的演讲,谈到了关于技术与需求方面的问题,很是有些感想。再后面听了一下
Andrei
和
Intel
的
James Reinder
的演讲,从课堂的互动可以看出,来听讲的人的素质都是非常高的(后来在我自己的课讲完后,就碰到
Yahoo
的技术经理唐庚先生邀我和他们公司的人一起合影,我才明白来参会的人很多都是各个知名公司的技术
Leader
)。
第二天下午的第一堂课就是我自己的课,由于我自己很多年没有讲过课,最近一两年都呆在家里写书。第一次到在这么重要的大会上来演讲,我当时是很担心自己能不能讲好的,一个人呆在家里,没有办法找人预先演讲一遍,幸好在演讲前两天找到网易的赖勇浩先生帮我先看了一下
ppt
文件,提出了很多有益的建议,在此表示感谢。由于课程时间安排在下午
1
:
00
钟开始,刚吃完午饭,正是人困马乏的时候;所以在演讲前就问了大家第一个问题,“中国在那个时期是远远领先于世界的”,想通过这类问题来提起大家的注意力,不过大家的回答出乎我的意料之外,第
1
个回答是唐朝还合乎情理,答汉朝也还说得过去,后面陆续答宋朝、明朝、清朝就让我不明白了,直到第
6
个人才回答出正确答案“春秋战国”。然后把这个问题和多核分布式计算结合起来,进入正式的演讲内容。
在演讲的过程中,许多人都提出了很多很好的问题,看来大家对多核计算都很关心,这让我感到很欣慰,通过大家的问题也让我学到不少东西。尤其是讲演完后,提问题的人让我应不暇接,由于时间关系,无法一一和大家一起交流所有的问题,最后还有几个人和我一起到教室外交流了几个问题。可能还有些人有问题没有提出来,欢迎把问题发到我的博客上大家一起交流。
自己的课讲完后,接着就去听其他讲师的演讲了,很遗憾的是我感兴趣的两个课被排在了同一时间,一个是
Andrei
的无锁编程,另一个是温昱的软件架构,最后只好选择去听目前自己关系最密切的无锁编程。
关于这次大会还有一点需要说明一下,今天我看见有人在
CSDN
的一篇报道文章里发评论说我不懂多核,还说我不懂装懂。
当然说我不懂多核我是认可的,由于多核发展的时间并不是很长,内容比较新,我确实对多核里有很多东西不懂。但是我没有明白为什么说我不懂装懂。
比如在讲课过程中,云风提的那些
Intel
的
fence
指令我就不懂,但我并没有说我懂啊,我记得我说了我对
Intel
的硬件没有研究。
说到云风提的这个问题,我不得不做出一些说明,当时由于站在讲台上,我当时没有看清楚提问的人是云风,所以云风第一句话说
Intel
有性能更好的方案时,我的第一反应是有人要给
Intel
做广告,所以我当时情绪可能有点激动,因为我是不希望有人在我的课上做广告的。直到最后问题与交流阶段,我走下去和大家一起交流问题时,当我问云风还有没有问题要问题时,这时才看清楚是云风,才明白自己误解了云风提问题的用意,不过由于当时问问题的人太多,没有时间做出解释,在这里对云风说声抱歉!
谈到
fence
指令的问题,有必要再做一些技术上的探讨,我当时问了一下云风是不是指
InterlockecIncrementAcquire( )
一类的操作,我的印象中云风说的是
ffence
和
lfence
操作,由于我对
Intel
硬件不了解,我当时是猜测
InterlockedIncrementAcquire()
和
InterlockedIncrementRelease()
可能是使用了云风说的
fence
指令来实现的。由于我自己的双核机器硬件不支持
InterlockedIncrementAcquire()
这类操作,对它的性能和具体实现并不了解,所以演讲胶片里使用了
InterlockedIncrement()
,没有使用更高效的
InterlockedIncrementAcquire()
。如果有谁了解这方面情况的,欢迎把这个问题做一下透彻的讲解,贴出来共享给大家。