造一台光子计算机应该注意什么——关于计算的那些事
小编近日事务繁忙,心情也颇不宁静,又适逢夏日降临,于是便想起了朱自清的那篇《荷塘月色》。虽然朱自清因惯用叠词和儿化语而一向被少年时代的小编视为“儿童文学家”,但若自身真的忙起来,最先浮现在脑海里的并非是上下五千年的哪一曲诗词歌赋,反倒是朱先生的儿童文学。
然而话说回来,小编常在异国他乡,月色虽不算稀奇,荷塘却实不多见,最多只能举头望明月或举杯邀明月,要想学习朱自清先生睹物解烦,物质基础就有些跟不上思想高度了。好在科技的发展使得解烦解暑的方式越来越多元化,见不到荷塘也算不得遗憾。一种新的方式解烦解暑就是电子游戏。
从小霸王上的《魂斗罗》、电子游戏厅里的《拳皇》系列和DOS系统的《金庸群侠传》(当时还在使用3.5英寸软盘)到《星际争霸》、《极品飞车》、《模拟人生》再到如今各种炫酷的大型游戏,例如《巫师III》和《GTA V》,电子游戏的制作水平越来越高,玩家对电子游戏的品味也越来越好。
所谓“美人只配王者拥有”,这些高质量的电子游戏必须配以高技术水平的硬件。不过就算如此,能耗和散热的问题始终是一个难题——例如小编使用两年前购买的笔记本电脑(显卡GTX 960,CPU: Intel Core i7-6700HQ )试玩了一下巫师III,不出十分钟 CPU (中央处理器) 就开始发烫。这样一来不仅无以解烦,还使本就酷热的夏日更变本加厉了。
当家里停气时,可以玩玩游戏,玩饿了还能顺手做个煎蛋
看过小编《让GPU参加到计算中来》一文的读者可能对 GPU (图像处理器)产生了深刻的印象。既然 CPU 容易发烫,而 GPU 的并行计算能力很强,那么能不能让 GPU 来代替 CPU 处理更多任务以减少散热问题呢?
尽管确实有不少公司在从事这一方面的工作(这样的 GPU 称为 GPGPU),例如英伟达的 CUDA 平台,但是一方面说来,这些平台的普及率还颇为有限,全球多数超级计算中心依然是基于 CPU 计算(小编所在地的超算中心去年才开始支持 GPU 计算)。
在同样高的计算效率下,GPU计算集群的大小、耗电量和价格都远低于CPU计算集群
另一方面也是最主要的,目前几乎所有 CPU 和 GPU 都是电子元件,欧姆定律告诉我们,有电阻的地方就会产生散热,这是所有电子元件都没法绕过的坎。尽管从效率上来看, GPU 散热已经比 CPU 好很多了,但它的表现终究还是会被欧姆定律所左右。
那么有没有办法摆脱欧姆定律,从而制作出几乎没有能量损失的计算机呢?我们可以考虑用光子取代电子,因为光子又快又专一,作为信息传播媒介实在再适合不过了——这便是光子计算机(Photonic computer)的设计初衷。
一、触发器——电子计算机的基本单位
自1946年被发明开始,计算机从来都是电子元件为根基,若要一下就改成光子计算机谈何容易。因此在制作光子计算机之前,我们必须先弄清楚电子计算机的基本构成。
我们知道从理论上来说,计算机的所有运算和指令都是基于二进制数,也就是 0 和 1 。为了方便处理二进制数,人们用触发器(Flip-Flop)来储存并处理 0 和 1 这两个不同信号。下面的动图表明了触发器的大致工作原理:
设定-重写触发器(SR flip-flop)的工作原理
这动图是什么意思呢?图中的 Q 表示要储存的信息(0 或 1), S 代表设定,R 表示重新设定。 表示抑或门(NOR gate,这是个二极管,所以只允许电流单方向通过),当两个输入值同时为 0 或同时为 1 时,其输出为 0,否则输出为 1。
读者们可以自行验证,当 输入(R, S) = (0, 1) 时,输出(Q, Q拔) = (1, 0) ,此状态称为设定;当 (R, S) = (1, 0) 时,(Q, Q拔) = (0, 1) ,此状态称为重设; (R, S) = (0, 0) 时,系统不发生变化。
不过上面的 SR 触发器有明显的不足之处,那就是当 (R, S) = (1, 1) 时,(Q, Q拔) = (0, 0) ,但 Q拔 作为 Q 的死对头,它们是不能相等的,于是这就出现了一个矛盾!所以在 SR 触发器中,(R, S) = (1, 1) 又称为禁止状态,一旦出现可能整个电路就崩溃了。为了弥补这一不足,人们又设计出了 JK 触发器、D latch 之类的更高级的电路模块。不过归根结底,这些模块都是以 SR 触发器为基础的 [1]。
二、用光子构建触发器
在上一章中,读者们对触发器有了一个大概的了解,知道这个小玩意可以用来处理最简单的二进制运算。以电学为基础的触发器之所以能够成功运作,就是因为电路存在“开”和“关”两种状态,正好对应了 0 和 1 两个数值。
如果要用光子计算机代替电子计算机,那就需要设计出对应的“光路”以实现“开”和“关”(或者两种稳定态)。但问题是光属于电磁波,来无影去无踪,不像电子那样乐于禁锢在原子核附近,怎样才能让光子形成稳定的两种状态呢?
俗话说“江山代有才人出,各领风骚数百年”。和电子相比,光的风骚之处地就在于它是电磁波家族的一员,拥有发生反射(reflextion)、衍射(diffraction)和折射(refraction)的能力。要想通过光产生两种不同的稳定状态,就要依靠光的这几种性质。
下面的例子就是最早的双稳态光学元件(Bistable photonic device):
法布里-珀罗干涉仪通过利用多个不同透镜,使射出的光线拥有两种不同频率
其中法布里-珀罗干涉仪(Fabry-Perot resonator)长这样,其工作原理也不言而喻了:
法布里-珀罗干涉仪本质上就是利用两个精心设计的平行透镜,使折射光和反射光发生干涉
不过话说回来,上面的双稳态光学元件由多个不同部件构成,显得太过笨重。进入20世纪下半叶以后,光纤的快速普及使得光学和材料科学之间碰撞出了新的火花;此时又恰逢非线性光学和复杂性科学逐渐兴起,光学的发展正式进入一个新的纪元,这些也为双稳态光学元件提供了新的思路。
三、以光之道还施光身——非线性光学与混沌理论
光纤是允许光通过的细管状材料。我们知道,光总是沿直线传播的,但光纤可以通过反射来把光掰弯。如果把光纤掰成一个圈,那么光经过绕场一周后,不就能自己同自己干涉了吗!这就是所谓的单光纤环共振仪(SFR resonator):
由于光是电磁波,它满足著名的麦克斯韦方程组(读者可以跳过):
上面方程组本质上就是波动方程。数学定理告诉我们,满足方程的电场强度 E(t) 是时间 t 的函数,它的相位发生周期性变化 。如上图(单光纤环共振仪)所示,入射光 E_in 进入光纤环后,由于折射的作用
其中 κ 控制了入射光的分配比例,它由光纤的性质决定。
小编注释(可跳过):
接下来的关键就在于如何确定上面方程的解了,因为有四个未知变量,却只有两个方程——事实上有经验的读者会觉察到,“未知量过多方程过少”这种粥少僧多的情况在中学和本科低年级阶段的物理课中可谓是老生常谈,这时候就需要我们再从物理现象中挖掘出更多的方程。我们知道,这四个未知电场都产生于同一束入射光,它们之间只相差某个相位(也就是说频率和振幅相同)。具体说来:
,
其中 φ 就是相位差,φ_L 和 φ_NL 分别表示相位差的线性和非线性部分,此处是由于Kerr 效应产生的非线性,它和 入射光的振幅平方成正比。详细内容可参考 [2,3]。
为了让读者对非线性光学有一个大概的认识,我们先只考虑非线性相位差而忽略线性相位差的影响(下一节将加上线性相位差,作为反馈机制)。经过一系列化简(参考上面注释一)后,我们可以通过迭代方程:
其中 E_N 表示入射光通过光纤环 N 次以后对应的电场数值,注意这是一个复数
来研究 E_1 的表现。上面公式中 A 表示光波的振幅;B 就比较神通广大了,它整合了共振仪的很多性质,可谓一手遮天。因此,要想利用光子构造触发器,第一步就是需要选择出合适的参数 A 和 B ,使得单光圈共振仪成为双稳态光学元件(定义回顾上一节内容)。用数学的语言描述,也就是使得上面的迭代方程有且仅有两个稳定的迭代解(收敛态)。
那么如何控制这个方程的迭代解呢?我们先来看看在不同 A(光波振幅大小)的情况下,第 n 次通过光纤的光的电场分布:
其中 B=0.15,为固定值
可见随着入射光振幅增加,通过单光纤共振仪的输出光变得越发不可捉摸,例如在 A=9 时,入射光和输出光之间已经基本找不到太大关系。我们把这种不可捉摸的表现称之为混沌(Chaos)。
如果我们固定 A=5,让 B 发生变化又有什么新结果呢?我们来试试看:
输出光的表现更加复杂,到最后干脆直接排布出一个旋涡状星云以示抗议!因此,太大的 A 和 B 都不是我们想要的,因为此时输出光的表现就像中国股市一般神鬼莫测,。
四、实验效果 —— 控制论介入
读罢前面几节的介绍,一些读者可能还并不满足——目前为止,小编介绍的所有内容都还只是纸上谈兵,因为常数 A 和 B 通常是固定的,不受直接控制。那么到底如何才能有效控制单光纤共振仪的输出呢?下面我们来制作一个简单的模块,以模拟单光纤共振仪的表现:
模拟环境为 Simulink
在上一章的实验中我们得知,当 A=10,B=0.15时,出射光的分布出现混沌状态。在上面的模块中,我们看看“观察”子模块中得到的结果:
x轴为迭代次数,y轴为出射光振幅大小(强度)
确实一团糟。但如果我们在但光圈共振仪中加入一个线性的(注意,此前所有的分析都是纯粹的非线性光学)反馈控制的机制:
左上角为加入的反馈机制,用以实时缩小光的振幅
当控制比例为 0.55 时:
迭代次数超过 1200 后,输出光的振幅(强度)就稳定了下来
混沌看起来就没那么嚣张了!不过此时的输出光只有一个稳定状态,要知道想要造出光子计算机,需要两个稳定状态的输出光。
我们可以继续在反馈控制的比例系数上做文章。如果我们把控制比例增加到 0.85,我们就达到了我们想要的结果:
输出光在强度为 22 和 26 两处徘徊!
这不正好就有了两个不同的稳定态么?这样一来,我们就在理论上给出了用光子构建逻辑门的可能性!
也许还有读者意犹未尽——那么还有没有别的方法来控制出射光的表现呢?事实上,这就变成了一个纯粹的数学问题,相关的理论叫做混沌控制(Control of chaos)。限于篇幅,小编在此不做过多介绍,有兴趣的读者可以参考该领域的经典文章 [4]。
总结
正如小编开头所述,虽然电子芯片是如今的主流,但由于电子的物理特性,电子芯片会受到许多限制;另一方面,随着量子计算的日益深入,电子芯片也逐渐满足不了这一趋势了。作为基本粒子,光子在表现上与电子有诸多不同之处,因此可想而知,光子计算机和电子也存在本质上的区别。这便是这篇文章的出发点。
既然光子计算机比电子计算机有如此多的优势,并且理论上也能够得以实现,那为什么很难看到它的量化生产呢?其原因至少有两个,都在本文中有所涉及,我们再来回顾一下:
光子芯片很大程度上依赖于非线性光学的发展,但这个分支出现的时候,第一台电子计算机已经问世快三十年了,理论积淀和关注度都远及不上后者;
光学元件的设计比电学元件复杂很多。本文所例举的“单光纤共振仪”已经是最简单的光学元件;
(许多非线性光学的先驱后来都把主要精力集中在了复杂性科学上,最典型的例子就是哈肯和他的《协同论》。他的工作引起了许多理论数学和理论物理学家的关注,相对而言关注实际应用的人却并不多)
什么时候光子计算机才能够真正走进我们的生活呢?让我们拭目以待,毕竟从现在看来,里面还有大量振奋人心的问题值得深入研究!
非线性光学与分歧理论(Bifurcation Theory)
参考文献:
[1] David A. Patterson and John L. Hennessy, Computer Organization and Design, Morgan Kaufmann; 3rd edition (2005).[2] Stephen Lynch, Dynamical Systems with Applications Using MAPLE; Birkh?user Basel 2010.
[3] Y.H. Ja, Multiple bistability in an optical-fiber double-ring resonator utilizing the Kerr effect. IEEE J. Quantum Electron. 30(2), 329–333 (1994).
[4] Ott, E., Grebogi, C., and Yorke, J.A. (1990) Controlling Chaos, Phys. Rev. Lett. 64:1196.
[5] 《混沌理论到底是什么——从蝴蝶效应出发》
本文来源:科普最前线