Моделируемая система клиента пиринговой сети

Страницы работы

Содержание работы

Аналог моделируемой системы:

Пусть моделируемой системой будет клиент пиринговой сети. Пользователь ищет и добавляет файлы, программа их закачивает. Файлы и будут являться требованиями. Клиент имеет ограничение на одновременное количество закачек, которое в данном случае равняется трем. Каждый канал, через который может идти только одна закачка, является в терминологии моделирования систем устройством обслуживания. Пользователь также для каждого загружаемого файла выбирает приоритет, с которым тот попадет в очередь на закачку. Приоритеты соответственно бывают: наименьший, низкий, средний (нормальный), высокий, наивысший. По умолчанию каждой новой закачке выставляется приоритет «средний», однако пользователь может менять его. Чем выше приоритет – тем быстрее закачка перейдет в активную стадию, т.е. начнется ее обработка, при всех занятых каналах. Будем считать что пользователь выставляет приоритет при добавлении закачки и больше его не меняет. При всех занятых каналах, закачка с наивысшим требованием будет поставлена в очередь и обработана при освобождении любого из них.

Для правдоподобия будем считать, что пользователь ищет в сети музыкальные файлы, размер которых весьма небольшой. Просматривая список, пользователь добавляет новый файл на закачку примерно каждые 20 секунд. Т.к. размер файлов небольшой, то каждый из них закачивается примерно за 30 секунд.

Таким образом входными случайными величинами при моделировании данной системы будут являться:

·  интервал времени, за который закачается (обработается) одна закачка (требование)

·  интервал времени, через который пользователь добавит новую закачку (требование)

·  приоритет новой заявки

Математические ожидания для первых двух случайных величин составляют 30 и 20 секунд соответственно. Так как время, через которое будет добавлена закачка, никак не зависит от времени, через которое были добавлены предыдущие, то логично выбрать для данной входной величины экспоненциальное распределение. Аналогично экспоненциальное распределение следует выбрать и для времени обработки каждого требования.

Генератор случайной величины с экспоненциальным распределением будет построен на основе генератора стандартной равномерно распределенной величины. Преобразование будет выполняться по формуле

 X = -b*ln(U)

где Х – экспоненциально распределенная случайная величина,

b – математическое ожидание случайной величины Х

U – стандартная равномерно распределенная случайная величина

Ниже приведен листинг генератора в нотации MATLAB

  1  function r = gener_exp( g1, n, b )

  2  k1 = 630360016;

  3  k2 = 2147483647;

  4  r(1) = k1*g1;

  5  while (r(1) > k2 ),

  6  r(1) = r(1)/k2;

  7  end

  8  for i=2:1:(n)

  9  r(i) =  mod(k1*r(i-1), k2);

  10  r(i-1) = -b*log(r(i-1)/k2);

  11  end

  12  r(1) = -b*log(mod(k1*r(n), k2)/k2);

  13  r(n) = -b*log(r(n)/k2);

  14  end

Здесь первый параметр является начальным значением для генератора, второй – количеством случайных величин, которые необходимо сгенерировать, третий – математическое ожидание получаемых случайных величин.

С помощью критерия «хи квадрат» оценим достоверность генератора. Для этого с помощью генератора сформируем выборку из 200 случайных величин с математическим ожиданием 20 (для удобства величины расположены в порядке возрастания):

Таблица 1. Выборка из 20 случайных величин

0,055253

2,967348

5,377173

9,472257

15,58128

20,03511

31,24815

45,32839

0,068548

3,037029

5,404124

10,00148

15,77921

20,06716

31,89586

46,07235

0,414104

3,222119

5,43369

10,18146

16,12142

20,86617

32,09766

47,72999

0,549494

3,323995

5,482919

11,02815

16,21697

20,89258

32,69934

48,34819

0,579787

3,361148

5,62272

11,12052

16,28645

22,50796

32,85601

48,55655

0,605476

3,371733

5,630373

11,30793

16,34194

22,73278

33,02183

49,54909

0,639184

3,438724

5,762234

11,52746

16,40683

23,14258

34,27199

49,64424

0,854681

3,602674

5,811486

11,58419

16,50555

23,2592

34,52052

49,7456

1,020237

3,61974

6,296024

11,66821

16,5796

24,20852

35,1996

51,098

1,177068

3,692804

6,344386

12,30486

16,93705

24,4861

35,48702

51,20589

1,223554

4,151479

6,443517

12,49038

16,97295

24,59421

37,15268

51,9352

1,255325

4,182866

6,540712

12,49521

17,2014

24,68934

37,85985

52,09097

1,299097

4,265789

6,686824

12,62534

17,21295

25,62396

38,54238

52,58058

1,52751

4,318781

6,801897

12,84666

17,28755

25,7212

38,82115

56,19347

1,597142

4,345691

6,882046

13,11312

17,52626

26,19574

39,0315

58,71362

1,682755

4,425641

7,391897

13,6472

17,65311

27,89954

40,72482

60,42854

1,684109

4,475275

7,672711

13,65675

17,70112

27,90419

41,21346

60,88787

1,801568

4,484623

7,824522

13,90672

17,74461

28,25385

41,36804

66,37363

1,970825

4,48754

8,056998

14,01337

18,19061

28,44036

41,53015

70,97554

2,071079

4,673842

8,151114

14,47793

18,39304

28,60173

41,55355

80,41526

2,145264

4,97731

8,310483

14,67827

18,79117

28,6337

41,84902

84,48219

2,214835

5,028546

8,420673

14,86774

18,86041

28,91695

42,14743

86,72663

2,369263

5,040909

8,438498

15,24359

19,07743

29,35477

43,02966

87,05201

2,611256

5,20208

8,642584

15,31521

19,24333

29,4673

43,48756

87,17797

2,749327

5,290067

8,875284

15,40522

19,85814

30,45428

43,51863

116,6476

Похожие материалы

Информация о работе