Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Имитационное моделирование как метод исследования вычислительных систем

Предмет: 
Тип роботи: 
Контрольна робота
К-сть сторінок: 
40
Мова: 
Русский
Оцінка: 

на промежутки времени произвольной длины.

Узлы выполняют в сетевых моделях следующие функции управления потоками заявок: 1) размножение потока заявок на заданное число параллельных потоков, идентичных потоку, входящему в узел; 2) переключение заявок с заданной вероятностью или в соответствии с типом входящих заявок на одно из заданных направлений; 3) объединение размноженных потоков (синхронизацию потоков); 4) формирование маршрута прохождения заявок в сети непосредственно в ходе моделирования с учетом состояния, в котором находится сеть; 5) модификацию параметров заявок. Для выполнения этих функций вводится шесть типов узлов, условные обозначения которых показаны на рис. 10.4. Тип узла задается буквенным наименованием.
Узлы типа D. Узлы типа D служат для размножения потока, входящего в узел, на произвольное число потоков. Характеристики выходящих потоков идентичны характеристикам потока, входящего в узел типа D. Узлы этого типа образуют копии входящих заявок на каждом из своих выходов. Узлы типа D используются для имитации обслуживания заявок, требующих одновременного использования нескольких ресурсов. Параметры заявок-копий, включая параметры Т0 и TS, идентичны параметрам заявки, входящей в узел.
Исключение составляет параметр LINK, значения которого у заявок-копий различны. Описание узла типа D имеет вид набора параметров: D, NAME, Nl , N2,..., NP, где D — признак типа узла; NAME — символическое имя узла; N1, N2,..., Np — символические имена элементов сети, связанных с выходами узла.
Узлы типа S. Узлы типа S (синхронизирующие узлы) используются для исключения заявок-копий, образованных в узлах типа D. Заявка на выходе узла типа S появляется только при наличии копий конкретной заявки соответствующего типа на всех входах узла. Появление заявки на выходе узла типа S свидетельствует о прохождении заявками-копиями их маршрутов, т. е. о достижении сетью состояния, требуемого для дальнейшего продвижения заявки в сети. В любой сети узлы типа S используются только совместно с узлами типа D. Описание узла типа S представляется набором параметров: S, NAME, TYPE, где S — признак типа узла; NAME — символическое имя узла; TYPE — тип синхронизируемых заявок. Поступление на вход узла типа S заявки, тип которой не совпадает с указанным в описании, свидетельствует о некорректности модели.
Использование узлов типа D и S в СИМ иллюстрируется следующим примером.
Фрагмент сети, имитирующей работу ВС, показан на рис. 10.5. Оперативная память и файл общего пользования представляются в сети элементами памяти с именами CORE и FILE соответственно. Процессор представляется устройством с именем CPU. В узле типа D с символическим именем D1 входной поток размножается и направляется на элементы памяти CORE и FILE. Как только требуемая память предоставляется образованным копиям, на выходе синхронизирующего узла с символическим именем S1 появляется заявка, запрашивающая процессор. При соответствующих условиях заявка занимает процессор и обслуживается в течение заданного времени, используя все три ресурса. По завершении обслуживания заявка освобождает устройство CPU. Пройдя через элементы освобождения памяти с символическими именами L1 и L2, заявка освобождает предоставленную ей оперативную память и файл.
 
Реализация узла типа S в среде MATLAB
 
Prompt Type Variable
Quantity Ins Edit QIns
Initialization commands
set_param( gcb, 'ReferenceBlock', '' )
global k
k=str2num(get_param(gcb,'QIns'))
OldK=str2num(get_param(strcat(gcb,'/Old'),'Value'));
if k>OldK
for i=OldK+1:k
set_param(strcat(gcb,'/Mux'),'inputs',num2str(QIns))
add_block( 'Librs/In1' , strcat( gcb, '/In' , num2str( i ) ) )
add_line( gcb, strcat( 'In' , num2str( i ) , '/1' ), strcat( 'Mux/', num2str( i ) ) )
end
else
for i=k+1:OldK
delete_line( gcb, strcat( 'In' , num2str( i ) , '/1' ), strcat( 'Mux/', num2str( i ) ) )
delete_block( strcat( gcb, '/In' , num2str( i ) ) )
end
set_param(strcat(gcb,'/Mux'),'inputs',num2str(QIns))
end
set_param(strcat(gcb,'/Old'),'Value',num2str(k))
return
 
function M=hub_s(u)
global k;
flag=1;
for i=1:k-1
for j=1:4
if u(j)~=u(4*i+j)
flag=0;
break
end
end
end
if flag==0 
M=[0 0 0 0]
else
M=[u(1) u(2) u(3) u(4)] 
end
return
 
Узлы типа R. Эти узлы используются для переключения заявок входного потока на любое из заданных направлений в соответствии с типом заявок, входящих в узел. В узлах типа R производится разделение потока, образованного разнотипными заявками, на ряд потоков, содержащих заявки одного или нескольких типов. Поступление на вход узла типа R заявки, тип которой не приписан ни к одному из выходов узла, свидетельствует о некорректности модели. Описание узла типа R задается набором параметров: R, NAME, NAMEV, TYPE1, TYPE2,..., TYPEN, где R-признак типа узла; NAME — символическое имя узла; NAMEV — символическое имя элемента, связанного с выходом узла; TYPE1, TYPE2,..., TYPEN — тип заявок, направляемых на данный выход. Совокупность параметров NAMEV, TYPE1, TYPE2,..., TYPEN должна быть задана в списке для каждого из выходов узла.
 
Реализация узла типа R в среде MATLAB
 
Prompt Type Variable
Quantity Outs Edit QOuts
Initialization commands
set_param( gcb, 'ReferenceBlock', '' )
k= length( QOuts )
OldK=str2num(get_param(strcat(gcb,'/Old'),'Value'))
if k>OldK
for i=OldK+1:k
add_block( strcat( 'Librs/Relational', char(13),
Фото Капча