CN105528250A - 多核多线程计算机***确定性评测及控制方法 - Google Patents
多核多线程计算机***确定性评测及控制方法 Download PDFInfo
- Publication number
- CN105528250A CN105528250A CN201511026159.1A CN201511026159A CN105528250A CN 105528250 A CN105528250 A CN 105528250A CN 201511026159 A CN201511026159 A CN 201511026159A CN 105528250 A CN105528250 A CN 105528250A
- Authority
- CN
- China
- Prior art keywords
- thread
- progress
- performance
- time
- determinacy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
多核多线程计算机***确定性评测及控制方法,该方法:1)定义“确定性”的系列评测及控制指标,包括累计进度偏移、进度偏移紧迫度、***确定性等;2)设计资源储备、性能冲刺等控制机制,实现对各线程运行进度的预测和控制;3)建立“资源-进度偏移紧迫度”动态划分调整模型。本发明特点:1)量化指标,实现对各线程及***“确定性”的定量描述和计算;2)模型简单、适应性强,能实现对不同线程组合运行情况比较精确的“确定性”预测和控制;3)控制灵活,支持操作***级和硬件级的资源分配进行性能调控;4)实现代价小,在现有体系结构基础上易于实现,能够缓解乃至解决多核多线程计算机***中的“确定性”系列难题。
Description
技术领域
本发明涉及一种多核多线程计算机***确定性评测及控制方法,尤其涉及基于多核的机载计算机分区***的确定性的评测和控制方法。该发明属于计算机***设计领域,用于对多核多线程计算机***、特别是多核机载计算机***结构进行性能设计、预测、控制。具体应用领域是对确定性、实时性要求较高的多核多线程计算机***、特别是基于多核的机载计算机分区***的处理器核、寄存器、cache、I/O等硬件资源分配,以及操作***级的分区调度及线程调度等功能的设计和实现。
背景技术
综合化航空电子***(简称IMA),以其集成性、可靠性逐步取代分离式、联合式航空电子***,成为***航空电子的主流发展方向。目前,国内外机载计算机普遍采用基于单核处理器的多任务实时***,其容错能力主要靠多模冗余和备份来保证,而其计算任务的安全性和时空的“确定性”(determinism)主要通过嵌入式实时操作***(RTOS)级的特殊设计(如:分区调度)来保证。当前,一方面机载计算任务日趋复杂和繁重,对计算性能的需求日益增加;另一方面多核(multi-core)处理器日益普及,支持多线程(multi-threading)的硬件级并行,其在性能、成本、可靠性等方面的显著优势,为设计和实现高性能机载计算平台带来新机遇。
然而,将多核处理器引入机载计算机领域支持IMA分区***却遭遇到“确定性”等难题,并非易事:多核允许多个线程以物理的、硬件的方式并行,对各类硬件资源“竞争式共享”,一方面会提高资源的利用率和***整体性能,另一方面,多个线程对各类硬件资源的竞争存在很大的盲目性,存在相互干扰、耦合甚至恶性竞争,造成各线程的WCET难以分析和估测,即“确定性”问题,这对实时计算、特别是硬实时计算(HRT)来说是危险甚至致命的。因此,在多核架构用在机载计算机的问题上国内外研究机构和厂商仍持谨慎态度,鲜有实现。综上,多核多线程虽然带来计算性能的大幅提升,但将其直接用于机载计算这类对可靠性、实时性都要求极高的领域来说,会遇到“确定性”等一系列难题,亟待研究解决。而迄今为止针对“确定性”问题的准确、适应性强、易于实现的量化评测及控制方法的缺失,是导致该问题难以解决的一个重要因素。
发明内容
本发明为了解决目前多核多线程计算机***中多线程运行的性能不可预测性、不可控制性等“确定性”难题,提供了一种多核多线程计算机***确定性评测及控制方法,该方法实现步骤:
(1)建立“确定性”的系列评测指标,包括:
累计进度偏移:是线程随着时间推进的实际进度与需求进度的累计偏移量的量化计算模型,用二者当前完成的指令数量的差来衡量;理论上该值应该是随时间变化的实际性能与需求性能的性能差值随时间的积分;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段累计的方式计算;该指标的计算如公式1所示:
其中:
D(T)表示累计进度偏移量,用当前实际完成与需求完成的指令数量的差表示;该值为正表示线程实际进度领先于需求进度,该值为负表示线程实际进度落后于需求进度;
T表示累计运行时间,用运行的时钟周期表示;
t表示0~T时段内的时刻变量;
AP(t)表示任一时刻的实际性能,用该时刻实际IPC表示;
RP(t)表示任一时刻的需求性能,用该时刻需求IPC表示;
N表示经过的时段数,为了简便在实际操作中采用等分时段方式,即将T等分为N个时段,每时段长度用ΔT表示;
表示第i时段的平均实际性能,用该时段实际平均IPC表示;
表示第i时段的平均需求性能,用该时段需求平均IPC表示。
进度偏移紧迫度:是线程随着时间推进的实际进度与需求进度的偏移紧迫程度的量化计算模型;用二者相差的时间段数来衡量;理论上该值应该是线程追平随累积进度偏移所需要的时段数;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段方式、并用得到的累积进度偏移除以当前实时性能再除以时段长度的方式计算,如公式2所示:
其中:
U(T)表示进度偏移紧迫度,用线程追平累计进度偏移所需要的时段数量来表示;该值为正表示线程超过需求进度,处于非紧迫状态,即不紧迫;该值为负表示线程落后于需求进度,处于紧迫状态,越负越紧迫;
表示最近一个时段的平均实际性能,可视作该线程的当前实时性能;
T、t、D(T)、AP(t)、RP(t)、N、ΔT、与公式1中的含义相同。
***确定性:是随着时间推进所有处于紧迫状态的各线程的进度偏移紧迫程度的平均量化计算模型,用于评价***的确定性,并衡量整个***是否能够满足确定性要求;用所有处于紧迫状态的各线程追平需求进度所需要的平均时段数来衡量;在实际操作过程中,用所有处于紧迫状态的各线程的进度偏移紧迫度绝对值的总和除以线程总数的方式计算,如公式3所示:
其中:
Ψ(T)表示***确定性;该值大于或等于零,越大表示***的确定性越低,当低于某一预定阈值时,可以认为该***的确定性已无法保证;
Uk(T)表示第k个线程的进度偏移紧迫度;
M表示同时运行的线程总数;
T表示运行时刻,与公式1中的含义相同
(2)资源储备和性能冲刺机制
资源储备机制:对***的各类关键资源进行一定比例的储备,例如20%,用于对抗一般调控措施难以消除的不确定性。例如:为每个线程设置一个进度偏移紧迫度阈值Ek,当某时时刻Uk(T)>Ek时,启动资源储备及性能冲刺机制。应该注意的是,该资源储备为逻辑储备,即储备资源平时可参与一般性使用,当启动性能冲刺时才作为特定线程的独占式资源。
性能冲刺机制:将储备资源全部或优先分配给待冲刺线程,让其尽快达到预定进度。当Uk(T)>Ek或其它原因(如用户交互式干预)需要加速某一线程k时,将其对应的关键资源的储备量悉数分配给线程k。
(3)“资源-进度偏移紧迫度”动态划分调整模型
根据各线程实际运行情况实时地计算和调整关键资源分配。各线程在不同运行时段有不同的资源需求特点,但在任一特定时段都存在能对线程的性能起调控作用的某类关键资源(如:处理器核分配时间、物理寄存器数量、cache和I/O等访问机会和数量等),控制该类资源的分配也就控制了该线程的性能。对每一类资源,该动态划分调整模型让该时刻以该资源为关键资源且处于紧迫状态的线程优先划分,其余资源让其它线程参与全局竞争,如公式4和公式5所示:
其中:
xLk(T)表示线程k对x类资源的分配的数量;
Mx表示该时刻以x类资源为关键资源的且处于紧迫状态的线程数量;
xUk(T)表示该时刻以x类资源为关键资源的第k个线程的进度偏移紧迫度;
xS(T)表示x类资源的总数量,通常为一恒定不变的值;
xG(T)表示供所有线程竞争的x类资源的数量,通常为一预先设定的值;
T表示运行时刻,与公式1中的含义相同。
公式4和公式5所示方法,是根据该“资源-进度偏移紧迫度”动态划分调整模型,对各线程在运行过程中持续进行实时性能采样和监测(实际过程中采用分时段方式实现),并根据模型计算结果进行关键资源(如物理寄存器数量)的动态分配调整。
(4)***运行过程的连续动态监控以提高“确定性”
将***运行时间等分为连续时段,在每一时段结束时对所有线程的性能、进度、累计进度偏移、进度偏移紧迫度、***的确定性等指标采样和计算,并根据“资源-进度偏移紧迫度”动态划分调整模型,重新计算并调整各线程对各类关键资源的分配比例或数量,实现对各线程性能进行实时跟踪和“确定性”调控,达到提高各线程及整个***运行过程“确定性”之目的。
本发明的有益效果:本发明能够实现对多核多线程计算机***中各线程及整个***的“确定性”的量化描述和计算,并据此实现对各线程及整个***运行“确定性”的实时跟踪和调控。本发明的应用对于彻底解决多核多线程计算机***中因为资源“竞争式共享”而引发的“确定性”相关问题,包括多线程性能的不可控、***实时性被破坏、优先级颠倒、可预测性降低、服务质量(QoS)降低等方面,很有帮助。
本发明的特点:
(1)量化指标,实现对各线程及***“确定性”的定量描述和计算。
(2)模型简单、适应性强,能实现对不同线程组合运行情况精确的“确定性”跟踪计算和控制。
(3)控制灵活,支持操作***级和硬件级的资源分配进行性能调控。
(4)实现代价小,在现有体系结构基础上易于实现,能够缓解乃至解决多核多线程计算机***中的“确定性”系列难题。
附图说明
图1.各线程“确定性”指标的计算和资源分配调控流程图;
图2.支持多核多线程的IMA分区***的参考调度模型。
具体实施方式
参见图1给出的各线程“确定性”指标的计算和资源分配调控流程图;
一种多核多线程计算机***确定性评测及控制方法,该方法实现步骤:
(1)建立“确定性”的系列评测指标,包括:
累计进度偏移:是线程随着时间推进的实际进度与需求进度的累计偏移量的量化计算模型,用二者当前完成的指令数量的差来衡量;理论上该值应该是随时间变化的实际性能与需求性能的性能差值随时间的积分;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段累计的方式计算;该指标的计算如公式1所示:
其中:
D(T)表示累计进度偏移量,用当前实际完成与需求完成的指令数量的差表示;该值为正表示线程实际进度领先于需求进度,该值为负表示线程实际进度落后于需求进度;
T表示累计运行时间,用运行的时钟周期表示;
t表示0~T时段内的时刻变量;
AP(t)表示任一时刻的实际性能,用该时刻实际IPC表示;
RP(t)表示任一时刻的需求性能,用该时刻需求IPC表示;
N表示经过的时段数,为了简便在实际操作中采用等分时段方式,即将T等分为N个时段,每时段长度用ΔT表示;
表示第i时段的平均实际性能,用该时段实际平均IPC表示;
表示第i时段的平均需求性能,用该时段需求平均IPC表示。
进度偏移紧迫度:是线程随着时间推进的实际进度与需求进度的偏移紧迫程度的量化计算模型;用二者相差的时间段数来衡量;理论上该值应该是线程追平随累积进度偏移所需要的时段数;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段方式、并用得到的累积进度偏移除以当前实时性能再除以时段长度的方式计算,如公式2所示:
其中:
U(T)表示进度偏移紧迫度,用线程追平累计进度偏移所需要的时段数量来表示;该值为正表示线程超过需求进度,处于非紧迫状态,即不紧迫;该值为负表示线程落后于需求进度,处于紧迫状态,越负越紧迫;
表示最近一个时段的平均实际性能,可视作该线程的当前实时性能;
T、t、D(T)、AP(t)、RP(t)、N、ΔT、与公式1中的含义相同。
***确定性:是随着时间推进所有处于紧迫状态的各线程的进度偏移紧迫程度的平均量化计算模型,用于评价***的确定性,并衡量整个***是否能够满足确定性要求;用所有处于紧迫状态的各线程追平需求进度所需要的平均时段数来衡量;在实际操作过程中,用所有处于紧迫状态的各线程的进度偏移紧迫度绝对值的总和除以线程总数的方式计算,如公式3所示:
其中:
Ψ(T)表示***确定性;该值大于或等于零,越大表示***的确定性越低,当低于某一预定阈值时,可以认为该***的确定性已无法保证;
Uk(T)表示第k个线程的进度偏移紧迫度;
M表示同时运行的线程总数;
T表示运行时刻,与公式1中的含义相同
(2)资源储备和性能冲刺机制
资源储备机制:对***的各类关键资源进行一定比例的储备,例如20%,用于对抗一般调控措施难以消除的不确定性。例如:为每个线程设置一个进度偏移紧迫度阈值Ek,当某时时刻Uk(T)>Ek时,启动资源储备及性能冲刺机制。应该注意的是,该资源储备为逻辑储备,即储备资源平时可参与一般性使用,当启动性能冲刺时才作为特定线程的独占式资源。
性能冲刺机制:将储备资源全部或优先分配给待冲刺线程,让其尽快达到预定进度。当Uk(T)>Ek或其它原因(如用户交互式干预)需要加速某一线程k时,将其对应的关键资源的储备量悉数分配给线程k。
(3)“资源-进度偏移紧迫度”动态划分调整模型
根据各线程实际运行情况实时地计算和调整关键资源分配。各线程在不同运行时段有不同的资源需求特点,但在任一特定时段都存在能对线程的性能起调控作用的某类关键资源(如:处理器核分配时间、物理寄存器数量、cache和I/O等访问机会和数量等),控制该类资源的分配也就控制了该线程的性能。对每一类资源,该动态划分调整模型让该时刻以该资源为关键资源且处于紧迫状态的线程优先划分,其余资源让其它线程参与全局竞争,如公式4和公式5所示:
其中:
xLk(T)表示线程k对x类资源的分配的数量;
Mx表示该时刻以x类资源为关键资源的且处于紧迫状态的线程数量;
xUk(T)表示该时刻以x类资源为关键资源的第k个线程的进度偏移紧迫度;
xS(T)表示x类资源的总数量,通常为一恒定不变的值;
xG(T)表示供所有线程竞争的x类资源的数量,通常为一预先设定的值;
T表示运行时刻,与公式1中的含义相同。
公式4和公式5所示方法,是根据该“资源-进度偏移紧迫度”动态划分调整模型,对各线程在运行过程中持续进行实时性能采样和监测(实际过程中采用分时段方式实现),并根据模型计算结果进行关键资源(如物理寄存器数量)的动态分配调整。
(4)***运行过程的连续动态监控以提高“确定性”
将***运行时间等分为连续时段,在每一时段结束时对所有线程的性能、进度、累计进度偏移、进度偏移紧迫度、***的确定性等指标采样和计算,并根据“资源-进度偏移紧迫度”动态划分调整模型,重新计算并调整各线程对各类关键资源的分配比例或数量,实现对各线程性能进行实时跟踪和“确定性”调控,达到提高各线程及整个***运行过程“确定性”之目的。
下面详细介绍每个步骤的技术手段、方案:
(1)“确定性”系列评测指标的建立:这是本发明的基础。“确定性”问题十分复杂,迄今为止国内外还没有出现准确的、普适的、易操作的量化指标模型。我们在研究过程中通过分析、实验、简化和抽象,以线程进度为主线设计出一组随时间变化的“确定性”评测的系列指标,包括各线程的累计进度偏移D(T)、进度偏移紧迫度U(T)、***确定性Ψ(T)等。为了简便和可操作性,在实现过程中可采用等分时段方式计算,即将***运行时间等分为长短适宜的时段,每时段结束时进行“确定性”系列指标的计算及对应调控措施的施行。这种方式在硬件和软件上都完全符合现代计算机***的现行运行机制,例如OS级的时间片线程切换机制、体系结构级的线程性能记录和资源应用统计等,因此易于实现。此外,由于是多核多线程架构***,可在OS级单独开辟一个管理线程ST,用于连续跟踪、管理和伺服各个任务线程的运行状态,为“确定性”相关指标的计算和后继资源调控过程提供服务。
(2)资源储备和性能冲刺机制的设计:为了对抗比较大的不确定性,即存在某线程k的进度偏移紧迫度超出预定阈值(即Uk(T)<Ek)的情况,则启动资源储备和性能冲刺机制。在实现过程中,资源储备和性能冲刺机制可在体系结构级和OS级实现,并不困难,利用现有硬件和软件上的相关特性即可,例如在***结构级利用处理内部资源的可配置性,在OS级调整分区及线程的调度以及处理器核及内存等硬件资源的分配等。资源储备比例及各线程进度偏移紧迫度阈值Ek可根据实际需求设定,例如:分别为20%和-3.0。该过程可交由前面所述管理线程ST完成,按时段进行且支持动态调整,增大***的灵活性和适应性。
(3)***运行过程的连续动态监控以提高“确定性”:将***运行时间等分为连续时段,在每一时段结束时对所有线程的性能、进度、累计进度偏移D(T)、进度偏移紧迫度U(T)、***的确定性Ψ(T)等指标采样和计算,并根据“资源-进度偏移紧迫度”动态划分调整模型,重新计算并调整各线程对各类关键资源的分配比例或数量,实现对各线程性能进行实时跟踪和“确定性”调控,达到提高各线程及整个***运行过程的“确定性”之目的,过程如图1所示。
实施例
本发明的具体实施需要体系结构级及OS级配合设计、共同完成。这里通过一个典型的应用场景来说明该方法的实施过程,如图2所示:设某多核多线程机载分区***采用4核处理器,每个处理核支持2路SMT,共有128个计算任务(线程),平均分为16个分区(P1-P16),每个分区包括8个计算任务(T1-T4)。设资源储备比例为20%,每个线程的进度偏移紧迫度阈值Ek=-3.0(k=1,2,…,128),根据“资源-进度偏移紧迫度”动态划分调整模型,对线程的性能起调控作用的各类关键资源(如:处理器核分配时间、物理寄存器数量、cache和I/O等访问机会和数量等)进行定期分配调整,供所有线程竞争的x类资源的数量xG(T),统一设为40%的比例,设间隔时段为100万时钟周期。通过仿真实验可以验证,本发明所设计的多核多线程计算机***中“确定性”的评测及控制方法,能够抑制***不确定因素的产生和扩大,能够准确评测、控制各线程及整个***的确定性,为多核多线程计算机***中“确定性”问题的彻底解决提供有力方法和依据。
附:英文缩写的含义、中文名称
IPC:InstructionPerCycle,指令/节拍,计算机***性能单位
IMA:IntegratedModularAvionics,综合化航空电子***
RTOS:Real-TimeOperatingSystem,实时操作***
WCET:WorstCaseExecutionSystem,最坏执行时间
HRT:HardReal-Time,硬实时
OS:OperatingSystem,操作***
SMT:SimultaneousMulti-Threading,同时多线程
ST:SupervisorThreading,管理线程。
Claims (5)
1.一种多核多线程计算机***确定性评测及控制方法,其特征在于:该方法包括如下步骤:
步骤1:建立“确定性”的系列评测指标;
步骤2:资源储备和性能冲刺机制;
步骤3:“资源-进度偏移紧迫度”动态划分调整模型;
步骤4:***运行过程的连续动态监控以提高“确定性”。
2.根据权利要求1所述的多核多线程计算机***确定性评测及控制方法,其特征在于:所述的步骤1:建立“确定性”的系列评测指标,包括:
累计进度偏移:是线程随着时间推进的实际进度与需求进度的累计偏移量的量化计算模型,用二者当前完成的指令数量的差来衡量;理论上该值应该是随时间变化的实际性能与需求性能的性能差值随时间的积分;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段累计的方式计算;该指标的计算如公式1所示:
其中:
D(T)表示累计进度偏移量,用当前实际完成与需求完成的指令数量的差表示;该值为正表示线程实际进度领先于需求进度,该值为负表示线程实际进度落后于需求进度;
T表示累计运行时间,用运行的时钟周期表示;
t表示0~T时段内的时刻变量;
AP(t)表示任一时刻的实际性能,用该时刻实际IPC表示;
RP(t)表示任一时刻的需求性能,用该时刻需求IPC表示;
N表示经过的时段数,为了简便在实际操作中采用等分时段方式,即将T等分为N个时段,每时段长度用DT表示;
表示第i时段的平均实际性能,用该时段实际平均IPC表示;
表示第i时段的平均需求性能,用该时段需求平均IPC表示;
进度偏移紧迫度:是线程随着时间推进的实际进度与需求进度的偏移紧迫程度的量化计算模型;用二者相差的时间段数来衡量;理论上该值应该是线程追平随累积进度偏移所需要的时段数;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段方式、并用得到的累积进度偏移除以当前实时性能再除以时段长度的方式计算,如公式2所示:
其中:
U(T)表示进度偏移紧迫度,用线程追平累计进度偏移所需要的时段数量来表示;该值为正表示线程超过需求进度,处于非紧迫状态,即不紧迫;该值为负表示线程落后于需求进度,处于紧迫状态,越负越紧迫;
表示最近一个时段的平均实际性能,可视作该线程的当前实时性能;
T、t、D(T)、AP(t)、RP(t)、N、DT、与公式1中的含义相同;
***确定性:是随着时间推进所有处于紧迫状态的各线程的进度偏移紧迫程度的平均量化计算模型,用于评价***的确定性,并衡量整个***是否能够满足确定性要求;用所有处于紧迫状态的各线程追平需求进度所需要的平均时段数来衡量;在实际操作过程中,用所有处于紧迫状态的各线程的进度偏移紧迫度绝对值的总和除以线程总数的方式计算,如公式3所示:
其中:
Y(T)表示***确定性;该值大于或等于零,越大表示***的确定性越低,当低于某一预定阈值时,可以认为该***的“确定性”已无法保证;
Uk(T)表示第k个线程的进度偏移紧迫度;
M表示同时运行的线程总数;
T表示运行时刻,与公式1中的含义相同。
3.根据权利要求1所述的多核多线程计算机***确定性评测及控制方法,其特征在于:所述的步骤2:资源储备和性能冲刺机制,具体为:
资源储备机制:对***的各类关键资源进行一定比例的储备,用于对抗一般调控措施难以消除的不确定性,当每个线程设置一个进度偏移紧迫度阈值Ek,当某时时刻Uk(T)>Ek时,启动资源储备及性能冲刺机制,该资源储备为逻辑储备,即储备资源平时可参与一般性使用,当启动性能冲刺时才作为特定线程的独占式资源;
性能冲刺机制:将储备资源全部或优先分配给待冲刺线程,让其尽快达到预定进度,当Uk(T)>Ek或其它原因需要加速某一线程k时,将其对应的关键资源的储备量悉数分配给线程k。
4.根据权利要求1所述的多核多线程计算机***确定性评测及控制方法,其特征在于:所述的步骤3:“资源-进度偏移紧迫度”动态划分调整模型,具体为:
根据各线程实际运行情况实时地计算和调整关键资源分配,各线程在不同运行时段有不同的资源需求特点,但在任一特定时段都存在能对线程的性能起调控作用的某类关键资源,控制该类资源的分配也就控制了该线程的性能,对每一类资源,该动态划分调整模型让该时刻以该资源为关键资源且处于紧迫状态的线程优先划分,其余资源让其它线程参与全局竞争,如公式4和公式5所示:
其中:
xLk(T)表示线程k对x类资源的分配的数量;
Mx表示该时刻以x类资源为关键资源的且处于紧迫状态的线程数量;
xUk(T)表示该时刻以x类资源为关键资源的第k个线程的进度偏移紧迫度;
xS(T)表示x类资源的总数量,通常为一恒定不变的值;
xG(T)表示供所有线程竞争的x类资源的数量,通常为一预先设定的值;
T表示运行时刻,与公式1中的含义相同;
公式4和公式5所示方法,是根据该“资源-进度偏移紧迫度”动态划分调整模型,对各线程在运行过程中持续进行实时性能采样和监测,并根据模型计算结果进行关键资源的动态分配调整。
5.根据权利要求1所述的多核多线程计算机***确定性评测及控制方法,其特征在于:所述的步骤4:***运行过程的连续动态监控以提高“确定性”,具体为:
将***运行时间等分为连续时段,在每一时段结束时对所有线程的性能、进度、累计进度偏移、进度偏移紧迫度、***的确定性指标采样和计算,并根据“资源-进度偏移紧迫度”动态划分调整模型,重新计算并调整各线程对各类关键资源的分配比例或数量,实现对各线程性能进行实时跟踪和“确定性”调控,提高各线程及整个***运行过程的“确定性”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511026159.1A CN105528250B (zh) | 2015-12-31 | 2015-12-31 | 多核多线程计算机***确定性评测及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511026159.1A CN105528250B (zh) | 2015-12-31 | 2015-12-31 | 多核多线程计算机***确定性评测及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528250A true CN105528250A (zh) | 2016-04-27 |
CN105528250B CN105528250B (zh) | 2019-03-12 |
Family
ID=55770495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511026159.1A Expired - Fee Related CN105528250B (zh) | 2015-12-31 | 2015-12-31 | 多核多线程计算机***确定性评测及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528250B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590057A (zh) * | 2017-09-28 | 2018-01-16 | 努比亚技术有限公司 | 冻屏监测与解决方法、移动终端及计算机可读存储介质 |
CN107608237A (zh) * | 2017-09-30 | 2018-01-19 | 国网青海省电力公司 | 一种基于光伏***半实物仿真的硬件资源优化控制方法 |
CN108255586A (zh) * | 2016-12-29 | 2018-07-06 | 北京国双科技有限公司 | 功能服务的排序方法及装置 |
CN110987742A (zh) * | 2019-11-26 | 2020-04-10 | 倪世章 | 一种污水处理中悬浮物含量的控制检测方法、装置及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300626A1 (en) * | 2008-05-29 | 2009-12-03 | Honeywell International, Inc | Scheduling for Computing Systems With Multiple Levels of Determinism |
CN102708007A (zh) * | 2012-04-06 | 2012-10-03 | 沈阳航空航天大学 | 片上多线程计算机***中线程性能预测和控制方法 |
CN103220337A (zh) * | 2013-03-22 | 2013-07-24 | 合肥工业大学 | 基于自适应弹性控制的云计算资源优化配置方法 |
US20140006824A1 (en) * | 2012-06-29 | 2014-01-02 | Christian Maciocco | Using device idle duration information to optimize energy efficiency |
CN104065745A (zh) * | 2014-07-07 | 2014-09-24 | 电子科技大学 | 云计算动态资源调度***和方法 |
CN104301403A (zh) * | 2014-09-26 | 2015-01-21 | 东北大学 | 基于组件服务副本增删的云服务资源动态配置***及方法 |
-
2015
- 2015-12-31 CN CN201511026159.1A patent/CN105528250B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300626A1 (en) * | 2008-05-29 | 2009-12-03 | Honeywell International, Inc | Scheduling for Computing Systems With Multiple Levels of Determinism |
CN102708007A (zh) * | 2012-04-06 | 2012-10-03 | 沈阳航空航天大学 | 片上多线程计算机***中线程性能预测和控制方法 |
US20140006824A1 (en) * | 2012-06-29 | 2014-01-02 | Christian Maciocco | Using device idle duration information to optimize energy efficiency |
CN103220337A (zh) * | 2013-03-22 | 2013-07-24 | 合肥工业大学 | 基于自适应弹性控制的云计算资源优化配置方法 |
CN104065745A (zh) * | 2014-07-07 | 2014-09-24 | 电子科技大学 | 云计算动态资源调度***和方法 |
CN104301403A (zh) * | 2014-09-26 | 2015-01-21 | 东北大学 | 基于组件服务副本增删的云服务资源动态配置***及方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255586A (zh) * | 2016-12-29 | 2018-07-06 | 北京国双科技有限公司 | 功能服务的排序方法及装置 |
CN108255586B (zh) * | 2016-12-29 | 2022-04-22 | 北京国双科技有限公司 | 功能服务的排序方法及装置 |
CN107590057A (zh) * | 2017-09-28 | 2018-01-16 | 努比亚技术有限公司 | 冻屏监测与解决方法、移动终端及计算机可读存储介质 |
CN107590057B (zh) * | 2017-09-28 | 2021-06-15 | 努比亚技术有限公司 | 冻屏监测与解决方法、移动终端及计算机可读存储介质 |
CN107608237A (zh) * | 2017-09-30 | 2018-01-19 | 国网青海省电力公司 | 一种基于光伏***半实物仿真的硬件资源优化控制方法 |
CN107608237B (zh) * | 2017-09-30 | 2020-10-13 | 国网青海省电力公司 | 一种基于光伏***半实物仿真的硬件资源优化控制方法 |
CN110987742A (zh) * | 2019-11-26 | 2020-04-10 | 倪世章 | 一种污水处理中悬浮物含量的控制检测方法、装置及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105528250B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ghosh et al. | Fault-tolerance through scheduling of aperiodic tasks in hard real-time multiprocessor systems | |
Deng et al. | A scheme for scheduling hard real-time applications in open system environment | |
Audsley et al. | Real-time system scheduling | |
US9164796B2 (en) | Robust system control method with short execution deadlines | |
Xu et al. | On satisfying timing constraints in hard-real-time systems | |
Albers et al. | On multi-processor speed scaling with migration | |
US20100043008A1 (en) | Scalable Work Load Management on Multi-Core Computer Systems | |
CN105528250A (zh) | 多核多线程计算机***确定性评测及控制方法 | |
Lai et al. | Sol: Fast distributed computation over slow networks | |
Santy et al. | Two protocols to reduce the criticality level of multiprocessor mixed-criticality systems | |
US8898675B2 (en) | Method of calculating processor utilization rate in SMT processor | |
Guo et al. | The concurrent consideration of uncertainty in WCETs and processor speeds in mixed-criticality systems | |
Ghattas et al. | Preemption threshold scheduling: Stack optimality, enhancements and analysis | |
Phavorin et al. | Scheduling with preemption delays: anomalies and issues | |
Kopetz et al. | Real-time scheduling | |
Garibay-Martínez et al. | On the scheduling of fork-join parallel/distributed real-time tasks | |
Tsenos et al. | Amesos: a scalable and elastic framework for latency sensitive streaming pipelines | |
Binns | A robust high-performance time partitioning algorithm: the digital engine operating system (DEOS) approach | |
Li et al. | Response time analysis for distributed real-time systems with bursty job arrivals | |
Awan et al. | Memory bandwidth regulation for multiframe task sets | |
Leung et al. | Exploiting dynamic workload variation in low energy preemptive task scheduling | |
Becker et al. | Towards Efficient On-line Schedulability Tests for Adaptive Networked Embedded Real-time Systems. | |
US8527999B2 (en) | Method, computer program and device for supervising a scheduler for managing the sharing of processing time in a multi-task computer system | |
Megel et al. | Evaluation of Task Migration Mechanisms for Hard Real-Time Distributed Systems. | |
Kermia | Strictly periodic first: An optimal variant of LLF for scheduling tasks in a time‐critical cyber‐physical system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190312 Termination date: 20201231 |