Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: L Международной научно-практической конференции «Инновации в науке» (Россия, г. Новосибирск, 28 октября 2015 г.)

Наука: Технические науки

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Карасева Е.А. МАТЕМАТИЧЕСКИЕ МОДЕЛИ ДЛЯ КАЧЕСТВЕННОЙ ОЦЕНКИ ПРОИЗВОДИТЕЛЬНОСТИ СЕМАФОРОВ МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ // Инновации в науке: сб. ст. по матер. L междунар. науч.-практ. конф. № 10(47). – Новосибирск: СибАК, 2015.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов


 


МАТЕМАТИЧЕСКИЕ  МОДЕЛИ  ДЛЯ  КАЧЕСТВЕННОЙ  ОЦЕНКИ  ПРОИЗВОДИТЕЛЬНОСТИ  СЕМАФОРОВ  МНОГОПРОЦЕССОРНЫХ  ВЫЧИСЛИТЕЛЬНЫХ  СИСТЕМ


Мартышкин  Алексей  Иванович


канд.  техн.  наук,  доцент  кафедры  Вычислительных  машин  и  систем


Пензенского  государственного  технологического  университета, 
РФ,  г.  Пенза


E-mailAlexey314@yandex.ru


Карасева  Елена  Александровна


магистрант  кафедры  Вычислительных  машин  и  систем


Пензенского  государственного  технологического  университета, 
РФ,  г.  Пенза


E-mail: 


 


MATHEMATICAL  MODEL  FOR  QUALITATIVELY  ASSESS  THE  PERFORMANCE  OF  SEMAPHORES  OF  MULTIPROCESSOR  COMPUTING  SYSTEMS


Alexey  Martyshkin


candidate  of  Science,  assistant  professor  Department  of  Computational  Systems  and  Machines 
of  Penza  State  Technological  University, 
Russia,  Penza


Elena  Karaseva


master  student  Department  of  Computational  Systems  and  Machines 
of  Penza  State  Technological  University, 
Russia,  Penza


 


Работа  выполнена  при  финансовой  поддержке  стипендии  Президента  РФ  молодым  ученым  и  аспирантам  на  2015—2017  гг.  (СП-828.2015.5)


 


АННОТАЦИЯ


В  статье  рассмотрены  математические  модели  управления  доступом  множества  процессов,  выполняющихся  на  множестве  процессоров,  к  общему  ресурсу  на  основе  стратегий  спин-блокировки  и  блокировки  в  ядре.


ABSTRACT


The  article  considers  mathematical  models  of  access  control  of  multiple  processes  running  on  multiple  processors  to  a  shared  resource  based  on  strategies  for  spin  locks  and  blocking  in  the  kernel.


 


Ключевые  слова:  многопроцессорная  вычислительная  система;  параллельные  процессы;  семафор;  общий  ресурс;  критическая  секция;  латентность;  блокировки  в  ядре;  спин-блокировка.


Keywords:  multiprocessor  computer  systems;  parallel  processes;  semaphore;  shared  resource;  critical  section;  latency;  locking  in  the  kernel;  spin  lock.


 


Семафоры  применяют  для  координации  доступа  к  одиночному  общему  ресурсу  (ОР),  или  фиксированному  множеству  ОР  несколькими  параллельными  процессами  [2].  Проблема  производительности  семафоров  заключается  в  том,  что  во  взаимодействующих  процессах  возникают  одновременные  требования  доступа  к  ОР,  которые  приводят  к  конфликтным  ситуациям,  а  они  в  свою  очередь  приводят  к  потерям  общей  производительности  операционной  системы  (ОС).  Наиболее  характерно  это  проявляется  в  многопроцессорных  вычислительных  системах  (МПВС),  когда  взаимодействующие  процессы  реализуются  в  независимых  процессорах  (ЦП),  функционирующих  в  мультипрограммном  режиме.  Если  ресурс  требуется  слишком  большому  числу  ЦП,  то  они  ставятся  в  очередь.  При  этом  запросы  обслуживаются  по  принципу  FIFO  или  по  приоритетам.


Различают  методы  управления  доступом  к  ОР  в  пространстве  пользователя  и  в  пространстве  ядра  ОС.  Механизм  критических  секций  (КС)  заключается  в  том,  что  если  процесс,  пытающийся  получить  доступ  к  ОР,  находит  его  занятым,  то  он  должен  ждать  освобождения  ОР.  Это  ожидание  может  быть  организовано  следующими  способами:  1)  находясь  в  активном  ожидании,  т.е.  процесс  занимает  некоторый  ЦП,  непрерывно  пытаясь  получить  доступ  к  своей  КС;  2)  процесс  должен,  освободив  ЦП,  перейти  в  состояние  блокировки  до  тех  пор,  пока  не  будут  одновременно  свободны  КС  и  ЦП.  Первая  из  приведенных  выше  стратегий  реализуется  в  пространстве  пользователя  и  носит  название  «спин-блокировки»,  вторая  —  реализуется  непосредственно  ОС  и  называется  блокировкой  в  ядре.  Недостатком  спин-блокировки  является  тот  факт,  что  ЦП,  выполняющий  соответствующий  процесс,  пребывает  в  непроизводительном  простое  в  течение  всего  времени  ожидания  доступа  к  ОР.  Блокировка  процесса  в  ядре  приводит  к  переключению  текущего  процесса  и,  следовательно,  к  возможной  перезагрузке  кэш-памяти  ЦП,  что  требует  существенных  временных  затрат  и  увеличивает  вероятность  кэш-промаха.  Перезагрузка  кэш  возникает  в  связи  с  тем,  что  после  выхода  процесса  из  состояния  блокировки  он  с  высокой  вероятностью  будет  назначен  на  другой  ЦП.  В  кэш  этого  ЦП  естественно  не  будет  блоков,  в  которых  бы  содержались  данные  рассматриваемого  процесса  [2].


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


К  рассмотрению  принята  МПВС,  ОС  которой  реализует  метод  планирования  с  разделением  пространства,  когда  каждый  процессорный  узел  (ПУ)  имеет  собственную  очередь  готовых  процессов  (ОГП).  Общая  схема  выполнения  процессов  с  учетом  обращения  к  ОР  представлена  на  рис.  1. 


 



Рисунок  1.  Общая  схема  выполнения  процессов  с  учетом  обращения  к  общему  ресурсу


 


Новые  процессы  помещаются  в  ОГП.  Каждый  процесс  из  ОГП  получает  квант  процессорного  времени,  по  истечении  которого  происходит  прерывание  текущего  процесса  и  переключение  контекста,  после  чего  текущий  процесс  с  вероятностью  p11,…,  p1n  помещается  в  конец  очереди,  а  из  очереди  выбирается  на  обслуживание  следующий  процесс.  Выполненные  процессы  с  вероятностями  p10,…,pnпокидают  ПУ.  Обращение  процессов  к  ОР,  который  обслуживается  в  КС,  происходит  с  вероятностями  [1-  (p11+  p10)],…,  [1-  (p1n+  pn0)].  Первоначально  все  запросы  на  доступ  в  КС  помещаются  во  входную  очередь  процессов  (ВОП).  На  рис.  1  показаны  два  варианта  доступа  процессов  к  ОР:  1)  с  применением  спин-блокировки,  когда  переключение  контекста  не  происходит.  Если  КС  занята,  то  процесс  сканирует  семафор  до  тех  пор,  пока  тот  не  освободится;  2)  с  применением  блокировки  в  ядре,  когда  при  занятости  семафора  происходит  немедленное  переключение  контекста  с  целью  перемещения  процесса  из  ОГП  в  очередь  ожидающих  процессов  (ООП)  и  обратно  после  освобождения  КС  [1].


Модель  управления  одиночным  общим  ресурсом. 


Стохастические  модели  для  оценки  латентности  описанных  выше  методов  доступа  к  ОР  представлены  на  рис.  2.  ПУ  выступают  в  качестве  источника  заявок,  формирующих  запросы  в  КС  каждого  процесса.  Будем  считать,  что  процессы,  выполняемые  в  ЦП,  являются  идентичными,  а  сами  ЦП  одинаковыми.  В  этом  случае  МПВС  буде  генерировать  поток  запросов  на  доступ  к  семафору  с  интенсивностью  ,  где    —  интенсивности  запросов  к  ОР  i-го  ЦП.


 



Рисунок  2.  Схемы  математических  моделей  МПВС  с  одним  ОР  на  основе  семафора  со  спин-блокировкой  (а)  и  с  блокировкой  в  ядре  (б)


 


На  рис.  2:  ЦПi  —  процессорные  узлы;  S  —  семафор;  КС  —  критическая  секция;  ПК  —  переключение  контекста;  ВОП  —  очередь  входных  процессов;  ООП  —  очередь  ожидающих  (блокированных)  процессов.


Математические  модели  представлены  в  виде  открытых  систем  массового  обслуживания  (СМО).  Первая  модель  (рис.  2а)  представлена  одноканальной  СМО,  которой  в  качестве  обслуживающих  ресурсов  выступают  время,  требуемое  процессу  на  захват  и  освобождение  семафора    и  время  работы  в  КС  .  СМО  S0  выполняет  функцию  внешнего  источника  заявок  и  поглотителя  обслуженных  заявок  [1]. 


Вторая  модель  —  стохастическая  сеть  (рис.  2б),  состоящая  из  двух  одноканальных  СМО  Sи  S2.  Здесь  поток  запросов    разделятся  на  два  подпотока    и  .  Заявки  из  потока    поступают  на  вход  СМО  S1,  моделирующую  процедуру  входа  и  обслуживания  в  КС  в  условиях  отсутствия  конкуренции.  Интенсивность  таких  запросов  составляет  .  Входная  очередь  в  СМО  Sне  образуется  в  связи  с  тем,  что  процесс,  получивший  отказ  в  обслуживании  в  КС,  немедленно  перемещается  в  ООП.  В  то  же  время  процесс,  поступивший  в  отсутствие  конкуренции,  немедленно  получает  обслуживание.  Заявки  из  потока    поступают  на  вход  СМО  S2,  моделирующую  обслуживание  запросов  в  условиях  конкуренции.  Интенсивность  таких  запросов  составляет  .  Здесь  в  модель  обслуживания  вносится  дополнительное  время,  затрачиваемые  на  переключение  контекста  ,  которое  тоже  создает  накладные  расходы,  являющиеся  непроизводительными. 


C  учетом  ранее  отмеченного  считаем,  что  время  между  подачей  запроса  на  доступ  к  КС  и  входом  в  КС  составляет  латентность  доступа  ,  а  время,  затраченное  на  захват  семафора  —  латентность  семафора  .  Обозначим  через    время  доступа  к  ОР  по  стратегии  спин-блокировки,  а  через    –  время  доступа  по  стратегии  блокировки  в  ядре  соответственно.  С  учетом  указанного  выше  латентность  доступа  по  стратегии  спин-блокировки  определится  как  время  ожидания  в  очереди  для  одноканальной  СМО  и  времени,  требуемого  на  захват/освобождение  семафора  :


 


,                                                     (1)


 


а  латентность  доступа  по  стратегии  блокировки  в  ядре: 


 


  .                                    (2)


 


Результаты  моделирования  представлены  на  графике  (рис.  3),  где  верхняя  кривая  соответствует  латентности  доступа  по  стратегии  блокировки  в  ядре,  а  нижняя  —  латентности  по  стратегии  спин-блокировки.


 



Рисунок  3.  График  результатов  моделирования


 


Очевидно,  что  при  небольшой  интенсивности  потоков  запросов  стратегия  спин-блокировки  является  оптимальной.  В  условиях  высокой  нагрузки  стратегия  блокировки  в  ядре  становится  более  предпочтительной.


 


Список  литературы:

  1. Бикташев  Р.А.  Модели  оценки  производительности  средств  синхронизации  параллельных  процессов.  //  Вопросы  радиоэлектроники,  серия  ЭВТ,  —  2010,  —  вып.  5,  —  c.  21—29.
  2. Таненбаум  Э.,  Бос  Х.  Современные  операционные  системы.  —  СПб.:  Питер,  2015.  —  1120  с.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.