用于准并行地执行多个线程的方法和装置与流程

文档序号:11519415阅读:166来源:国知局
本发明涉及一种用于准并行地执行多个线程的方法。本发明还涉及一种相应的装置、一种相应的计算机程序以及一种相应的存储介质。
背景技术
::按照国际标准iso/iec/ieee9945标准化的可移植操作系统接口(portableoperatingsysteminterface,posix)包括用于开放式的具有多任务能力的(multi-tasking(多任务))系统的一系列特定的应用环境框架(applicationenvironmentprofile,aep)。这些应用环境框架尤其包括用于可移植的实时的且嵌入式的(embedded)应用的根据ieee1003.13-2003规定的环境框架。相反,首先下降到操作系统内核的主管区以下的仲裁逻辑并未标准化,该仲裁逻辑控制着多个应用的准并行的、即至少看起来并行运行的执行。相应的控制程序在操作系统理论中称为调度器。为此,在实时操作系统的观察区域中采用所谓的打断式的或抢占式的调度器。这种类型的与抢占式调度器posix一致的操作系统在此遵循优先级调度策略,按照这种策略,给每个任务都分派一个优先级,并且总是执行具有最高优先级的可执行的任务。us20080235701a1公开了已知为自适应分区调度器的一类新算法的可能的应用。据此,对称的多处理器系统包括多个处理单元和自适应分区的相应的多个主管机构—调度器。自适应分区的每个主管机构—调度器—基于在多个自适应分区的质量函数值之间的比较—把相应的处理单元有选择性地分派给多个自适应分区的多个线程(threads)。多个自适应分区中的某个分区的质量函数可以与该自适应分区在相关处理单元上是否具有运行时间配额有关。附加地或替代地,与自适应分区的主管机构—调度器相关联的一定的分区的质量函数可以与该自适应分区在对称多处理器系统上是否具有全局的(global)运行时间配额有关。技术实现要素:本发明提出根据独立权利要求的一种用于准并行地执行多个线程的方法、一种相应的装置、一种相应的计算机程序以及一种相应的存储介质。该解决方案的优势在于,将不同的调度算法灵活地组合起来,其目的是,利用这些算法的各自的优点,并且消除缺点。在此尤其要注意,在来源、复杂性、功能可靠性和信息可靠性方面具有不同的时间要求或时间特性的多个应用可以在相同的软件-运行时间环境中运行。为此通过操作系统内核和必要时补充的组元比如用于监视和控制多个线程的管理过程实现了一种多层的(multi-layer)调度器。该调度器的多个层在此上下层级式地构造,其中,每个调度器层级相比于比它低级的层级都享有不受限制的优先权。时间片方法(timeslicing)处于最高等级,然后可以在预算内进一步细分和监视该时间片方法。采取在从属权利要求中所述的措施可以有利地改进和改善在独立权利要求中给出的基本构思。因而可以规定,第三层级上的调度器—从任一开始时间点起—周期性地以定期的时间间隔把时间片分派给多个线程。该时间段周期性地重复。在该时间段内,这些时间片可以有每一种任意的组合。也可行的是,在一个时间段内将多个时间片分给一个应用,以便例如得到改善的事件等待时间。这种设计相应于中型多应用系统的常见应用情况,这些多应用系统—按照比如pikeos或完整性的工作原理—以在调整能力较小情况下在应用层上的硬性的实时要求和严格的确定性为特点。根据另一方面可以规定,自适应的调度器将可供多个线程使用的时间片(timeslicing)分区,从而在该时间片内把可配置份额的预算或运行时间配额让给这些线程。在该运行时间配额内,也通过在最低层级上的抢占式的调度器借助于多个线程的优先级给这些线程分配计算时间。这种设计相应于大型多应用系统的常见应用情况,这些多应用系统按照所拥有的实时操作系统qnx的模式为各个线程保证了固定的运行时间配额。根据另一方面可以规定,在第二层级上,代替自适应的分区-调度器,享有特权的管理过程借助于操作系统内核监视通过多个线程触发的操作事件,并且,借助于这些操作事件来控制多个线程,从而在该时间片内把可配置的运行时间让给这些线程。这种设计相应于小型多应用系统的常见应用情况,这些多应用系统—与在汽车电子中广泛采用的实时操作系统rta-os相仿—以在各个线程的层级上的硬性的实时要求和严格的确定性为特点。在此不言而喻地,可以在不偏离本发明的范畴情况下,针对每个时间片不同地选择在第二层级上采用的调度器。附图说明本发明的一些实施例在附图中示出,并在后续的说明中予以详述。其中:图1示出多个调度方案的根据本发明的不同组合;图2示出在一种实施方式中采用的优先级调度;图3示出在一种实施方式中采用的时间片调度;图4示出在一种实施方式中采用的分区调度;图5示出在一种实施方式中进行的监视和控制;图6为根据第一实施方式的方法的流程图;图7示意性地示出根据本发明的第二实施方式的控制器。具体实施方式图1示出一种方法,以便表明在软件运行时间环境中在具有异构时间特性的多个应用情况下的在时间上的无干扰性(freedomfrominterference,ffi)。该方法利用了用于线程的在图2中示出的基于优先级的抢占式的调度器(11)。该方法还采用了根据图3的时间片-调度器(13)。可以给每个时间片(1、2、3)都分派由一个或多个任务构成的线程。这些时间片(1、2、3)按照可配置的、但恒定的时间间隔(30)有规律地重复。这些时间片(1、2、3)按照可配置的方式沿着这个周期性的时间段分布。在此,为每个时间片(1、2、3)都明确地且绝对地规定了相对于该时间段起点的开始时间点(t0)和结束时间点。该方法还采用了根据图4的自适应的优先级-调度器(12)。在此,可以给在图中标出的运行时间配额(40)分派由一个或多个任务构成的线程。该运行时间配额(40)—如图4的圆形图借助于示范性的份额因子所示—是与总共可供使用的时间片的时长成比例地(这里示范性地为:1)规定的。运行时间配额(40)因而可以在时间片(1)内在事先无法确定的时间点被充分利用。该方法还采用了根据图5的管理过程(14),其目的包括监视和控制(53)多个线程。该管理过程是一种按照对其功能可靠性和信息可靠性的最高要求发展出来的、因而被定级为可信赖的过程。该管理过程(14)先前相应地按照如下基本假设被设计好:应用过程(50)的全部要监视的线程都不可信赖。该管理过程由操作系统内核(51)得到关于这些线程的时间特性的全部所需要的信息。该操作系统内核(51)满足与所述管理过程(14)本身相同的对功能可靠性和信息可靠性的要求。该管理过程对这些线程的实际上的时间特性与可信赖的配置进行连续的比较,所述时间特性采用可信赖的内核(kernel)机理被通报给该管理过程。如果管理过程(14)表明相对于所希望的时间特性有偏差,它就将相应的指令指配给操作系统内核(51),以便消除错误特性或者引入替代反应。这些调度器(11、12、13、14),如图1再一次地示出,可以按照层级次序相互组合。在此,这些调度器(11、12、13、14)被分派给不同的层级。每个层级且参照一个时间片都可以有最多一个调度器(11、12、13、14)。一个层级上的调度器(11、12、13、14)相比于处在低层层级上的所有调度器(11、12、13、14)具有绝对的优先权。具有最高优先权的最上面的层级包含时间片-调度器(13)。如果不需要这个算法,则也可以省去该层级。这相当于采用了具有无限长的时间片(1、2、3)的仿佛无限的时间段。可选的中间的层级可以针对每个时间片(1、2、3)形成优先级-调度器(12),或者通过管理过程(14)形成上述监视和控制(53)。具有最小优先权(10)的最下面的层级形成基于优先级的抢占式的调度器(11)。通过这种方式,特别是可以实施前述的典型的应用情况(15、16、17)。图6示出该方法(60)在一个单个的时间片(1、2、3)的时长内的粗略地简化的、示范性的流程,其中,在最下面的层级上采用了抢占式的第一调度器(11),在中间的层级上采用了自适应性的第二调度器(12),在最上面的层级上采用了第三调度器(13)。由此,第三调度器(13)把时间片(1、2、3)分派给多个线程(步骤61)。第二调度器(12)也对分派的时间片(1、2、3)予以分区(步骤62),从而在时间片(1、2、3)内把可配置份额的运行时间配额(40)让给这些线程。最后,在该运行时间配额(40)内,通过第一调度器(11)借助于其相应的优先级(20)给这些线程分配(步骤63)计算时间(t)。该方法(60)例如可以采用软件或硬件或者采用软件和硬件的混合形式例如在控制器(70)中实施,如图7的示意图所示。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1