专利名称:用于处理数据的服务器处理器混合系统及其方法
技术领域:
本发明一般地涉及数据处理。具体地,本发明涉及用于更高效的 数据处理的服务器处理器混合系统。
背景技术:
Webl.0在历史上被称为World Wide Web,其最初致力于连接计 算机并使计算机的技术更高效。Web2.0/3.0被视为包含社区和社会网 络,该网络构建上下文关系并且促进知识共享和虚拟网络服务。传统 网络服务可看作是很薄的客户端。即,浏览器显示由服务器中继的图 像,每个重要的用户动作被传递到前端服务器进行处理。Web2.0是由 客户端上的软件层构成的社会交互作用,因此用户得到快速系统反应。 数据的后端存储和检索在后台异步进行,因此用户不必等待网络。 Web3.0适合例如在虛拟世界中的3维视觉。利用3D共享,其能够开启 新的方式来连接和合作。按照如此方法,web3.0描述Web运用和交互 沿几条不同路线的发展。这些包括将Web变换为数据库,向使内容可
由多个非浏览器应用程序访问的进步。
遗憾的是,传统服务器不能有效地处理Web3,0的特征。没有现有 的方法解决该问题。鉴于以上所述,存在解决该缺点的方法的需要。
发明内容
本发明涉及服务器处理器混合系统,其包括(尤其是) 一组(一 个或多个)前端服务器(例如主机)和一组后端应用程序优化处理器。 而且,本发明的实施例提供了一种服务器和处理器混合系统和方法,
用于通过i/o连接的混合系统,在细密的等级分布和管理应用程序的执
行。该方法允许一个系统用于管理和控制系统功能,并且一个或多个其它系统当作协处理器或者加速器以用于服务器功能。
本发明允许重复使用前端服务器管理和控制系统組件,例如虛拟 网络或者游戏处理组件的应用程序用作加速器或协处理器。可利用不 同的操作系统运行该系统组件。该前端服务器担当基于正常事务的计 算资源,若非如此,这些事务会触发大计算强度的图形、渲染或其它 功能。该处理器位于后端来处理这些功能。除传统事务处理之外,该 前端服务器也将执行特殊处理器选择功能,以及单元协处理器的建立、 控制和管理功能。
本发明的第一方面提供了用于处理数据的服务器处理器混合系
统,包括 一组用于从外部源接收数据的前端服务器; 一组用于从该 组前端服务器接收数据、用于处理该数据、以及用于向该组前端服务 器返回经处理的数据的后端应用程序优化处理器;以及在该组前端服 务器的至少一个内具有一组网络互联的接口 ,该接口连接该组前端服 务器和该组后端应用程序优化处理器。
本发明的第二方面提供了用于处理数据的方法,包括在前端服 务器上从外部源接收数据;将该数据从前端服务器经由具有一组网络 互联的接口向后端应用程序优化处理器发送,所述接口包括在服务器 中;在后端应用程序优化处理器上处理数据以产生经处理的数据;以 及在前端服务器上从后端应用程序优化处理器接收该经处理的数据。
本发明的第三方面提供了用于部署用于处理数据的服务器处理 器混合系统的方法,包括提供计算机基础设施,可操作以在前端 服务器上从外部源接收数据;从前端服务器经由具有一组网络互联的 接口向后端应用程序优化处理器发送数据,所述接口包括在前端服务 器中;在后端应用程序优化处理器上处理数据以产生经处理的数据; 以及在前端服务器上从后端应用程序优化处理器接收该经处理的数 据。
从结合附图的本发明的各种方面的详细描述中,将更容易地明白本发明的这些和其它特征,其中
图l表示描述根据本发明的服务器处理器混合系统的组件的框图。
图2A表示根据本发明的图l的系统更详细的图。 图2B表示根据本发明的混合系统的后端应用程序优化处理器更 具体的图。
图3表示在根据本发明的服务器处理器混合系统内的通信流。 图4A-4D表示根据本发明的方法流程图。
这些图不必按比例绘制。这些图仅仅是示意性表示,不意在描述 本发明的具体参数。这些图仅意在描述本发明的典型实施例,并因此 不应该作为本发明范围的限制。附图中,相似的附图标记代表相似的 元件。
具体实施例方式
如上面指出的,本发明涉及一种服务器处理器混合系统,其包括 (尤其是) 一组(一个或多个)前端服务器(例如主机)和一组后端 应用程序优化处理器。而且,本发明的实施例提供了一种服务器和处
理器混合系统和方法,用于通过i/o连接的混合系统,在细密的等级分
布和管理应用程序执行。该方法允许一个系统用于管理和控制系统功 能,并且一个或多个其它系统用作协处理器或者加速器。
本发明允许重复使用前端服务器管理和控制系统組件,以及例如 虛拟网络或者游戏处理组件的应用程序用作加速器或者协处理器。可 利用不同的操作系统运行该系统组件。该前端服务器担当基于正常事 务的计算资源,若非如此,这些事务会触发大计算强度的图形、渲染、 数值密集计算或其它功能。该处理器位于后端来处理这些功能。除传 统事务处理之外,前端服务器也将执行特殊处理器选择功能,以及协 处理器的建立、控制和管理功能。应注意,在此使用的术语"数据"可 表示任何类型的数据,比如多模态数据(视频/数据)流、预定义的块 长度、文本、图形、图像格式、xml、 html等。在混合系统的前端具有服务器(尤其)擅于高事务吞吐量、单元处理器负载管理、单元处理 器资源管理。
现在参考图l,其示出了根据本发明的逻辑框图。大体上,本发 明提供了一种服务器处理器混合系统ll,其包括一组(一个或多个)
前端服务器12,和一组后端应用程序优化处理器(以下简称为处理器) 20。如图所示,每个服务器12典型地包括基础设施14 (例如电子邮件、 垃圾邮件、防火墙、安全性等)、网络内容服务器16以及入口/前端18 (例如,如下面将进一步描述的接口 )。应用程序19和数据库18也宿 寄(host)在这些服务器上。按照如此方法,服务器12典型地是System z服务器,其由纽约Armonk的IBM公司商业应用(System z和相关术 语是美国和/或其它国家IBM公司的商标)。每个处理器20典型地包括 一个或多个应用程序功能加速器22,以及一个或多个数据库功能加速 器24。按照如此方法,处理器20典型是单元刀片(cell blade),其由 IBM公司商业应用(单元、单元刀片和相关术语是美国和/或其它国家 IBM公司的商标)。此外,处理器20根据正在运行的应用程序19进行 了优化,使得性能是最佳的和高效的。如图所示,服务器12通过典型 的通信方法(例如LAN, WLAN等)从外部源10接收数据。这些数椐 经由服务器12的接口传送到处理器20以进行处理。然后经处理的数据 可被存储和/或返回到服务器12以及外部源10上。如所述,服务器12代 表混合系统ll的前端,而处理器20代表后端。
该系统进一步表示在图2A-B中。图2A表示外部源IO与服务器12 通信,该服务器12通过接口23与处理器20通信。典型地,接口23是实 施/包含在每个服务器12内的输入/输出(I/O)笼(cage)。接口23也 包括一组网络互联,例如快速外围组件互联(express PCI) 25。接口 23也可以包括在上述包括在此的专利申请中指示的其它组件。
在任何情况下,数据将从处理器20上的外部源10被接收,并经由 接口23传送到服务器。 一旦接收,处理器20将处理该数据,向服务器 12返回经处理的数据,服务器12能够向外部源10返回该经处理的数据。 处理器20也能够控制(leverage )分级(staging )存储和经处理的数据的存储设备,以存储原始数据和/或经处理的数据。如图2B中所示,每 个处理器20典型地包括电源处理元件(PPE) 30、耦合到PPE的元件 互联总线(EIB) 32、以及一组(例如一个或者多个)但是典型地多 个专用引擎(SPE) 34。这些SPE共享用于处理数据的装入程序。
简要地参考图3,示出了表示混合系统ll内组件布置的更具体的 框图。如图所示,服务器12从外部源A和B接收/发送数据,并将该数 据传递到处理器20用于处理。在这些处理之后,经处理的数据返回到 服务器12,以及外部源A和B。同时呈现在混合系统ll内的是分级存储 设备36和经处理的数据的存储设备38。分级存储设备36可用于在处理 数据之前、期间和/或之后存储数据,而经处理的数据的存储设备可用 于存储经处理的数据。
现在参考图4A-4D,将描述根据本发明的说明性过程的流程图。 为了 (使本发明详述的剩余部分)简洁的目的,将服务器12表示为"S", 而将处理器20表示为"C"。在步骤S1,外部源(A)做出连接请求。在 步骤S2,连接请求在由服务器S检验后传递到C。在步骤S3, C接受连 接,S通知A连接建立完成。在步骤S4,流P从A到达服务器S。 S执行 P,-T(P),其中T是关于流P的转换函数。在步骤S5, S能够在存储器中 存储数据和/或将该数据传递到其它设备。在步骤S6,输出字节连续地 传递到C上。在步骤S7, C执行P"-U(P,),其中U是由C执行的转换函 数。在步骤S8, P,,传递回S。在步骤S9, S执行P^V(P"),其中V是由 服务器S执行的转换函数。在步骤SIO, pS连续地传递到B或者A。另夕卜, 在步骤SIO, A发出连接结束包(E)。在步骤Sll, S接收E并且在S12 S检查E。在步骤S13,确定E是连接结束包。在步骤S14,输入取样和 计算停止。在步骤S15, S通知C流完成。在步骤S16, C停止计算。在 步骤S17, C通知S计算结束。在步骤S18, S通知B连接结束。在步骤S19, S告知A计算完成。
尽管没有在框图中分别地示出,下面是在本发明下可能做出的另 一个控制流的例子。该控制流在请求由S直接向C做出而没有数据从A 发出或者重定向到B的方案下是有用的。I. S做出连接请求
2. 连接请求有效?(由C执行)
3. 如果是,由C接受
4. 流P从S到达处理器C (P也可以只是具有预定长度的"阻塞,,输 入)
5. C执行T(P),其中T是关于流P的转换函数
6. T(P)输出字节被连续地传递回S
7.S遇到结束文件(End-of-File )或者流的末尾(End of Stream) 8.S发出连接结束包(E)
9. C检查E
10. E是连接结束包?
II. 如果是,停止取样输入,停止C的计算 12.C通知S计算结束
在本发明下,可使用推模型和拉模型。控制消息可通过单独的控 制路径发送,而数据消息在常规数据路径上发送。在此需要两个单独 的连接ID。控制消息也可随数据消息一起通过相同路径发送。在这种 情况下,仅仅需要一个连接ID。对于单独或者统一的数据路径和控制 路径来说推模型和拉模型都能够实现。该推模型对短数据有用,在此 关心等待时间。控制消息通常具有数据传输的等待时间界限。这需要 数据源计算机处理器的参与,直到所有数据被推出。该拉模型通常对 批量数据有用,在此目的地计算机能够从源存储器直接读取数据而不 涉及源的处理器。在此,将数据的位置和大小从源通知给目的地的等 待时间能够容易地分摊到整个数据传输上。在本发明优选实施例中, 依赖要被交换的数据长度,可有选择地调用推和拉模型。
下列步骤表示推、拉模型是怎样工作的
动态模型选择
(1) S和C想要通信。发送器(S或C)做出以下决定-步骤1-数据是否是预定长度的,并且小于推阈值(PT) 步骤2-如果是,则使用"推,,步骤3-如果否,则数据是流性质的而没有任何已知的大小。发送 器不将数据的位置地址"肩式分接"到接收器。
推阈值(PT)是对给定应用程序或者数据类型(固定长度或流) 由系统的设计者选择的参数。
推类型
S将数据块大小(如果已知)肩式分接到C。 S查找应用通信速率要求(R)。 S在"链路集成池,,内查找链路的号码弁(N)。 通过扩展或者收缩N, S匹配R和N (动态分配)。 S和C对数据传输所需的链路号码取得一致意见。 S向C推数据。
S能够以以下方式关闭连接-当所有的数据被发送(已知大小)和 当工作完成时。
S关闭通过肩式分接到达S的连接。 拉模式
S将数据块大小(如果已知)肩式分接到C并寻址第一字节的位置。 S查阅应用程序通信率要求(R)。 S查阅"链路集成池"内的链路号码幷(N)。 通过扩展或者收缩N, S匹配R和N (动态分配)。 S和C对数据传输所需的链路号码取得一致意见。 C从S的存储器拉数据。
s能够以以下方式关闭连接-当所有的数据被发送(已知大小)和 当工作完成时。
S关闭通过肩式分接到C的连接。
在图3中,服务器12 ("S")和处理器20 ("C,,)共享对分级存储 设备36的访问。如果S需要将数据组D传送到C,则必需采取下列步骤 -(i) S必须读取D以及(ii)通过链路L向C传送D。相反,S可通知C 该数据组的名字,并且C可从36直接读取该数据组。由于S和C共享分 级设备36,所以这是可能的。列出对此所需的步骤如下(为了简洁,使用"S"和"C"以分别指代服务器12和处理器20 ) -
步骤1-S沿到达C的控制路径提供数据组名字&位置(数据组描述 符)。这起"肩式分接"的作用。C通过对从S"推"的数据进行轮询接收 该信息。
步骤2 一 C使用数据组描述符从D读取数据。 步骤l -推或拉执行是可能的。 步骤2 -拉或推执行是可能的。 步骤l (推)-"控制路径"
S将数据组名称&位置(如果已知)肩式分接(写入)到C。 步骤l (拉)-"控制路径"
S将数据块大小(如果已知)肩式分接到C。
C从S的存储器拉数据。
步骤2 (拉形式)-"数据路径"
分级存储设备36存储具有数据組名称和数据组块位置的表。
C使用数据组名称D向分级存储设备36做出读取请求。
分级存储设备36提供块的列表。
C从分级存储设备36读取块。
C遇到数据组的末端。
C关闭连接。
步骤2 (推形式)-"数据路径"
分级存储设备36存储具有数据组名称和数据組块位置的表。 C使用数据组名称D向分级存储设备36做出读取请求。 分级存储设备36的存储控制器将D的磁盘块直接推进C的存储器。 D关闭连接。
为了说明和描述的目的,已经呈现了本发明各种方面的上述说明。 不意在穷举或者限制本发明到所公开的精确形式,明显地,很多修改 和变形是可能的。这些对本领域技术人员显而易见的修改和变形意在 包含在由伴随的权利要求限定的本发明的范围中。
权利要求
1. 一种用于处理数据的服务器处理器混合系统,包括一组用于从外部源接收数据的前端服务器;一组后端应用程序优化处理器,用于从该组前端服务器接收数据、用于处理该数据、以及用于向该组前端服务器返回经处理的数据;以及在该组前端服务器的至少一个内具有一组网络互联的接口,该接口连接该组前端服务器和该组后端应用程序优化处理器。
2. 如权利要求l的前端服务器处理器混合系统,该接口是输入/ 输出(I/O)笼。
3. 如权利要求l的前端服务器处理器混合系统,该接口包括在该 组前端服务器中的每个中。
4. 如权利要求l的前端服务器处理器混合系统,该組后端应用程 序优化处理器的每一个包括电源处理元件(PPE); 耦合到PPE的元件互联总线(EIB);以及 耦合到EIB的一组专用引擎(SPE)。
5. 如权利要求4的前端服务器处理器混合系统,该组SPE被配置 成处理所迷数据。
6. 如权利要求l的前端服务器处理器混合系统,进一步包括网络 内容服务器、入口、应用程序、应用程序加速器和数据库加速器。
7. 如权利要求l的前端服务器处理器混合系统,进一步包括 分级存储设备;以及经处理的数据的存储设备。
8. —种处理数据的方法,包括 在前端服务上从外部源接收数据;将该数据从前端服务器经由具有一組网络互联的接口向后端应 用程序优化处理器发送,该接口包括在所述前端服务器中;在后端应用程序优化处理器上处理数据以产生经处理的数据;以及在前端服务器上从后端应用程序优化处理器接收该经处理的数据。
9. 如权利要求8的方法,该接口是输入输出(I/O)笼。
10. 如权利要求8的方法,该后端应用程序优化处理器包括 电源处理元件(PPE); 耦合到PPE的元件互联总线(EIB);以及 耦合到EIB的一组专用引擎(SPE)。
11. 如权利要求8的方法,该组SPE被配置成处理所述数据。
12. 如权利要求8的方法,进一步包括网络内容服务器、入口、 应用程序、应用程序加速器和数据库加速器。
13. —种用于部署用于处理数据的服务器处理器混合系统的方 法,包括提供计算机基础设施,可操作以 在前端服务器上从外部源接收数据;从前端服务器经由具有一组网络互联的接口向后端应用程序优 化处理器发送数据,该接口包括在服务器中;在后端应用程序优化处理器上处理数据以产生经处理的数据;以及在前端服务器上从后端应用程序优化处理器接收该经处理的数据。
14. 如权利要求13的方法,该接口是输入/输出(1/0)笼。
15. 如权利要求13的方法,该接口包括在该组前端服务器的至少 一个中。
16. 如权利要求13的方法,该后端应用程序优化处理器包括 电源处理元件(PPE); 耦合到PPE的元件互联总线(EIB);以及 耦合到EIB的一组专用引擎(SPE )。
17. 如权利要求14的方法,该组SPE被配置成处理所述数据。
18. 如权利要求13的方法,进一步包括 分级存储设备;以及 经处理的数据的存储设备。
19. 如权利要求13的方法,进一步包括网络内容服务器、入口、 应用程序、应用程序加速器和数据库加速器。
全文摘要
本申请涉及服务器处理器混合系统,其(尤其是)包括一组(一个或多个)前端服务器(例如主机)和一组后端应用程序优化处理器。此外,本发明的实施提供了一种服务器和处理器混合系统及方法,用于通过I/O连接的混合系统在细密的等级分布和管理应用程序的执行。该方法允许一个系统用于管理和控制系统功能,以及一个或多个其它系统用作协处理器。
文档编号H04L29/08GK101437042SQ20081016567
公开日2009年5月20日 申请日期2008年9月24日 优先权日2007年11月15日
发明者J·R·穆里奇, R·B·克里什纳莫西, 金文柱 申请人:国际商业机器公司