Недетерминированные автоматы в проектировании систем параллельной обработки. Вашкевич Н.П. - 168 стр.

UptoLike

Составители: 

168
В случае, если в многопроцессорной ВС необходимо использовать
время ожидания обращения к разделяемым данным в каком-либо i
процессе для решения других задач (реализуемых подпроцессом), не
требующих обращения к разделяемым данным, то событие, инициирующее
выполнение такого подпроцесса можно представить в следующем виде
(рис.6.3):
,)1(
дрЗ,ддр
S
S
S
SS
t
S
i
p
i
i
k
i
i
i
(6.15)
где
S
i
З,д
- сокращенное обозначение события, определяющего заявку на
реализацию подпроцесса в i-м процессе.
П р и м е р 6.1. Построить систему уравнений для событий
S
i
пр
,
определяющих приоритетность доступа к разделяемым критическим
ресурсам для 3-х параллельных процессов при циклической дисциплине
обслуживания, и событий
S
i
вз
, обеспечивающих взаимоисключение
критических интервалов.
На основании уравнений (6.10), (6.11) и (6.12) и учитывая при этом
примечания относительно определения индексов событий, представленных в
них, получим следующие представления искомых событий для i=1,2,3:
.,,
],[)1(
],[)1(
],[)1(
21
3
вз
31
2
вз
32
1
вз
2
З,2
1
З,2З,1
3
З,3
З,2З,1
З,30
3
пр
1
З,1
3
З,3З,1
2
З,2
З,1
З,20
2
пр
3
З,3
2
З,3З,2
1
З,1З,10
1
пр
SS
S
SS
S
SS
S
S
S
S
SS
SS
SS
SxS
t
S
S
S
S
SS
SS
S
SxS
t
S
S
S
S
SS
SSSxS
t
S
kkkkkk
pkpkpkn
pkpkpkn
pkpkpkn
6.5. Формализация алгоритма управления
взаимодействующими параллельными процессами
в задаче «производители-потребители»
Задача «производители-потребители»
является одной из классических
задач синхронизации двух асинхронных процессов: процесс производитель
(например, процессор) вырабатывает символы (слова), которые должны быть
переданы другому процессу – потребителю (например, печать). Так как
интенсивность воспроизведения и потребления символов (слов) различная,
то требуется обеспечить передачу символов (слов) с согласованием их
интенсивностей [67,70,72]. Процессы взаимодействуют через некоторую
обобщенную область памяти – согласующий буфер сообщений. В эту область
памяти процесс-производитель помещает очередное сообщение, а процесс-
потребитель считывает очередное сообщение. В общем случае буфер
способен хранить несколько сообщений. Необходимо согласовать работу
двух процессов при одностороннем обмене сообщениями по мере развития
процессов таким образом, чтобы удовлетворить следующие требования:
        В случае, если в многопроцессорной ВС необходимо использовать
    время ожидания обращения к разделяемым данным в каком-либо i-м
    процессе для решения других задач (реализуемых подпроцессом), не
 требующих обращения к разделяемым данным, то событие, инициирующее
   выполнение такого подпроцесса можно представить в следующем виде
                                 (рис.6.3):
                                     i                  i        i           i   i
                                   S др (t  1)  S i S д ,З S k  S др S p ,                        (6.15)
  где S iд ,З - сокращенное обозначение события, определяющего заявку на
                     реализацию подпроцесса в i-м процессе.
         П р и м е р 6.1. Построить систему уравнений для событий S iпр ,
    определяющих приоритетность доступа к разделяемым критическим
  ресурсам для 3-х параллельных процессов при циклической дисциплине
    обслуживания, и событий S iвз , обеспечивающих взаимоисключение
                          критических интервалов.
        На основании уравнений (6.10), (6.11) и (6.12) и учитывая при этом
примечания относительно определения индексов событий, представленных в
   них, получим следующие представления искомых событий для i=1,2,3:
         1                                       1                           2           3
        S пр (t  1)  S 0 xn S1,З  S1,З [S pk S 2,З S 3,З  S pk S 3,З  S pk ],
          2                                            2                         3           1
        S пр (t  1)  S 0 xn S 2,З S 1,З  S 2,З [ S pk S 1,З S 3,З  S pk S 1,З  S pk ],
          3                                                  3                       1           2
        S пр (t  1)  S 0 xn S 3,З S 1,З S 2,З  S 3,З [ S pk S 1,З S 2,З  S pk S 2,З  S pk ],
         1       2   3         2         1   3         3             1   2
        S вз  S k S k ,     S вз  S k S k ,        S вз  S k S k .

             6.5. Формализация алгоритма управления
         взаимодействующими параллельными процессами
              в задаче «производители-потребители»
       Задача «производители-потребители» является одной из классических
 задач синхронизации двух асинхронных процессов: процесс производитель
(например, процессор) вырабатывает символы (слова), которые должны быть
   переданы другому процессу – потребителю (например, печать). Так как
 интенсивность воспроизведения и потребления символов (слов) различная,
    то требуется обеспечить передачу символов (слов) с согласованием их
  интенсивностей [67,70,72]. Процессы взаимодействуют через некоторую
обобщенную область памяти – согласующий буфер сообщений. В эту область
 памяти процесс-производитель помещает очередное сообщение, а процесс-
     потребитель считывает очередное сообщение. В общем случае буфер
  способен хранить несколько сообщений. Необходимо согласовать работу
 двух процессов при одностороннем обмене сообщениями по мере развития
   процессов таким образом, чтобы удовлетворить следующие требования:

                                                                                                         168