RU2015147897A - Способ выполнения задач в критической системе реального времени - Google Patents

Способ выполнения задач в критической системе реального времени Download PDF

Info

Publication number
RU2015147897A
RU2015147897A RU2015147897A RU2015147897A RU2015147897A RU 2015147897 A RU2015147897 A RU 2015147897A RU 2015147897 A RU2015147897 A RU 2015147897A RU 2015147897 A RU2015147897 A RU 2015147897A RU 2015147897 A RU2015147897 A RU 2015147897A
Authority
RU
Russia
Prior art keywords
processes
alternative
partial
time
node
Prior art date
Application number
RU2015147897A
Other languages
English (en)
Other versions
RU2660614C2 (ru
Inventor
Венсан ДАВИД
Original Assignee
Кроно-Сейф
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 Кроно-Сейф filed Critical Кроно-Сейф
Publication of RU2015147897A publication Critical patent/RU2015147897A/ru
Application granted granted Critical
Publication of RU2660614C2 publication Critical patent/RU2660614C2/ru

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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Claims (31)

1. Способ автономного планирования процессов, образующих задачу, соответствующую гибкой модели для многозадачной системы реального времени, причем способ содержит следующие этапы, выполняемые цепочкой инструментов для компиляции исходного кода, определяющего задачу, на которых:
a) присваивают каждому процессу потребность в аппаратном ресурсе и временное ограничение;
b) выделяют для каждого процесса временной интервал, имеющий продолжительность, соответствующую временному ограничению процесса;
c) идентифицируют точку ветвления, в которой принимается решение о выполнении одного или другого из двух альтернативных процессов;
d) выделяют для двух альтернативных процессов общий временной интервал;
e) присваивают общему временному интервалу потребность в ресурсе, соответствующую большей из потребностей в ресурсах двух альтернативных процессов;
f) повторяют этапы с этапа с) для каждой точки ветвления;
g) организуют получающиеся временные интервалы в шаблоне выполнения, связанном с задачей; и
h) получают параметры статического планирования для многозадачной системы из шаблона выполнения.
2. Способ по п. 1, в котором исходный код представляет собой задачу в виде графа, определяющего набор процессов, соединенных переходными узлами, причем каждый переходной узел определяет точку синхронизации согласно временному базису во время выполнения задачи на многозадачной системе, причем способ содержит этапы, на которых:
определяют пределы временного интервала, выделенного для каждого процесса, из исходного переходного узла и переходного узла назначения процесса;
для двух альтернативных процессов, которые имеют общий исходный узел и два соответственных целевых узла, объединяют два целевых узла в объединенный целевой узел; и
определяют временной интервал, общий для обоих альтернативных процессов, из общего исходного узла и объединенного целевого узла.
3. Способ по п. 2, содержащий для двух альтернативных процессов, имеющих на этапе с) различные временные ограничения, следующие этапы, на которых:
создают промежуточный переходной узел в первом из двух альтернативных процессов, имеющем самое длительное временное ограничение, приводящий к первому частичному альтернативному процессу между исходным узлом и промежуточным узлом и ко второму частичному процессу между промежуточным узлом и целевым узлом первого альтернативного процесса;
присваивают первому частичному альтернативному процессу первую потребность в ресурсе и временное ограничение, соответствующее временному ограничению второго альтернативного процесса;
присваивают второму частичному процессу вторую потребность в ресурсе так, что сумма первой и второй потребностей в ресурсах соответствует потребности в ресурсе первого альтернативного процесса, и временное ограничение, соответствующее разнице временных ограничений двух альтернативных процессов; и
приступают к первому частичному альтернативному процессу и второму альтернативному процессу согласно этапу d).
4. Способ выполнения планируемой задачи по п. 3, содержащий следующие этапы, выполняемые в многозадачной системе, на которых:
в каждом временном интервале проверяют с помощью сторожевого процесса, что выполнение текущего процесса соответствует потребности в ресурсе, присвоенной для временного интервала; и
исключают сигнализирование об ошибке сторожевым процессом, если выполнение текущего процесса превышает потребность в ресурсе, и текущий процесс представляет собой первый частичный альтернативный процесс.
5. Способ по п. 4, содержащий этапы, на которых:
устанавливают переменную состояния при выполнении первого частичного альтернативного процесса;
исключают сигнализирование об ошибке сторожевым процессом, если выполнение текущего процесса превышает потребность в ресурсе, и переменная состояния установлена; и
очищают переменную состояния в точке синхронизации, соответствующей объединенному целевому узлу.
6. Способ по п. 3, содержащий следующие этапы для циклического участка графа, на которых:
разделяют каждый процесс, имеющий более длительное временное ограничение в наборе частичных процессов, имеющих более короткое временное ограничение, которое является наибольшим общим делителем временных ограничений в циклическом участке, посредством чего циклический участок графа преобразуется в нормализованный подграф, определяющий последовательность полных или частичных процессов, все из которых имеют одинаковое нормализованное временное ограничение; и
распределяют потребность в ресурсе каждого процесса, имеющего более длительное временное ограничение, между соответствующими частичными процессами, посредством чего сумма потребностей в ресурсах частичных процессов соответствует потребности в ресурсе процесса, имеющего более длительное временное ограничение.
7. Способ по п. 6, содержащий этапы, на которых:
накладывают конец первого участка подграфа на начало участка подграфа так, что переходные узлы конца первого участка подграфа совпадают с соответственными узлами начала второго участка подграфа, посредством чего две последовательные пары совпадающих узлов определяют временной интервал, общий для процессов, имеющих в качестве соответственных начальных адресов два узла первой пары; и
присваивают общему временному интервалу таким образом определенную потребность в ресурсе, соответствующую наибольшим потребностям в ресурсах процессов, связанных с первой парой узлов, и временное ограничение, соответствующее нормализованному временному ограничению.
RU2015147897A 2013-04-09 2014-03-17 Способ выполнения задач в критической системе реального времени RU2660614C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1353203A FR3004274A1 (fr) 2013-04-09 2013-04-09 Procede d'execution de taches dans un systeme temps-reel critique
FR1353203 2013-04-09
PCT/FR2014/050612 WO2014167197A1 (fr) 2013-04-09 2014-03-17 Procédé d'exécution de taches dans un system temps-réel critique

Publications (2)

Publication Number Publication Date
RU2015147897A true RU2015147897A (ru) 2017-05-16
RU2660614C2 RU2660614C2 (ru) 2018-07-06

Family

ID=48906285

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015147897A RU2660614C2 (ru) 2013-04-09 2014-03-17 Способ выполнения задач в критической системе реального времени

Country Status (11)

Country Link
US (1) US9946575B2 (ru)
EP (1) EP2984565B1 (ru)
JP (1) JP6524064B2 (ru)
KR (1) KR102178574B1 (ru)
CN (1) CN105144104B (ru)
AU (1) AU2014252942A1 (ru)
BR (1) BR112015025326B1 (ru)
CA (1) CA2907808C (ru)
FR (1) FR3004274A1 (ru)
RU (1) RU2660614C2 (ru)
WO (1) WO2014167197A1 (ru)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740529B1 (en) * 2013-12-05 2017-08-22 The Mathworks, Inc. High throughput synchronous resource-constrained scheduling for model-based design
CN105912390A (zh) * 2016-04-07 2016-08-31 四川大学 云计算环境下基于模板的任务调度策略
US11243949B2 (en) 2017-04-21 2022-02-08 Microsoft Technology Licensing, Llc Query execution across multiple graphs
FR3072197B1 (fr) * 2017-10-10 2019-10-11 Krono-Safe Procede d'execution de plans de sequencement assurant une communication a faible latence entre taches temps-reel
FR3084187B1 (fr) * 2018-07-18 2021-01-01 Commissariat Energie Atomique Procede d'acceleration de l'execution d'un programme a chemin unique par execution en parallele de sequences conditionnellement concurrentes
CN109460277B (zh) * 2018-10-30 2022-08-05 北京小米移动软件有限公司 商品抢购流程的展示方法及装置
US11244106B2 (en) * 2019-07-03 2022-02-08 Microsoft Technology Licensing, Llc Task templates and social task discovery
RU2751441C1 (ru) * 2020-09-11 2021-07-13 Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет имени М.В.Ломоносова» (МГУ) Способ формирования вычислительного комплекса
US11726817B2 (en) 2020-09-25 2023-08-15 Red Hat, Inc. Scheduling multiple processes with varying delay sensitivity
DE102020214144A1 (de) 2020-11-11 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Überwachen zyklischer Aufgaben in Maschinensteuerung

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2816730B1 (fr) 2000-11-13 2004-10-15 Commissariat Energie Atomique Procede de securisation rendant deterministe l'execution en temps reel d'applications multitaches du type controle- commande avec confinement d'erreur
RU2239228C2 (ru) * 2001-07-05 2004-10-27 Всероссийский научно-исследовательский институт автоматики Способ распределения времени центрального процессора между задачами в автоматизированных системах управления технологическими процессами
US7614037B2 (en) * 2004-05-21 2009-11-03 Microsoft Corporation Method and system for graph analysis and synchronization
KR20070031307A (ko) * 2004-05-27 2007-03-19 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 신호 스트림 처리 작업의 조합을 실행하기 위한 방법, 장치및 시스템, 실행 파라미터를 계산하는 방법 및 장치,컴퓨터 프로그램 제품
FR2873830B1 (fr) * 2004-07-30 2008-02-22 Commissariat Energie Atomique Procede d'ordonnancement de traitement de taches et dispositif pour mettre en oeuvre le procede
GB0513045D0 (en) * 2005-06-27 2005-08-03 Vidus Ltd Resource scheduling method and system
FR2893156B1 (fr) * 2005-11-04 2008-02-15 Commissariat Energie Atomique Procede et systeme de calcul intensif multitache et multiflot en temps reel.
CN100580632C (zh) * 2008-02-22 2010-01-13 浙江大学 嵌入式系统rm低功耗调度中松弛时间在线重分配方法
US8214245B2 (en) * 2009-05-04 2012-07-03 International Business Machines Corporation Method and system for synchronizing inclusive decision branches
US8606377B2 (en) 2009-07-23 2013-12-10 Biosense Webster, Inc. Preventing disruptive computer events during medical procedures
JP5069325B2 (ja) 2010-03-11 2012-11-07 株式会社豊田中央研究所 タスク実行制御装置及びプログラム
EP2568346B1 (en) * 2011-09-06 2015-12-30 Airbus Operations Robust system control method with short execution deadlines

Also Published As

Publication number Publication date
AU2014252942A1 (en) 2015-11-19
US20160070600A1 (en) 2016-03-10
US9946575B2 (en) 2018-04-17
CN105144104B (zh) 2020-03-17
BR112015025326A2 (pt) 2017-07-18
WO2014167197A1 (fr) 2014-10-16
KR20150140708A (ko) 2015-12-16
CA2907808A1 (fr) 2014-10-16
WO2014167197A9 (fr) 2015-01-08
RU2660614C2 (ru) 2018-07-06
EP2984565A1 (fr) 2016-02-17
KR102178574B1 (ko) 2020-11-13
EP2984565B1 (fr) 2019-08-21
CA2907808C (fr) 2021-06-08
BR112015025326B1 (pt) 2022-05-03
JP6524064B2 (ja) 2019-06-05
CN105144104A (zh) 2015-12-09
FR3004274A1 (fr) 2014-10-10
JP2016519821A (ja) 2016-07-07

Similar Documents

Publication Publication Date Title
RU2015147897A (ru) Способ выполнения задач в критической системе реального времени
BR112017016467A2 (pt) computação de percurso ciente de tempo
JP6448052B2 (ja) 高速変更計画システム、高速変更計画方法および高速変更計画プログラム
WO2015126968A3 (en) Data management systems and methods
WO2016036817A4 (en) Executing graph-based program specifications
ATE551818T1 (de) Verfahren zur bereitstellung einer nachfolgerliste
BR112017020635A2 (pt) determinação de modo de derivação de informações de movimento em conversão de vídeo em código
JP2017532678A5 (ru)
BR112016007199A8 (pt) processo de diálogo entre uma máquina, tal como um robô humanoide, e um interlocutor humano, produto de programa de computador e robô humanoide para a execução de tal processo
JP2016081494A (ja) 分散コンピューティング環境におけるグラフデータの振り分け方法及び装置
EA201500176A1 (ru) Способ обработки рабочего процесса машиной состояний
US9391875B2 (en) Resource oriented dependency graph for network configuration
EP2950212A3 (en) Parallel computer system and method for controlling parallel computer system
JP2016071886A5 (ru)
Romanova et al. Complexity of cyclic job shop scheduling problems for identical jobs with no-wait constraints
MX2020009779A (es) Sistema y metodo para gestion de recursos y asignacion de recursos en una red auto-optimizante de nodos de procesamiento heterogeneos.
MX2019005534A (es) Metodo y sistema para fabricacion distribuida.
JP6234916B2 (ja) ネットワークシステムおよびその制御方法
SE1751168A1 (en) Evaluation of developer organizations
CN104572132A (zh) 一种程序版本差异确定方法及装置
MX2020010009A (es) Técnicas para el diseño de reparación de antientropía programada.
JPWO2016151808A1 (ja) 部品の取替周期算出装置および取替周期算出方法
RU2020123319A (ru) Динамическое выделение неоднородных вычислительных ресурсов, определяемое во время выполнения приложения
AT514673A3 (de) Verfahren zum Steuern einer Fertigungsanlage
Fiske Consecutive Repeating State Cycles Determine Periodic Points in a Turing Machine