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 PDF

Info

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
Application number
CN201611271500.4A
Other languages
Chinese (zh)
Inventor
S·戈文达拉詹
M·戈帕尔
R·P·科萨拉兰
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.)
Robert Bosch GmbH
Bosch Global Software Technologies Pvt Ltd
Original Assignee
Robert Bosch GmbH
Robert Bosch Engineering and Business Solutions Pvt Ltd
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 Robert Bosch GmbH, Robert Bosch Engineering and Business Solutions Pvt Ltd filed Critical Robert Bosch GmbH
Priority to CN201611271500.4A priority Critical patent/CN107885585A/en
Publication of CN107885585A publication Critical patent/CN107885585A/en
Pending legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling 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

A kind of dynamic task scheduling device in multinuclear electronic control unit
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.
CN201611271500.4A 2016-09-30 2016-09-30 A kind of dynamic task scheduling device in multinuclear electronic control unit Pending CN107885585A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (16)

* Cited by examiner, † Cited by third party
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