EP3803589A1 - Procédé de contrôle d'un système à plusieurs coeurs et dispositifs associés - Google Patents
Procédé de contrôle d'un système à plusieurs coeurs et dispositifs associésInfo
- Publication number
- EP3803589A1 EP3803589A1 EP19726450.0A EP19726450A EP3803589A1 EP 3803589 A1 EP3803589 A1 EP 3803589A1 EP 19726450 A EP19726450 A EP 19726450A EP 3803589 A1 EP3803589 A1 EP 3803589A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- execution
- critical
- common resource
- resource
- physical quantity
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Definitions
- the present invention relates to a method of controlling a system comprising a computer having a plurality of cores.
- the present invention also relates to a computer program product and a readable medium of associated information.
- Real-time systems including civil avionics calculators, are subject to very stringent safety requirements. Indeed, in the case of an aircraft, a failure could have catastrophic consequences on the flight of the airliner and its many passengers. Specific norms and regulations thus impose particular techniques to ensure the temporal determinism of the execution of applications.
- a fundamental characteristic of a real-time system is its response time, which must imperatively be less than a predetermined value.
- the execution time of a sequence of software tasks should be deterministic and repeatable. For safety reasons, this execution time is considered in the worst case, that is to say when various undesirable events (internal and external to the system) occur.
- isolation techniques are well controlled on single-core processors, including deactivating certain unfavorable features to determinism and / or taking time margins. These isolation techniques are also essential to the integrated modular avionics concept, which allows the development of mixed criticality systems where highly critical applications (such as avionics autopilot) will mix with less critical applications (such as embedded multimedia systems). in avionics).
- the present description relates to a method for controlling a system comprising a computer comprising a plurality of cores and resources common to at least two cores, each core being capable of performing tasks, each task involving a plurality of treatments. and one or more accesses to at least one common resource during a predefined execution time period, each access inducing a variation of a physical quantity relative to the common resource, each task being critical or non-critical, the method comprising least one step of, for each common resource, determining the variation of the execution slowing rate in the execution of each critical task as a function of the value of the physical quantity relative to the common resource during the period of time of predefined execution, of, for each common resource, setting a maximum value during the period of e predefined time according to a predetermined execution slowdown rate and the determined variation, execution of all the tasks by the computer, the execution step comprising the measurement of the physical quantity for each resource and stopping the execution of non-critical tasks as soon as, for a resource, the measured value is greater than the maximum value set
- control method comprises one or more of the following characteristics, taken in isolation or in any technically possible combination:
- the method further comprises, for each common resource, a step of obtaining the total value of the physical quantity for each critical task executed during the predefined period of time.
- the method includes, for each common resource, during the predefined period of time, a step of providing a maximum value corresponding to the value of the physical quantity possible for the common resource considered to guarantee a predefined maximum execution time for access to the common resource.
- the execution step also comprises measuring the physical quantity for each critical task and stopping the execution of the non-critical tasks as soon as, for a resource, at least one of the two following conditions is fulfilled a first condition according to which the measured physical quantity is greater than the maximum value supplied, and a second condition according to which the sum of the measured physical quantity for each critical task executed is equal to the total value obtained.
- the system is a real-time system.
- the system is an embedded system, for example in an airplane, a satellite or a railway vehicle.
- Common resources belong to the group consisting of memories, link buses, cache memories, input / output devices, access ports and on-chip networks.
- the physical quantity is chosen from the group consisting of a number of accesses to the common resource, a power consumption, a temperature and a quantity of memory used.
- the present description also relates to a computer program product comprising a readable information medium, on which is stored a computer program comprising program instructions, the computer program being loadable on a data processing unit. and adapted to carry out the implementation of a method according to any one of the preceding claims when the computer program is implemented on the data processing unit.
- the present description also relates to a readable information medium on which is stored a computer program product.
- FIG. 1 a schematic view of a computer enabling the implementation of a control method of a system:
- FIG. 2 a schematic view of a multi-core computer forming part of a system
- FIG. 3 is a flowchart of an exemplary implementation of an exemplary control method of a system
- FIG. 4 a diagrammatic representation of one way of implementing a step of the control method of FIG. 3; - Figure 5, a schematic representation of one way to implement another step of the control method of Figure 3;
- FIG. 6 a graph representing the evolution of the execution time of a task as a function of the solicitation of a resource
- FIG. 7 a diagrammatic representation of one way of implementing another step of the control method of FIG. 3, and
- FIG. 8 a schematic representation of a way of implementing the step shown diagrammatically in FIG. 7.
- FIG. 1 A computer 10 and a computer program product 12 are shown in FIG. 1.
- the interaction of the computer program product 12 with the computer 10 makes it possible to implement a control method of a system.
- the computer 10 is an electronic calculator able to manipulate and / or transform data represented as electronic or physical quantities in computer registers and / or memories in other similar data corresponding to physical data in databases. memories, registers or other types of display, transmission or storage devices.
- the computer 10 comprises a processor 14 comprising a data processing unit 16, memories 18 and an information carrier reader 20.
- the computer 10 also includes input and output peripherals 22 and 24.
- the computer program product 12 comprises a readable information medium.
- a readable information medium is a support readable by the computer 10, usually by the reader 20.
- the readable information medium is a medium adapted to store electronic instructions and capable of being coupled to a bus of a system computer.
- the readable information medium is a diskette or floppy disk ("floppy disk"), an optical disk, a CD-ROM, a magneto-optical disk, a ROM memory, a RAM memory, an EPROM memory, an EEPROM memory, a magnetic card or an optical card.
- On the readable information medium is stored a computer program including program instructions.
- the computer program is loadable on the data processing unit 16 and is adapted to drive the implementation of the optimization process.
- the system 30 is a real-time system, i.e. a system having tasks to be performed in a predetermined time interval to provide security.
- the system 30 is an embedded system, in particular intended to be part of an airplane, a satellite or a railway vehicle.
- the system 30 comprises a calculator 32 comprising a plurality of cores 34, resources 36 of a core 34 and common resources 38, 40, 42, 44 and 46 with at least two cores 34.
- Each heart 34 is capable of performing tasks.
- a task is a set of at least one operation.
- Each task is critical or non-critical.
- a task is critical as soon as the execution of this task impacts the security of the system 30. All other tasks are non-critical.
- Each task involves a plurality of processing and one or more accesses to at least one common resource 38, 40, 42, 44 and 46 for a period of execution time.
- the number of cores 34 is small, typically between 2 and 12.
- the system 30 comprises four cores 34 and the resources 36 of a core 34 are a cache memory.
- a cache or cache is, in computing, a memory that temporarily stores copies of data from a source, to reduce the time of a subsequent access (read) of a computer hardware (usually a processor) to these data.
- the common resources 38, 40, 42, 44 and 46 belong to the group consisting of memories, link buses, cache memories, input / output devices, access ports and networks-on-a-chip.
- the common resources 38, 40, 42, 44 and 46 are two cache memories 38 and 40, a link bus 42, a memory 44 and an input-output module 46.
- the first cache memory 38 cooperates with the cache memory 36 specific to the first core 34 and with the cache memory 36 specific to the second core 34.
- the first cache memory 38 is thus shared by the first core 34 and the second core 34.
- the second cache memory 40 cooperates with the cache memory 36 specific to the third core 34 and with the cache memory 36 specific to the fourth heart 34.
- the second cache memory 40 is thus shared by the third core 34 and the fourth core 34.
- the link bus 42 connects the two cache memories 38 and 40 with the memory 44 and the input-output module 46 so that these common resources can communicate with each other.
- the control method of the system 30 is to manage such interference.
- control method is a method of regulating the aforementioned interferences.
- the control method comprises a supply step S50, a calculation step S52 and an execution step S54.
- the supply S50 and S52 calculation steps are implemented offline (that is to say without operating the computer) while the execution step S54 is implemented online (c '). that is, in operation of the calculator).
- the separation between steps with and without operating the computer is shown in Figure 3 by a dashed line 56.
- the provisioning step S50 is implemented for each common resource.
- the maximum possible number of accesses for the common resource considered is provided to guarantee a predefined maximum execution time for access to the common resource.
- the provisioning step S50 takes into account the structure of the calculator (indicated by the rectangle 60), a mechanism for measuring the execution time and the number of accesses. to the common resource (indicated by the rectangle 62) and a requestor of said common resource (indicated by the rectangle 64) to obtain at the output the maximum possible number of accesses for the common resource (indicated by the rectangle 66).
- the solicitor of the common resource also called the "stressing benchmark" allows to multiply the access to the common resource.
- the petitioner allows a gradual increase in access to the common resource.
- the increase of the execution time of an operation by the common resource is followed so that the maximum possible number of accesses for the common resource considered is obtained to guarantee a time of predefined maximum execution for access to the common resource.
- the set of maximum possible access numbers are known for each common resource.
- the calculation step S52 is implemented for each common resource.
- the calculation step S52 takes into account four inputs to obtain two outputs.
- the four inputs are the calculator structure (indicated by the rectangle 60), a mechanism for measuring the execution time and the number of accesses to the common resource (indicated by the rectangle 62), a solicitor of the said common resource ( indicated by rectangle 64) and critical tasks (indicated by rectangle 68).
- the two outputs are the maximum number of possible accesses to the common resource for critical tasks (see rectangle 70 in Figure 5) and the maximum number of possible accesses to the common resource for non-critical tasks (see rectangle 72 in Figure 5).
- the calculation step S52 comprises a determination step, a fixing step and a obtaining step.
- the variation of the execution slowdown rate in the execution of each critical task is determined according to the number of accesses to the common resource during the predefined execution time period.
- a maximum access number is set during the predefined period of time as a function of a predetermined execution slowdown rate and the variation of the number of accesses to the determined common resource.
- the total number of accesses to the common resource for each critical task executed during the predefined period of time is obtained.
- the total number of accesses to the common resource for each non-critical task is subtracted by subtracting the maximum possible access number for the common resource from the total number of accesses to the common resource for each critical task.
- the operation of the determination, fixing and obtaining steps appears more precisely by studying the graph of FIG. 6.
- the ordinate axis represents in the current time window, the worst execution time of the critical task which is followed. while the x-axis represents the solicitation (that is, the access in this context) to the material resource considered. Solicitation is induced by the solicitor.
- the ordinate at the origin corresponds to the worst execution time of the critical task considered, assuming that the critical task is the only one to be executed. As expected, the more access to the material resource considered increases and the worse the execution time of the critical task increases to become so great that it corresponds to an impossibility for the critical task to be realized.
- the variation of the execution slowdown rate in the execution of each critical task as a function of the number of accesses to the common resource during the predefined execution time period is therefore the value derived from the curve represented in FIG. .
- the point 78 corresponding to the maximum slope comprises an abscissa 80 and an ordinate 82.
- Said ordinate 82 corresponds to the level acceptable slowing down of tasks while said abscissa 80 corresponds to the budget in terms of available access for non-critical tasks while ensuring an acceptable slowdown rate.
- the execution step S54 comprises measuring the number of accesses to the common resource for each resource and for each non-critical task.
- the execution step S54 includes stopping the execution of the non-critical tasks as soon as, for a resource, the number of accesses measured is greater than the maximum number of accesses fixed for all non-critical tasks. criticism.
- the calculator 32 ensures in real time that the non-critical tasks do not consume beyond the budgets allocated to them, temporarily suspending as needed the least critical applications.
- the control method relaxes the principle of temporal partitioning between tasks of different criticalities, allowing less critical tasks to be interrupted in case of endangering critical tasks. This allows a better exploitation of parallelism by allowing non-critical tasks to run at the same time as critical tasks.
- the control method makes it possible to better control the system 30 while avoiding the occurrence of temporal interference.
- the control process relies on budget-based regulation that will monitor the use of shared resources by non-critical tasks according to the needs of the critical task, and temporarily interrupt non-critical tasks to ensure the quality level. service required for critical tasks.
- the control method is thus a hardware-based budgeting solution for real-time systems with mixed criticality, that is to say involving the execution of critical and non-critical tasks.
- control method therefore allows a better exploitation of the resources of the multi-core computer, and therefore a better performance for the critical hybrid critical integrated systems.
- control method is simple, just counting accesses, which is important from the point of view of the certification of the process. This makes it possible to execute tasks in parallel without having to rewrite or modify them and therefore without having to recertify them.
- the development process established for single-core processors can therefore be reused directly, avoiding the significant additional cost associated with the certification process.
- the execution step S54 takes into account the critical tasks (see indicated rectangle 68) and the maximum possible number of accesses for the common resource (indicated by the rectangle 66) instead of the non-essential tasks. -critical (see rectangle 84) as in Figure 8.
- the execution step S54 takes into account the maximum number of possible access to the common resource for critical tasks (see rectangle 70) instead of the maximum number of possible accesses to the common resource for non-critical tasks (see rectangle 72).
- the execution step S54 also comprises measuring the number of accesses to the resource for each critical task and stopping the execution of the non-critical tasks as soon as, for a resource a first condition or a second condition is fulfilled.
- the first condition is met if the number of accesses to the measured resource is greater than the maximum number of accesses to the resource provided.
- the second condition is fulfilled if the number of accesses to the measured resource for each critical task executed is equal to the total access number obtained.
- Such an embodiment makes it possible to carry out a self-diagnosis aimed at monitoring in real time the load of critical tasks in terms of access to each resource, and thus to ensure that the load of the system remains below the levels imposed by the authorities of regulation or customers.
- the method described here which determines budgets in terms of number of accesses to resources, can also be extended to other types of budgets.
- the control method is applied for the energy consumption of the common resource.
- the control method is applied for the temperature of the common resource.
- control method is applied for a quantity of memory used.
- control method is applied for a physical quantity relative to the common resource.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Feedback Control In General (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1800543A FR3082020B1 (fr) | 2018-06-01 | 2018-06-01 | Procede de controle d'un systeme a plusieurs coeurs et dispositifs associes |
| PCT/EP2019/064057 WO2019229168A1 (fr) | 2018-06-01 | 2019-05-29 | Procédé de contrôle d'un système à plusieurs coeurs et dispositifs associés |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP3803589A1 true EP3803589A1 (fr) | 2021-04-14 |
Family
ID=63722441
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP19726450.0A Pending EP3803589A1 (fr) | 2018-06-01 | 2019-05-29 | Procédé de contrôle d'un système à plusieurs coeurs et dispositifs associés |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP3803589A1 (fr) |
| FR (1) | FR3082020B1 (fr) |
| WO (1) | WO2019229168A1 (fr) |
-
2018
- 2018-06-01 FR FR1800543A patent/FR3082020B1/fr active Active
-
2019
- 2019-05-29 EP EP19726450.0A patent/EP3803589A1/fr active Pending
- 2019-05-29 WO PCT/EP2019/064057 patent/WO2019229168A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| FR3082020B1 (fr) | 2020-08-14 |
| FR3082020A1 (fr) | 2019-12-06 |
| WO2019229168A1 (fr) | 2019-12-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11275561B2 (en) | Mixed precision floating-point multiply-add operation | |
| US9830677B2 (en) | Graphics processing unit resource sharing | |
| US9514037B1 (en) | Test program scheduling based on analysis of test data sets | |
| US10109030B1 (en) | Queue-based GPU virtualization and management system | |
| US9256452B1 (en) | Providing an instance availability estimate | |
| CN114730276B (zh) | 确定多核处理器复合体中每个核心的最佳线程数量 | |
| KR102236419B1 (ko) | 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체 | |
| Yang et al. | Design adaptive task allocation scheduler to improve MapReduce performance in heterogeneous clouds | |
| US8943287B1 (en) | Multi-core processor system configured to constrain access rate from memory | |
| US9253048B2 (en) | Releasing computing infrastructure components in a networked computing environment | |
| GB2475897A (en) | Resource allocation using estimated time to complete jobs in a grid or cloud computing environment | |
| CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
| US20120102499A1 (en) | OPTIMIZING THE PERFORMANCE OF HYBRID CPU SYSTEMS BASED UPON THE THREAD TYPE OF APPLICATIONS TO BE RUN ON THE CPUs | |
| FR3054902B1 (fr) | Procede et dispositif de distribution de partitions sur un processeur multi-coeurs | |
| US20120144039A1 (en) | Computing scheduling using resource lend and borrow | |
| US20160004985A1 (en) | Prioritizing Proposal Development Under Resource Constraints | |
| US10025624B2 (en) | Processing performance analyzer and process manager | |
| CA3149986C (fr) | Plateforme distribuee de calcul en peripherie de reseau pour des vehicules | |
| US9384057B2 (en) | Programmatic load-based management of processor population | |
| Dierks et al. | On the cluster admission problem for cloud computing | |
| EP3803589A1 (fr) | Procédé de contrôle d'un système à plusieurs coeurs et dispositifs associés | |
| US10423330B2 (en) | Data collection in a multi-threaded processor | |
| CN114004479B (zh) | 目标资源需求量确定方法、装置、设备及存储介质 | |
| US9244939B2 (en) | Managing I/O operations in a shared file system | |
| US11144356B2 (en) | Dynamic determination of memory requirements for function as a service multi-invocation flows |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20201201 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: BA ME |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20240227 |