CN105528250B - 多核多线程计算机系统确定性评测及控制方法 - Google Patents

多核多线程计算机系统确定性评测及控制方法 Download PDF

Info

Publication number
CN105528250B
CN105528250B CN201511026159.1A CN201511026159A CN105528250B CN 105528250 B CN105528250 B CN 105528250B CN 201511026159 A CN201511026159 A CN 201511026159A CN 105528250 B CN105528250 B CN 105528250B
Authority
CN
China
Prior art keywords
thread
progress
certainty
performance
time
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.)
Expired - Fee Related
Application number
CN201511026159.1A
Other languages
English (en)
Other versions
CN105528250A (zh
Inventor
杨华
刘冰
石祥斌
潘琢金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Aerospace University
Original Assignee
Shenyang Aerospace University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Aerospace University filed Critical Shenyang Aerospace University
Priority to CN201511026159.1A priority Critical patent/CN105528250B/zh
Publication of CN105528250A publication Critical patent/CN105528250A/zh
Application granted granted Critical
Publication of CN105528250B publication Critical patent/CN105528250B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

多核多线程计算机系统确定性评测及控制方法,该方法:1)定义“确定性”的系列评测及控制指标,包括累计进度偏移、进度偏移紧迫度、系统确定性等;2)设计资源储备、性能冲刺等控制机制,实现对各线程运行进度的预测和控制;3)建立“资源‑进度偏移紧迫度”动态划分调整模型。本发明特点:1)量化指标,实现对各线程及系统“确定性”的定量描述和计算;2)模型简单、适应性强,能实现对不同线程组合运行情况比较精确的“确定性”预测和控制;3)控制灵活,支持操作系统级和硬件级的资源分配进行性能调控;4)实现代价小,在现有体系结构基础上易于实现,能够缓解乃至解决多核多线程计算机系统中的“确定性”系列难题。

Description

多核多线程计算机系统确定性评测及控制方法
技术领域
本发明涉及一种多核多线程计算机系统确定性评测及控制方法,尤其涉及基于多核的机载计算机分区系统的确定性的评测和控制方法。该发明属于计算机系统设计领域,用于对多核多线程计算机系统、特别是多核机载计算机系统结构进行性能设计、预测、控制。具体应用领域是对确定性、实时性要求较高的多核多线程计算机系统、特别是基于多核的机载计算机分区系统的处理器核、寄存器、cache、I/O等硬件资源分配,以及操作系统级的分区调度及线程调度等功能的设计和实现。
背景技术
综合化航空电子系统(简称IMA),以其集成性、可靠性逐步取代分离式、联合式航空电子系统,成为第四代航空电子的主流发展方向。目前,国内外机载计算机普遍采用基于单核处理器的多任务实时系统,其容错能力主要靠多模冗余和备份来保证,而其计算任务的安全性和时空的“确定性”(determinism)主要通过嵌入式实时操作系统(RTOS)级的特殊设计(如:分区调度)来保证。当前,一方面机载计算任务日趋复杂和繁重,对计算性能的需求日益增加;另一方面多核(multi-core)处理器日益普及,支持多线程(multi-threading)的硬件级并行,其在性能、成本、可靠性等方面的显著优势,为设计和实现高性能机载计算平台带来新机遇。
然而,将多核处理器引入机载计算机领域支持IMA分区系统却遭遇到“确定性”等难题,并非易事:多核允许多个线程以物理的、硬件的方式并行,对各类硬件资源“竞争式共享”,一方面会提高资源的利用率和系统整体性能,另一方面,多个线程对各类硬件资源的竞争存在很大的盲目性,存在相互干扰、耦合甚至恶性竞争,造成各线程的WCET难以分析和估测,即“确定性”问题,这对实时计算、特别是硬实时计算(HRT)来说是危险甚至致命的。因此,在多核架构用在机载计算机的问题上国内外研究机构和厂商仍持谨慎态度,鲜有实现。综上,多核多线程虽然带来计算性能的大幅提升,但将其直接用于机载计算这类对可靠性、实时性都要求极高的领域来说,会遇到“确定性”等一系列难题,亟待研究解决。而迄今为止针对“确定性”问题的准确、适应性强、易于实现的量化评测及控制方法的缺失,是导致该问题难以解决的一个重要因素。
发明内容
本发明为了解决目前多核多线程计算机系统中多线程运行的性能不可预测性、不可控制性等“确定性”难题,提供了一种多核多线程计算机系统确定性评测及控制方法,该方法实现步骤:
(1)建立“确定性”的系列评测指标,所述“确定性”代表多个线程对硬件资源的竞争存在盲目性、存在相互干扰、耦合甚至恶性竞争所造成各线程的WCET难以分析和估测的问题;“确定性”的系列评测指标包括:
累计进度偏移:是线程随着时间推进的实际进度与需求进度的累计偏移量的量化计算模型,用二者当前完成的指令数量的差值来衡量;该值是随时间变化的实际性能与需求性能的性能差值随时间的积分;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段累计的方式计算;该指标的计算如公式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)建立“确定性”的系列评测指标,所述“确定性”代表多个线程对硬件资源的竞争存在盲目性、存在相互干扰、耦合甚至恶性竞争所造成各线程的WCET难以分析和估测的问题;“确定性”的系列评测指标包括:
累计进度偏移:是线程随着时间推进的实际进度与需求进度的累计偏移量的量化计算模型,用二者当前完成的指令数量的差值来衡量;该值是随时间变化的实际性能与需求性能的性能差值随时间的积分;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段累计的方式计算;该指标的计算如公式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:Instruction Per Cycle,指令/节拍,计算机系统性能单位
IMA:Integrated Modular Avionics,综合化航空电子系统
RTOS:Real-Time Operating System,实时操作系统
WCET:Worst Case Execution System,最坏执行时间
HRT:Hard Real-Time,硬实时
OS:Operating System,操作系统
SMT:Simultaneous Multi-Threading,同时多线程
ST:Supervisor Threading,管理线程。

Claims (2)

1.一种多核多线程计算机系统确定性评测及控制方法,其特征在于:该方法包括如下步骤:
步骤1:建立“确定性”的系列评测指标;所述“确定性”代表多个线程对硬件资源的竞争存在盲目性、存在相互干扰、耦合甚至恶性竞争所造成各线程的WCET难以分析和估测的问题;“确定性”的系列评测指标包括:
累计进度偏移:是线程随着时间推进的实际进度与需求进度的累计偏移量的量化计算模型,用二者当前完成的指令数量的差值来衡量;该值是随时间变化的实际性能与需求性能的性能差值随时间的积分;在实际操作过程中由于线程性能的变化持续性和离散性,采用等分时段累计的方式计算;该指标的计算如公式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:资源储备和性能冲刺机制;
资源储备机制:对系统的各类关键资源进行一定比例的储备,用于对抗一般调控措施难以消除的不确定性,为每个线程设置一个进度偏移紧迫度阈值Ek,当Uk(T)>Ek时,启动资源储备及性能冲刺机制,该资源储备为逻辑储备,即储备资源平时可参与一般性使用,当启动性能冲刺时才作为特定线程的独占式资源;所述关键资源包括处理器核分配时间、物理寄存器数量、cache和I/O的访问机会和数量;
性能冲刺机制:将储备资源全部或优先分配给待冲刺线程,让其尽快达到预定进度,当Uk(T)>Ek或其它原因需要加速某一线程k时,将其对应的关键资源的储备量悉数分配给线程k;
步骤3:建立“资源-进度偏移紧迫度”动态划分调整模型;
步骤4:系统运行过程的连续动态监控以提高“确定性”;
将系统运行时间等分为连续时段,所述连续动态监控是在每一时段结束时对所有线程的性能、进度、累计进度偏移、进度偏移紧迫度、系统的确定性指标采样和计算,并根据“资源-进度偏移紧迫度”动态划分调整模型,重新计算并调整各线程对各类关键资源的分配比例或数量,实现对各线程性能进行实时跟踪和“确定性”调控,提高各线程及整个系统运行过程的“确定性”。
2.根据权利要求1所述的多核多线程计算机系统确定性评测及控制方法,其特征在于:所述的步骤3:“资源-进度偏移紧迫度”动态划分调整模型,具体为:
根据各线程实际运行情况实时地计算和调整关键资源分配,各线程在不同运行时段有不同的资源需求特点,但在任一特定时段都存在能对线程的性能起调控作用的某类关键资源,控制该类资源的分配也就控制了该线程的性能,对每一类资源,该动态划分调整模型让该时刻以该资源为关键资源且处于紧迫状态的线程优先划分,其余资源让其它线程参与全局竞争,如公式4和公式5所示:
其中:
xLk(T)表示线程k对x类资源的分配的数量;
Mx表示该时刻以x类资源为关键资源的且处于紧迫状态的线程数量;
xUk(T)表示该时刻以x类资源为关键资源的第k个线程的进度偏移紧迫度;
xS(T)表示x类资源的总数量,通常为一恒定不变的值;
xG(T)表示供所有线程竞争的x类资源的数量,通常为一预先设定的值;
T表示运行时刻,与公式1中的含义相同;
根据该“资源-进度偏移紧迫度”动态划分调整模型,即公式4和公式5所示方法,对各线程在运行过程中持续进行实时性能采样和监测,并根据模型计算结果进行关键资源的动态分配调整。
CN201511026159.1A 2015-12-31 2015-12-31 多核多线程计算机系统确定性评测及控制方法 Expired - Fee Related CN105528250B (zh)

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 CN105528250A (zh) 2016-04-27
CN105528250B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255586B (zh) * 2016-12-29 2022-04-22 北京国双科技有限公司 功能服务的排序方法及装置
CN107590057B (zh) * 2017-09-28 2021-06-15 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN107608237B (zh) * 2017-09-30 2020-10-13 国网青海省电力公司 一种基于光伏系统半实物仿真的硬件资源优化控制方法
CN110987742B (zh) * 2019-11-26 2022-11-18 杨建才 一种污水处理中悬浮物含量的控制检测方法、装置及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708007A (zh) * 2012-04-06 2012-10-03 沈阳航空航天大学 片上多线程计算机系统中线程性能预测和控制方法
CN103220337A (zh) * 2013-03-22 2013-07-24 合肥工业大学 基于自适应弹性控制的云计算资源优化配置方法
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
CN104301403A (zh) * 2014-09-26 2015-01-21 东北大学 基于组件服务副本增删的云服务资源动态配置系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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
US9015510B2 (en) * 2012-06-29 2015-04-21 Intel Corporation Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708007A (zh) * 2012-04-06 2012-10-03 沈阳航空航天大学 片上多线程计算机系统中线程性能预测和控制方法
CN103220337A (zh) * 2013-03-22 2013-07-24 合肥工业大学 基于自适应弹性控制的云计算资源优化配置方法
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
CN104301403A (zh) * 2014-09-26 2015-01-21 东北大学 基于组件服务副本增删的云服务资源动态配置系统及方法

Also Published As

Publication number Publication date
CN105528250A (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
CN105528250B (zh) 多核多线程计算机系统确定性评测及控制方法
Deng et al. A scheme for scheduling hard real-time applications in open system environment
Oprescu et al. Bag-of-tasks scheduling under budget constraints
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
EP3087503B1 (en) Cloud compute scheduling using a heuristic contention model
EP3296867B1 (en) Method and apparatus for executing real-time tasks
CN102681889A (zh) 一种云计算开放平台的调度方法
US20090037926A1 (en) Methods and systems for time-sharing parallel applications with performance isolation and control through performance-targeted feedback-controlled real-time scheduling
Zhu et al. SLA based dynamic virtualized resources provisioning for shared cloud data centers
Sukwong et al. SageShift: Managing SLAs for highly consolidated cloud
Lai et al. Sol: Fast distributed computation over slow networks
US20100036641A1 (en) System and method of estimating multi-tasking performance
CN113505084B (zh) 基于访存和性能建模的内存资源动态调控方法及系统
Cidon et al. MARS: adaptive remote execution for multi-threaded mobile devices
CN104820616B (zh) 一种任务调度的方法及装置
CN105808357B (zh) 性能可精确控制多核多线程处理器
Biswas et al. An auto-scaling framework for controlling enterprise resources on clouds
Chen et al. EnergyQARE: QoS-aware data center participation in smart grid regulation service reserve provision
Biswas et al. Automatic resource provisioning: a machine learning based proactive approach
Ye et al. Astraea: A fair deep learning scheduler for multi-tenant gpu clusters
Wang et al. CEFS: Compute-efficient flow scheduling for iterative synchronous applications
Yu et al. Colab: a collaborative multi-factor scheduler for asymmetric multicore processors
Buttazzo et al. Partitioning parallel applications on multiprocessor reservations
Biswas et al. Predictive auto-scaling techniques for clouds subjected to requests with service level agreements
Phavorin et al. Scheduling with preemption delays: anomalies and issues

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

Granted publication date: 20190312

Termination date: 20201231

CF01 Termination of patent right due to non-payment of annual fee