Научная статья на тему 'Динамический метод планирования в многопоточной системе реального времени'

Динамический метод планирования в многопоточной системе реального времени Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
254
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЛАНИРОВЩИК ЗАДАЧ / МНОГОПОТОЧНАЯ СИСТЕМА / ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ВРЕМЕНИ / ASK SCHEDULER / MULTITHREADED SYSTEM / DYNAMIC TIME ALLOCATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Данилов Олег Владимирович

В статье анализируются методы управления потоками планировщика задач в многопоточной системе реального времени. Описана проблема организации машинного времени в высоконагруженных системах с высоким уровнем важности задач. Рассмотрен метод выстраивания очереди на выполнение критически важных задач потоков с высоким уровнем приоритета на выполнение. Представленные статический и динамический методы распределения машинного времени сравнены на примере заданного списка задач, рассмотрена эффективность выполнения каждого отдельного метода.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Динамический метод планирования в многопоточной системе реального времени»

ДИНАМИЧЕСКИЙ МЕТОД ПЛАНИРОВАНИЯ В МНОГОПОТОЧНОЙ СИСТЕМЕ РЕАЛЬНОГО ВРЕМЕНИ Данилов О.В. Email: Danilov17118@scientifictext.ru

Данилов Олег Владимирович - специалист по защите информации в автоматизированных системах, кафедра вычислительной техники, Чувашский государственный университет им. И.Н. Ульянова, г. Чебоксары

Аннотация: в статье анализируются методы управления потоками планировщика задач в многопоточной системе реального времени. Описана проблема организации машинного времени в высоконагруженных системах с высоким уровнем важности задач. Рассмотрен метод выстраивания очереди на выполнение критически важных задач потоков с высоким уровнем приоритета на выполнение. Представленные статический и динамический методы распределения машинного времени сравнены на примере заданного списка задач, рассмотрена эффективность выполнения каждого отдельного метода.

Ключевые слова: планировщик задач, многопоточная система, динамическое распределение времени.

DYNAMIC METHOD OF PLANNING IN A MULTITHREADING SYSTEM OF REAL TIME Danilov O.V.

Danilov Oleg Vladimirovich - Specialist in Information Protection in Automated Systems, DEPARTMENT OF COMPUTER ENGINEERING, CHUVASH STATE UNIVERSITY NAMED BY I.N. ULYANOV, CHEBOKSARY

Abstract: the article analyzes the methods for managing scheduler threads in a multithreaded real-time system. The problem of organizing computer time in highly loaded systems with a high level of importance ofproblems is described. The method of line-up for critical tasks with a high priority level for implementation is considered. The presented static and dynamic methods for the distribution of computer time, comparisons on the example of a given list of tasks, the considered implementation of each individual method. Keywords: ask scheduler, multi-threaded system, dynamic time allocation.

УДК: 004.451.26

Планировщик задач - модуль программы, отвечающий за своевременный запуск процессов на выполнение ряда задач, переключение, отключение, приостановление по критериям, и принимающий решения в различных ситуациях, например: Время выполнения задачи истекло; На выполнение поступила задача с высоким приоритетом, например, сигнал о сбое или иное; Конфликт (борьба) между процессами за процессорное время; Очередь отложенных задач; Выделение приоритета выполняющейся задачи или поступившей. Планировщик задач [1, с. 178] - важная часть программы, в многозадачных приложениях. Рассмотрим пример поведения трех процессов (модули температуры, влажности, концентрации газа) в такой модели: Процесс T (temperature) - модуль, отвечающий за показания температуры. Запускается каждые 3 секунды, время выполнения 1 секунда; Процесс H (humidity) - модуль, отвечающий за показания влажности; Процесс G (gas) -модуль, отвечающий за показания концентрации газа. Моделирование общей работы процессов во времени отображено на рисунке 1, на 9 секунде появляется проблема выделения процессорного времени. Процесс В, задача В3 не завершила свою работу, так как крайний срок для этой задачи будет на момент начала 12 секунды. А процесс

Т, задача Т4 не может начать из-за этого. Если не выделить время этой задачи на выполнение, то во всех процессах, все задачи начнут смещаться во времени, от этого время сдвига относительна начальной тактики планирования со времени будет только накапливаться. Что в перспективе дает очень большую задержку. В такой модели невозможно обеспечить своевременное реагирование на экстренные вызовы. В общем смысле спланировать работу процессов возможно двумя методами: Статический метод планирования - приоритет для каждого процесса назначается заранее; Динамический метод планирования - приоритет может быть пересмотрен в ходе выполнения процессов. Прежде чем выбрать статический метод планирования, необходимо убедиться, что процессы удовлетворяют ряду требований: Задача процесса должна быть завершена в срок, за время его планирования; Процессы не должны зависеть од других процессов; Каждой задаче необходимо одинаковое время на выполнение каждого интервала; Для непериодических задач нет жесткого планирования сроков выполнения; По истечении времени интервала, процесс или задача мгновенно прерывается. Рассмотрим данный метод на примере (рисунок 1) тех же трех процессов, модулей отвечающий за отображение показаний с сенсоров: Процесс T (temperature) - модуль, отвечающий за показания температуры. Запускается каждые 3 сек., время выполнения 1 секунда; Процесс H (humidity) -модуль, отвечающий за показания влажности. Запускается каждые 4 сек., время выполнения 1,5 сек.; Процесс G (gas) - модуль, отвечающий за показания концентрации газа. Запускается каждые 5 сек., время выполнения 0,5 сек. В первые 7 сек. распределение времени на задачи проходит без конфликтов. На 8 секунде процесс модуля влажности, запускает задачу В3. Эта задача не успевает завершиться, до начала задачи Т4, процесса модуля температуры. В общем алгоритме планировщика времени произошел бы конфликт. В статическом алгоритме по истечению времени интервала задача прерывается, в то время как приходит очередь другой задачи. В данном примере задача В3 отработав только 1 секунду, при необходимых 1,5 секундах, уступает процессорное время задаче Т4, т.к. пришла очередь выполнения этой задачи. После завершения задачи А4, наступает время выполнения задачи Г3, процесса модуля газа. В этой ситуации на момент начала 10 секунды, есть незавершенная задача В3 и новая Г3. Время на выполнения и продолжения до завершения этих задач одинаково, но приоритет отдается задаче Г3. Такой алгоритм направлен на своевременный запуск задач. В динамическом методе планирования задач наибольший приоритет получает задача, время на выполнения которой, осталось меньше, чем время выполнения другой задачи. Рассмотрим данный метод на примере трех процессов (рисунок 2). Из примера видно, что до 8 секунды, распределение времени ничем не отличается от статического метода. С начала 8 секунды происходит следующее, задача В3 запускается первой, не успевает выполниться полностью, как на 10 секунде приходит время выполнения задачи Т4. Далее планировщик решает, кому отдать приоритет. Сначала оценивает время, которое необходимо для завершения задачи В3 и сравнивает с необходимым временем на выполнение задачи Т4. В этом споре побеждает задача В3 и получает приоритет выше, чем задача Т4. После завершения на 9,5 секунде начинает выполняться задача Т4 и через 0,5 секунды приходит очередь на выполнение задачи Г3. Ситуация решается аналогичным образом. После оценки времени на полное завершение задачи Т4 и полное выполнение задачи Г3, оказывается, что время одинаково. В этом случае планировщик по данному методу, отдает приоритет задаче, которая уже выполняется и поэтому сначала выполнится задача Т4, а затем Г3. Динамический метод наиболее эффективен в задачах планирования времени в многопоточных системах.

Рис. 1. Пример работы алгоритма статического планирования

Рис. 2. Метод динамического распределения времени Список литературы /References 1. Tanenbaum A.S. Modern Operating Systems, 2017.

i Надоели баннеры? Вы всегда можете отключить рекламу.