专利名称:改进的采用自动化控制器的实时应用程序的执行的制作方法
技术领域:
本发明涉及一种依靠一个或多个中央处理单元(CPU)、执行具有自动化设备的自动化系统的控制任务的计算执行的方法和设备。
背景技术:
在工业应用中,控制设备通常在同一时间并行执行多种控制任务。由于通常需要执行的自动化任务比可用的CPU更多,在一个单核或多核CPU上的自动化任务的同时执行是通过实时系统解决的,该系统将不同的自动化任务分解成顺序执行的小块代码。并行的自动化任务的实时执行状态例如是通过诸如实时操作系统、含有中断控制器的中断系统、 信号概念或优先级概念实现的。当代的控制系统还提供了自动化相关信息的图形可视化。这是为了向操作员显示图形及提供一个人机界面。现代图形适配器拥有数十个或数百个并行计算单位,提供了可观的计算能力。图形适配器的全部的计算单元被称为GPU。然而,GPU是专门用于图形应用程序的。在过去的几年中,图形体系结构领域的众多研究和发展多是关于提高三维(3D) 计算机图形渲染性能的方法的。推动了通用计算机体系结构的半导体技术的同时发展也推动了图形体系结构。许多类似的加速技术被应用在这一领域,包括流水线技术和并行技术。然而,图形渲染应用提出了特殊的需求并提供了新的机遇。例如,由于图像显示一般涉及大量的重复计算,比一般的计算,大量的并行技术会更容易地被使用于这一领域。根据US2008198167 Al,开发了一种计算系统,其能够采用软件实现的多模式并行图形渲染子系统来并行运行通过外部图形卡支持的多个图形处理单元(多个GPU)。该计算系统包括一个CPU内存空间,用于存储一个或多个基于图形的应用程序; 一个或多个CPU,用于执行基于图形的应用程序;以及一个桥接电路,其可操作连接一个或多个CPU及CPU内存空间,并且包括拥有一个或多个GPU的集成图形设备(I⑶)。此外,该计算系统还包括一个或多个支持多个GPU的、通过数据通信接口的方式与桥接电路连接的图形卡;一个支持多模式并行操作的多模式并行图形渲染子系统;利用多个GPU实现的多条图形处理流水线(多条GPPL);以及一个自动化模式控制模块。在一个说明性的实施方案中,I⑶拥有一个内部GPU,以及一个或多个外部图像卡支持多个GPU。在基于图形的应用程序的运行时间,自动化模式控制模块自动控制多模式并行图形渲染子系统的并行运作的模式,这样使得多个GPU以并行模式被驱动。在US 2008276262 Al中,描述了一种方法和一种设备,其对调度队列中的多个可执行文件进行调度,以在一个或多个物理计算设备(如多个CPU或多个GPU)中同时执行。 针对与所述一个或多个物理计算装置不同的一种类型的物理计算装置,从具有现有可执行文件的源在线编译一个或多个可执行文件。确定与被调度的可执行文件相对应的各元素之间的依赖关系,来选择以多个线程同时在超过一个的物理计算设备中执行的一个可执行文件。一个已被初始化用于执行物理计算设备上的一个GPU中的一个可执行文件的线程,如果该GPU正繁忙于图形处理线程,则该线程将被初始化用于在物理计算设备上的另一个CPU中的执行。用于应用程序处理接口(API)函数的源和现有的可执行文件被存储在API库中, 用于执行多个物理计算设备中的多个可执行文件,其中包括现有的可执行文件和从源在线编译的可执行文件。所有这些发展都指向图形适配器的最初目的,即存储于计算机的诸如图像及视频的图形内容的渲染,为此渲染速度及分辨率已得到极大地改善。该领域的技术的发布都专注于图形适配器的性能的改善,以提高渲染质量及渲染速度。换句话说,与图形适配器最显著相关的电子处理单元的计算能力的提升是没有被预料到的,尤其是没有预料到那种程度。今天的图形适配器能够通过计算进程的并行化而运行大量不同的计算任务。这可能得益于一个事实,即图形处理单元能够处理支持多重并行操作模式的多个图形处理流水线。最近,图形适配器的各大卖家和/或厂家提供的编程接口可以执行没有被分派到图形处理任务的图形单元上的任意代码。复杂的视频转码、解微分方程和有限元分析的算法已经可以利用GPU的能力。然而,该技术目前尚无法在工业应用特别是自动化应用中被使用。因此,本发明的一个主要目的是使图形处理单元的计算能力可用于自动化系统的控制。具体地讲,本发明的目的在于利用多核图形处理单元(例如图形适配器的图形处理单元)的并行结构体系来控制多重的复杂的分布式的均属于各自动化系统的机械设备部件。鉴于上述情况,需要利用一个或多个GPU来执行对那些机械设备部件的控制的一种方法和系统。
发明内容
自动化设备(诸如可编程逻辑控制器(PLC)、分配控制系统(PLC)、工业电脑 (IPC)、可编程自动化控制器(PAC)、机器人控制器(RC)、或运动控制器(MC))的自动化任务的计算执行通常需要一个用于执行控制软件的指令的中央处理器单元(CPU)。因此,按照本发明,多个控制任务或多个控制算法是同时通过单核或多核控制单元(CPU)和多核图形处理器(GPU)或两者的组合来执行的。本发明的原理和中心思想是利用GPU的并行体系结构执行自动化设备(如PLC或机器人控制器)上的实时应用程序。由于一个或多个GPU上的图形适配器上可用的并行计算单元的数量超过了典型的自动化系统的并行任务的数量,对于实时系统的并行技术和管理的高代价的努力不再需要。大规模的并行执行的可能性使得每个控制任务可以专门地运行在一个或多个被指定的计算单元。这显著地提升了执行能力,并且允许设计更简化的实时体系结构。本发明的一个实施例是使大部分控制任务与至少一个计算单位关联。本发明的另一个实施例是,多核CPU与图形适配器的并行计算单元(也就是一个或多个GPU)的同时组合使用。本发明涉及的有益的自动化应用程序如下· PLC或软件PLC可以将不同的自动化任务或算法分别运行在一组独立的计算单元上,从而可以提供更好的实时执行性能。 机器人控制器、运动控制器或它们的虚拟示教器(virtual pendant)可以将不同的轮轴分别通过一组独立的计算单元控制,分别相当于一个单独的任务运行于一个单独的 CPU 上。· PLC、机器人控制器、运动控制器可以被组合为一个自动化设备,该自动化设备将不同的自动化任务分别运行在一组独立的并行单元上。 多个GPU的并行体系结构允许并行任务的并行执行,即同时地执行。自动化任务的分解可以被减少或避免。独立的控制算法可以同时并行执行。因此,这样的自动化设备的性能可以得到明显的提高。·实时概念可以被显著地简化。将并行任务分解为一系列小的代码片段的复杂而耗时的过程可以被减少或避免。这将允许设计新的实时体系结构,其建立在并行的多个单独任务运行于并行的且相关联的计算单元上的基础上。 一个或多个控制装置(虚拟机器人控制器,虚拟运动控制器,虚拟PLC)的虚拟化将被简化。额外的GPU能力可用于提高虚拟设备的响应能力及实时性能。依靠本发明,图形适配器的计算能力被利用,以拥有一个有强大的计算能力的处理单元用于并行(即同时地)处理自动化应用程序中的多种的独立的任务。由于众多的自动化应用程序需要充足的处理能力,目前图形适配器的并行计算处理能力依靠并行处理流水线提供。
权利要求
1.通过包括单核或多核控制单元的自动化控制设备来执行多个自动化任务的计算执行的方法,其特征在于多个控制任务或多个控制算法通过至少一个多核图形处理器单元(GPU)来执行。
2.根据权利要求1的方法,其中多个控制任务或多个控制算法同时通过至少一个单核或多核控制单元(CPU)及至少一个多核图形处理器单元(GPU)来执行。
3.根据权利要求1或2的方法,其中多任务体系结构被并行的多个单独任务并行地运行于GPU的至少一个计算单元上的体系结构所代替。
4.根据上述权利要求之一的方法,其中多个单个任务的大部分同时地运行于至少一个 GPU的并行计算单元上。
5.根据上述权利要求之一的方法,其中不同的自动化任务被分配到一个自动化设备, 该自动化设备独立地、并行地运行这些不同的自动化任务。
6.根据上述权利要求之一的方法,其中至少一个自动化控制设备是模拟或仿真的,并充当一个虚拟的控制设备。
7.根据上述权利要求之一的方法,其中PLC或软件PLC将不同的自动化任务或算法分别运行在一组独立的计算单元上,从而能够提供更好的实时执行性能。
8.根据上述权利要求之一的方法,其中机器人控制器、运动控制器或它们的虚拟示教器将不同的轮轴分别通过一组独立的计算单元控制,分别相当于一个单独的任务运行于一个单独的CPU上。
9.根据上述权利要求之一的方法,其中PLC、机器人控制器、运动控制器可被组合为一个自动化设备,该自动化设备将不同的自动化任务分别运行在一组独立的并行单元上。
10.包括工业应用程序和如工业机器和设备的装置的系统,其中工业应用程序和装置用于自动化的目的并且受同时由单核或多核控制单元(CPU)和多核图形处理器(GPU)或二者的组合执行的多个控制任务或多个控制算法的控制。
11.根据权利要求10的系统,其中单核或多核单元的多任务体系结构被并行的多个单独任务并行地运行于GPU的至少一个计算单元上的体系结构所取代。
12.根据权利要求10或11的系统,其中不同的自动化任务被分配到一个自动化设备, 该自动化设备独立地、并行地运行这些不同的自动化任务。
13.根据权利要求10至12之一的系统,其中至少一个自动化控制设备是模拟或仿真的,并充当一个虚拟的控制设备。
14.根据权利要求10至13之一的系统,其中PLC或软件PLC将不同的自动化任务或算法分别运行在一组独立的计算单元上,从而能够提供更好的实时执行性能。
15.根据权利要求10至14之一的系统,其中机器人控制器、运动控制器或它们的虚拟示教器将不同的轮轴分别通过一组独立的计算单元控制,分别相当于一个单独的任务运行于一个单独的CPU上。
16.根据权利要求10至15之一的系统,其中PLC、机器人控制器、运动控制器可被组合为一个自动化设备,该自动化设备将不同的自动化任务分别运行在一组独立的并行单元上。
全文摘要
本发明涉及一种通过一个或多个中央处理单元(CPU)及一个或多个图形处理单元(GPU)的组合体、执行自动化设备的自动化任务的计算执行的方法和设备,其中多个控制任务或多个控制算法同时通过单核或多核控制单元(CPU)及多核图形处理器(GPU)或二者来并行执行。
文档编号G06F9/50GK102498470SQ200980161095
公开日2012年6月13日 申请日期2009年8月24日 优先权日2009年8月24日
发明者赖纳·德拉特 申请人:Abb技术股份有限公司