CN107885585A - A kind of dynamic task scheduling device in multinuclear electronic control unit - Google Patents
A kind of dynamic task scheduling device in multinuclear electronic control unit Download PDFInfo
- Publication number
- CN107885585A CN107885585A CN201611271500.4A CN201611271500A CN107885585A CN 107885585 A CN107885585 A CN 107885585A CN 201611271500 A CN201611271500 A CN 201611271500A CN 107885585 A CN107885585 A CN 107885585A
- Authority
- CN
- China
- Prior art keywords
- task
- electronic control
- control unit
- core
- chondromitiome
- 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
- 238000000034 method Methods 0.000 claims description 12
- 230000000295 complement effect Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 3
- 230000002567 autonomic effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
Abstract
The invention discloses dynamic task scheduling device (15) of the one kind in multinuclear electronic control unit (10).The electronic control unit (10) includes at least one main core (12) and at least one chondromitiome (14).Main core (12) is based on the output of chondromitiome (14) and performs task.Electronic control unit (10) further comprises the counter (20) for being used to determine the task execution time of main core (12) and chondromitiome (14).The task execution time of task dispatcher (15) more main core (12) and chondromitiome (14) and optimize task execution time at least one in main core (12) and chondromitiome (14).
Description
Technical field
The present invention relates to a kind of dynamic task scheduling device (scheduler) in multinuclear electronic control unit.
Background technology
Nowadays the electronic control unit in most of vehicles is the monokaryon for having single OS (operating system) system.Multinuclear/
The appearance of the electronic control unit of many cores or multiple operating system is needed efficiently using being designed to the soft of monokaryon system
Conversion of the part to multinuclear/many cores or multiple operating system, without losing real-time performance.A kind of for example, moment of torsion control operation method
Then run on these electronic control units;Calculate moment of torsion needed for driver;Such as gear shift demand of adjustment it is different outer
Interfere in portion;Request is from stability control, the information of Auxiliary Control Element;And offer is directed to engine or its is any other
The set point of the operation of energy source.At present, multiple operating system scheduler is based on following principle come work:Assign the task to available
Hardware resource (such as processor core or hardware thread) and between multiple application programs share core.
WIPO patent applications 2010138031 disclose a kind of in an operating system for dispatching the processing on multi core chip
The method and scheduler of resource, the multi core chip include multiple processor cores.This method is included to the multiple places of application assigned
Manage device core and the frequency for a processor core for performing application program is increased into second frequency so that processing speed increase is super
Cross situation about being expected by Amdahl laws.
Brief description of the drawings
The different modes of the present invention are disclosed in detail and illustrated in the accompanying drawings in the description:
Fig. 1 shows the block diagram of the electronic control unit in the embedded system in one embodiment of the invention;
Fig. 2 shows the flow chart of the method for the task execution time of at least one task of optimization according to the present invention.
Embodiment
Fig. 1 shows the dynamic task scheduling according to an embodiment of the invention in multinuclear electronic control unit 10
Device 15.The electronic control unit 10 includes at least one main core 12 and at least one chondromitiome 14.Main core 12 is based on the defeated of chondromitiome 14
Go out execution task.Electronic control unit 10 further comprises the counting of the task execution time for determining main core and chondromitiome 14
Device.The task execution time of the more main core 12 of task dispatcher 15 and chondromitiome 14 and optimize at least one in main core 12 and chondromitiome 14
Individual task execution time.
Each core performs a default group task in a calibration process.For example, electronic control unit 10 is the control of vehicle
Unit processed, and it is included from the main core 12 and chondromitiome 14 to be received an assignment respectively from engine and velocity sensor.From starting
The task of machine will be consecutively carried out by main core 12, and the task from velocity sensor will be consecutively carried out by chondromitiome 14.This
A little tasks are complementary, are similarly to the mechanism of client-server.When performing a task in main core 12,
Data in cache memory in the interim storage task.Because two tasks are complementary, chondromitiome 14 utilizes the
The data and the second task of execution of one task.Task execution time is that at least one core performs the time that task is spent.Meter
Number devices 20 receive the number of task to determine task execution time by calculating to perform.Exceed when detecting identical data and performing
During default number, electronic control unit 10 stops or stops the execution of at least one task.If for example, identical number
According to being executed more than 3 times, then the task dispatcher 15 being present in electronic control unit 10 stops holding for the second task of chondromitiome
Row (if the second task depends on first task).
Fig. 2 illustrates the dynamic task scheduling method for multinuclear electronic control unit 10 according to the present invention.In step
In S1, at least two complementary tasks from least two cores 12,14 are received.In step s 2, according at another
The output of another being performed for task at core 12 performs at least one received task of at least one core 14.In step
In rapid S3, the task execution time of the core 12,14 is determined.In step s 4, the tasks carrying of at least one core 12,14 is optimized
Time.
Above-mentioned paragraph is described in detail below.Electronic Control list including at least one main core 12 and at least one chondromitiome 14
Member 10 receives at least two complementary instructions from least two modules 16,18.Each core 12,14 is for each default
Time interval performing received task at different moments respectively.For example, main core 12 will be performed from the first module 16 every 1 second
Receiving for task, chondromitiome 14 will perform being received from the second module 18 for task every 200 milliseconds.Main core 12 is based on chondromitiome 18
Output perform the task of reception.Each task is performed every time, and the counter 20 being present in electronic control unit 10 is incremented by
One numeral.Counter 20 calculates the number for performing first task or performing any one of the second task.If by counting
The execution number of the task at least one reception that device 20 calculates exceedes the task dispatcher of preset value, then electronic control unit 10
15 optimize the task execution time of the task of at least one reception by increasing or reducing task execution time.
The above method is disclosed by example hereafter:
Make electronic control unit 10 include perform respectively from the first module 16 and the second module 18 reception first task and
The main core 12 and chondromitiome 14 of second task.Second task depends on first task.Main core 12 is set to perform first task every 1 second,
Chondromitiome 14 performs the second task every 200 milliseconds.Because the second task depends on first task, first task is performed at second
Before, the second task extraly can be performed 4 times (that is, such as every 200 milliseconds), and the second task including identical data
Also can be performed.The data performed in the second task can be stored in cache memory.Passing through main core 12
While obtaining performing, the output of second task of the first task using storage in the cache.Counter 20 is true
The task execution time of fixed second task, and second task is often performed, counter 20 is incremented by a numeral.If by counting
The determination value of the tasks carrying number for the second task that number device 20 determines is more than or equal to predetermined value, for example is more than or equal to
3, then task dispatcher 15 the optimization first task or the second task one of both or both of electronic control unit 10 are whole appoints
Business performs the time, and then electronic control unit 10 optimizes the task execution time of core by increasing or reducing.Electronic Control
The execution time of first task is either reduced to 500 milliseconds or holding the second task by the task dispatcher 15 of unit 10
The row time, which increases to 500 milliseconds, or both, to be had.When the task execution time of core can not be optimized, if continuously held
Identical data are performed in the row cycle, electronic control unit 10 stops the execution of the second task.
In other situations, if first task depends on the second task.So that performed first task simultaneously every 1 second
And performed the second task every 6 seconds.When receiving first task and during the second task, main core 12 and chondromitiome 14 are when default
Between interval perform the first and second tasks, i.e. chondromitiome 14 depends on the output of the first task for carrying out autonomic nucleus 12 to be performed every 6 seconds
Second task.Counter 20 determines the task execution time of first task, and electronic control unit 10 or by by second
Task execution time is reduced to 4 seconds or the first task execution time is increased into 3 seconds or both had to optimize first
The task execution time of task or the second task.If perform identical data, Electronic Control in the cycle is continuously performed
Unit 10 stops the execution of first task.
In one embodiment, the electronic control unit 10 with monokaryon will receive at least two phases from least two modules
Mutually relying on for task.Electronic control unit determines to perform the required time of each receiving for task.Because two tasks are mutual
(that is, only the performing the second task after first task is performed and dependent on the output of being performed for task, the core) relied on,
The counter being present in electronic control unit determines the task execution time of first task or the second task or both.Such as
The task execution time that fruit determines is more than or equal to preset value, and the electronic control unit optimizes the task of at least one reception
Task execution time.
Using above-mentioned electronic control unit 10 and method disclosed above, electronic control unit 10 is appointed by Real-Time Scheduling
It is engaged in optimize task execution time.The run time of electronic control unit 10 can be improved based on current loading.Pass through increasing
Add or reduce the task execution time of at least one received task, it is possible to achieve dynamic dispatching.
It is to be understood that the example of the embodiment and offer described in above-mentioned embodiment is only illustrative
, and do not limit the scope of the invention.The scope of the present invention is only limited by the scope of claim.The above embodiments
Many modifications and changes be it is contemplated that and within the scope of the present invention.
Claims (8)
1. the dynamic task scheduling device (15) in a kind of multinuclear electronic control unit (10), electronic control unit (10) bag
Include:
- at least one main core (12) and at least one chondromitiome (14);
- main the core (12) is based on the output of the chondromitiome (14) and performs task;
- for the counter (20) for the task execution time for determining the main core (12) and the chondromitiome (14);
The task execution time of-task dispatcher (15) the main core (12) and the chondromitiome (14) and optimize institute
State the task execution time of at least one of main core (12) and the chondromitiome (14).
2. dynamic task scheduling device (15) according to claim 1, or increase or the task for reducing the core
The time is performed, to optimize the run time of the electronic control unit (10).
3. dynamic task scheduling device (15) according to claim 1, wherein, held when being detected in the cycle is continuously performed
During row identical data, the task dispatcher (15) stops the execution of at least one task.
4. dynamic task scheduling device (15) according to claim 1, wherein, during the operation of the electronic control unit (10)
Between reduced by stopping the execution of at least one task.
5. dynamic task scheduling device (15) according to claim 1, wherein, the task execution time is to perform at least one
The time that individual task is spent.
6. dynamic task scheduling device (15) according to claim 1, if the execution number of at least one task is big
In or equal to preset value, the dynamic task scheduling device (15) optimizes at least one task of at least one task
Perform the time.
7. one kind is used for the dynamic task scheduling method of multinuclear electronic control unit (10), methods described includes:
- receive at least two complementary tasks from least two cores (12,14);
- at least one core (14) performed at least according to the output of another being performed for task at another core (12) place
One being received for task;
- determine the task execution times of the core (12,14);With
The task execution time of at least one core (12,14) of-optimization.
8. according to the method for claim 5, wherein, it the described method comprises the following steps:If continuously performing the cycle
Middle execution identical data, then stop the execution of at least one received task.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611271500.4A CN107885585A (en) | 2016-09-30 | 2016-09-30 | A kind of dynamic task scheduling device in multinuclear electronic control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611271500.4A CN107885585A (en) | 2016-09-30 | 2016-09-30 | A kind of dynamic task scheduling device in multinuclear electronic control unit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107885585A true CN107885585A (en) | 2018-04-06 |
Family
ID=61769257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611271500.4A Pending CN107885585A (en) | 2016-09-30 | 2016-09-30 | A kind of dynamic task scheduling device in multinuclear electronic control unit |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107885585A (en) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577278A (en) * | 2003-07-22 | 2005-02-09 | 株式会社东芝 | Method and system for scheduling real-time periodic tasks |
CN101154169A (en) * | 2006-09-27 | 2008-04-02 | 株式会社东芝 | Multiprocessor system |
CN101243407A (en) * | 2005-08-08 | 2008-08-13 | 罗伯特·博世有限公司 | Method and device for controlling a computer system with at least two execution units and a comparison unit |
CN101267564A (en) * | 2008-04-16 | 2008-09-17 | 中国科学院计算技术研究所 | A multi-processor video coding chip device and method |
US20110302560A1 (en) * | 2010-06-04 | 2011-12-08 | Guenther Nadbath | Real-time profiling in a multi-core architecture |
CN102360313A (en) * | 2011-09-29 | 2012-02-22 | 中国科学技术大学苏州研究院 | Performance acceleration method of heterogeneous multi-core computing platform on chip |
CN102455944A (en) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | Multi-core load balancing method and processor thereof |
CN102566739A (en) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | Multicore processor system and dynamic power management method and control device thereof |
CN103473134A (en) * | 2013-09-23 | 2013-12-25 | 哈尔滨工程大学 | Dependent task scheduling method of heterogeneous multi-core processor |
CN103942109A (en) * | 2014-05-04 | 2014-07-23 | 江苏物联网研究发展中心 | Self-adaptation task scheduling method based on multi-core DSP |
CN104035843A (en) * | 2013-03-06 | 2014-09-10 | 英飞凌科技股份有限公司 | System and Method to Increase Lockstep Core Availability |
CN104216813A (en) * | 2014-09-02 | 2014-12-17 | 迈普通信技术股份有限公司 | Method and device for monitoring states of slave cores |
CN104750228A (en) * | 2015-03-26 | 2015-07-01 | 广东欧珀移动通信有限公司 | Method and device for reducing power consumption of multi-core processor |
CN105446934A (en) * | 2014-08-14 | 2016-03-30 | 南京理工大学 | Moving-target and constant false-alarm rate detection system based on multi-core DSP |
CN105468567A (en) * | 2015-11-24 | 2016-04-06 | 无锡江南计算技术研究所 | Isomerism many-core discrete memory access optimization method |
CN105933090A (en) * | 2016-04-14 | 2016-09-07 | 电子科技大学 | Multi-core parallel SCMA decoding system |
-
2016
- 2016-09-30 CN CN201611271500.4A patent/CN107885585A/en active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577278A (en) * | 2003-07-22 | 2005-02-09 | 株式会社东芝 | Method and system for scheduling real-time periodic tasks |
CN101243407A (en) * | 2005-08-08 | 2008-08-13 | 罗伯特·博世有限公司 | Method and device for controlling a computer system with at least two execution units and a comparison unit |
CN101154169A (en) * | 2006-09-27 | 2008-04-02 | 株式会社东芝 | Multiprocessor system |
CN101267564A (en) * | 2008-04-16 | 2008-09-17 | 中国科学院计算技术研究所 | A multi-processor video coding chip device and method |
US20110302560A1 (en) * | 2010-06-04 | 2011-12-08 | Guenther Nadbath | Real-time profiling in a multi-core architecture |
CN102455944A (en) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | Multi-core load balancing method and processor thereof |
CN102360313A (en) * | 2011-09-29 | 2012-02-22 | 中国科学技术大学苏州研究院 | Performance acceleration method of heterogeneous multi-core computing platform on chip |
CN102566739A (en) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | Multicore processor system and dynamic power management method and control device thereof |
CN104035843A (en) * | 2013-03-06 | 2014-09-10 | 英飞凌科技股份有限公司 | System and Method to Increase Lockstep Core Availability |
CN103473134A (en) * | 2013-09-23 | 2013-12-25 | 哈尔滨工程大学 | Dependent task scheduling method of heterogeneous multi-core processor |
CN103942109A (en) * | 2014-05-04 | 2014-07-23 | 江苏物联网研究发展中心 | Self-adaptation task scheduling method based on multi-core DSP |
CN105446934A (en) * | 2014-08-14 | 2016-03-30 | 南京理工大学 | Moving-target and constant false-alarm rate detection system based on multi-core DSP |
CN104216813A (en) * | 2014-09-02 | 2014-12-17 | 迈普通信技术股份有限公司 | Method and device for monitoring states of slave cores |
CN104750228A (en) * | 2015-03-26 | 2015-07-01 | 广东欧珀移动通信有限公司 | Method and device for reducing power consumption of multi-core processor |
CN105468567A (en) * | 2015-11-24 | 2016-04-06 | 无锡江南计算技术研究所 | Isomerism many-core discrete memory access optimization method |
CN105933090A (en) * | 2016-04-14 | 2016-09-07 | 电子科技大学 | Multi-core parallel SCMA decoding system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7694111B2 (en) | Processor employing loadable configuration parameters to reduce or eliminate setup and pipeline delays in a pipeline system | |
US9104491B2 (en) | Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources | |
CN104778074A (en) | Calculation task processing method and device | |
US20110022809A1 (en) | Consolidated electronic control unit and relay program implemented in the same | |
US11231963B2 (en) | Methods and apparatus to enable out-of-order pipelined execution of static mapping of a workload | |
CN110502294A (en) | The method, apparatus and electronic equipment of data processing | |
EP2615546A1 (en) | Method and system, scheduler for parallel simulating processors | |
CN107463357B (en) | Task scheduling system, scheduling method, braking simulation system and simulation method | |
US20200167192A1 (en) | Reordering avoidance for flows during transition between slow-path handling and fast-path handling | |
JP6428476B2 (en) | Parallelizing compilation method and parallelizing compiler | |
JP2011107042A (en) | Vehicle diagnosis device | |
US20210194720A1 (en) | Method and device for operating a control unit | |
CN108196995B (en) | Method and equipment for determining average duration of processing tasks | |
WO2015182295A1 (en) | Vehicle control apparatus | |
CN111679900B (en) | Task processing method and device | |
JP2014191655A (en) | Multiprocessor, electronic control device, and program | |
CN107885585A (en) | A kind of dynamic task scheduling device in multinuclear electronic control unit | |
US20170090982A1 (en) | Dynamic task scheduler in a multi-core electronic control unit | |
EP3779778A1 (en) | Methods and apparatus to enable dynamic processing of a predefined workload | |
CN103810037A (en) | Job scheduling method and computing device | |
CN101996105A (en) | Static software/hardware task dividing and dispatching method for reconfigurable computing platform | |
US9760969B2 (en) | Graphic processing system and method thereof | |
EP4328748A1 (en) | Data processing method and apparatus, computer device, computer-readable storage medium, and computer program product | |
CN111381946B (en) | Task processing method and device and related products | |
CN106874129A (en) | A kind of operating system process scheduling order determines method and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |