英特尔超立方体,第1部分

尽管我是MathWorks的创始人之一,但我只在公司成立的头五年里担任顾问。在这段时间里,从1985年到1989年,我在硅谷的两家电脑初创公司碰运气。这两家公司作为企业都失败了,但这段经历教会了我很多关于计算机行业的知识,并影响了我对MATLAB最终发展的看法。这些初创公司中的第一家开发了英特尔的Hypercube。

内容

CALTECH COSMIC CUBE.

1981年,加州理工学院的Chuck Seitz教授和他的学生开发了世界上最早的并行计算机之一,他们称之为宇宙立方体。有64个节点。每个节点是一台基于Intel 8086 CPU和8087浮点协处理器的单板计算机。这些是当时IBM个人电脑中使用的芯片。宇宙方块的面板上只有128千字节的内存。

Seitz的小组设计了一个芯片,用于处理节点之间的通信。将节点直接连接到63个其他节点中的每一个是不可行的。这将需要64 ^ 2 = 4096 $ Connections。相反,每个节点仅连接到其他六个节点。只需要6次\ times 64 = 384 $连接。在二进制中表达每个节点的地址。由于有2 ^ 6 $节点,这需要六位。将节点连接到地址差异的节点。这对应于将节点视为六维立方体的顶点并沿着立方体的边缘进行连接。因此,这些机器称为“超机”。

图形显示了四维超立方体中的16个节点。每个节点都连接到其他节点。例如,使用二进制,节点0101连接到节点0100,0111,0001和1101。

CALTECH教授GEOFFREY FOX和他的学生开发了立方体的应用。首先是称为量子色动力学(QCD)的高能物理学分支的方案,并且在天体物理学中的工作建模星系的形成。他们还开发了一个强大的代码来播放国际象棋。

硅森林

我加入的第一个启动实际上并不是在硅谷,而是在俄勒冈州的后代,其助推器称为硅森林。到1984年,英特尔一直在加利福尼亚州以外的运营,并在俄勒冈州发展了大量的存在。戈登摩尔,英特尔的创始人之一,然后是其首席执行官,是一个Caltech Alum,并在其受托人委员会。他在董事会会议上看到了宇宙立方体的演示,并决定英特尔应该制定商业版本。

两组小组英特尔工程师已经离开了公司并在俄勒冈州形成了初创公司。其中一家公司的联合创始人之一是John Palmer,矿山前学生和IEEE 754浮点标的作者之一。Palmer的公司名为NCube,已经开发了商业超级机构。

希望劝阻更多的突破初创公司,英特尔在巴特兰州俄勒冈州比弗顿形成了两项“穿得普瑞利利”的作业。维基百科词典定义了颅内训练“表现得像像这样的行为企业家在一个大型组织内工作。“贾斯汀·克特纳被任命为将开发IPSC的英特尔科学电脑的新团体之一,即英特尔个人超级计算机。

加州大学伯克利分校的Velvel Kahan教授曾经是(现在仍然是)我的好朋友。他在浮点标准和8087浮点芯片的开发上与英特尔(和帕尔默)有着密切的关系。他建议英特尔招募我加入iPSC小组,他们也这么做了。

1984年,我曾担任新墨西哥大学计算机科学部门近五年的董事长。我在学术管理中没有看到我的未来。我们刚刚创立了Mathworks,但杰克很少能够自己处理。我兴奋的是涉及启动和学习更多关于并行计算的初探。所以我的妻子,年轻的女儿,我搬到了俄勒冈州。这涉及通过拉斯维加斯和我在我的故事中驾驶盆栽棕榈博客帖子。

分布式阵列

当我开车到俄勒冈州内华达州的北方时,我距离任何电脑,工作站或网络连接数千英里。我可以思考.我想我们应该如何在分布式存储并行计算机上做矩阵计算当我们让它们工作的时候。我知道加州理工学院的宇宙立方体的人把矩阵分解成子矩阵,就像他们偏微分方程中的细胞。但是LINPACK和EISPACK以及我们初出心外的MATLAB是按列存储矩阵的。如果我们保留这个列的组织,那么生成其中一些程序的并行版本就会容易得多。

所以,我决定通过处理它们的列来创建分布式数组,就像它们来自一副扑克牌。如果有P.处理器,然后列j阵列将存储在具有识别号码的处理器上(jP.).

例如,高斯消去法将按照以下方式进行。在K.淘汰的 - 保持的节点K.-th列会将其搜索为最大的元素。这是K.-th枢轴。在将列中的所有其他元素除以枢轴以产生乘法器之后,它将广播包含这些乘法器的消息到所有其他节点。然后,在需要大多数算术运算的步骤中,所有节点都会将乘数应用于它们的列。

这种面向面向的方法可用于在Linpack和Eispack中生成密钥矩阵算法的分布式存储器并行版本。

英特尔个人超级计算机

在1985年介绍,IPSC有三种型号,D5,D6和D7,5,6和7维超机。D5在这里有32个内阁中有32个节点。D6在这些机柜中的两个中有64个节点,D7在四个机柜中有128个节点。列表价格从17万美元到超过五百万。

每个节点有一个Intel 80286 CPU和一个80287浮点协处理器。这些芯片用于IBM PC/AT,即当时最快的“先进技术”个人电脑。有512kb,也就是半兆的内存。一个定制的芯片处理与其他节点的超立方体通信,通过机柜内的背板和机柜之间的以太网。

可以将一半的节点用填充用内存芯片填充的一半节点,每个板4兆字节,每节点提供4.5兆字节。这将使一个内阁变成D4,总共72兆字节的记忆。一年后,另一个变体被宣布有带有载体浮点处理器的板。

名为Cube Manager的前端计算机是英特尔内置的PC / Micro计算机,带有4 MB的RAM,140 MB,磁盘和VT100兼容的“玻璃电传”。管理器与所有节点具有直接以太网连接。我们通常通过我们办公桌的工作站远程登录来访问它。Manager Ran Xenix,UNIX System III的衍生品。有Fortran和C编纂者。我们将编译代码,构建可执行文件,并将其下载到多维数据集。

多维数据集上有一个最小的操作系统,用于处理节点之间的消息传递。在超立方体互连中没有直接连接的节点之间发送的消息必须通过中间节点。我们很快就有了库函数,其中包括全局广播和全局求和等操作。

灯光

如果您在图片中仔细观察,您可以在每个板上看到红色和绿色LED。这些灯被证明是非常有用的。当节点正在进行有用的计算时,绿灯亮起,当节点在等待某些东西时,红灯打开。你可以观看灯光,了解工作是如何做的,甚至有一些效率的想法。

有一天,我看着机器上的灯,我能说:“节点7出了问题。”它和其他的不同步。”我们移开了板子,果然,跳线的设置不正确,导致CPU的时钟以正常速度的2/3运行。

在我的建议下,稍后的模型有三分之一,黄色,当时使用数学协处理器时的光线。这样一个可以获得算术性能的想法。

第一个客户的船

在计算机制造业业务中,首先客户船舶或FCS的日期是一个很大的交易。这就像孩子的诞生。我们的第一届客户是耶鲁大学的计算机科学系,事实上,他们订购了D7,Big,128节点机。当预定的FCS日期临近时,机器没有准备好。所以我们有比尔Gropp,然后是耶鲁耶鲁和电脑实验室领先的研究员的毕业生,从康涅狄格州飞往俄勒冈州,在我们的计算机实验室中花了几天。所以这是FCS好的,但是客户,而不是设备。

星球大战

这是在此期间,罗纳德里根主席的政府主席拟议了战略辩护倡议,SDI。这个想法是使用基于地面和基于空间的导弹来保护美国免受导弹从其他地方的攻击。该提案已被其批评者作为“星球大战”系统所知。

在SDI上工作的国防承包商之一认为分散的平行计算是指挥和控制系统的关键。如果它分散,那么它不能用一口打击淘汰。他们听说过我们的新机器并要求演示。rattner,我,我们的营销部门前往五角大楼附近的办事处。我们迎来了一个会议室,其中有我见过的最大的会议桌。桌子周围有大约30人,其中一半是军装。由于PowerPoint正在发生PowerPoint,灯光黯淡。

我的演讲是关于如何在年轻空军官员中断时使用IPSC的一半。他说,“蜕变,蜕变,我记得你的名字从某个地方。”我开始回复,“好吧,我是Linpack的作者之一,......”他再次打断了“,”不,我知道......这是别的东西。“暂停。“哦,耶,十九个可疑的方式!”几年前,查理搬运贷款和我发表了“十九个可疑方式来计算矩阵的指数。”事实证明,这位官员有一个博士学位。在数学中,在俄亥俄州空军工业工业研究所的基础上教学理论和系统理论。所以在接下来的几分钟内,我们谈到了特征值和约旦规范形式,而房间里的每个人都翻过眼睛,看着天花板。

第2部分预览

在我的下一篇文章中,第2部分,我将描述这台机器,IPSC / 1,影响MATLAB和更广泛的技术计算界。

参考

CALTECH COSMIC CUBE.




发布与MATLAB®R2013B

|

注释

要发表评论,请点击在这里要登录您的MathWorks帐户或创建新的。