На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> gpss , пакет определенной длины
    как задать в гпсс пакет определенной длины?
      Если пакетом является транзакт, то для хранения длины используй его параметр. Например, длина должна быть случайно распределена в интервале 10..40 по равномерному закону, то возможно подойдет такой способ
      ExpandedWrap disabled
         dlina function rn1,c2
        0,10/1,41
         
        ...
          assign 1,fn$dlina
        ...

      здесь в первый параметр p1 заносим длину пакета
        нет, пакет должен быть определенной длины, например 100 бит/1000 бит/10000бит...значит такой способ не подойдет((
          Цитата Svadusik @
          ...значит такой способ не подойдет((
          подойдет, надо было сразу написать
          Цитата
          пакет должен быть определенной длины, например 100 бит/1000 бит/10000бит

          ExpandedWrap disabled
             dlina function rn1,D3
            0,100/0.33,100/1,10000
            а через SPLIT это не получится сделать?
              Цитата Eugen @
              Цитата Svadusik @
              ...значит такой способ не подойдет((
              подойдет, надо было сразу написать
              Цитата
              пакет должен быть определенной длины, например 100 бит/1000 бит/10000бит

              ExpandedWrap disabled
                 dlina function rn1,D3
                0,100/0.33,100/1,10000

              а можете пояснить эту функцию?

              и как тогда генерировать транзакт? GENERATE или SPLIT - другого вроде способа я не знаю?

              Добавлено
              assign 1,fn$dlina - это обязательная строчка при генерировании пакета таким образом?
                ExpandedWrap disabled
                  dlina function rn1,D3
                  0.33,100/0.66,1000/1,10000
                  generate 100,20
                  assign 1,fn$dlina

                В этом примере транзакты создаются в среднем через 100+-20 ед.врем., и в первый его параметр заносится длина данного пакета.

                Условие своей задачи привел бы и было бы понятно о чем идет речь :rolleyes: Под пакетом понимается, обычно, порция информации, передаваемая по локальной сети или по интернету от одного компьютера другому. Блок split создает копии транзактов. В локальной сети копии пакетов создаются, например, в локальных сетях внутри коммутаторов и мостов, если пакет имеет широковещательный адрес. Такой пакет должен быть передан во все порты (кроме порта прибытия) коммутатора или моста для того, чтобы бы сам пакет и его копии были переданы во все сегменты локалки.
                Сообщение отредактировано: pil69 -
                  Суть в том что: необходимо смоделировать работу центра связи с корреспондентами - а результатом должна быть зависимость количества удачных сеансов от вероятности ошибки. Данные
                  1. коэф. битовой ошибки BER = 10^(-1),10^(-2)
                  2. длина пакета корреспондента - 100, 1000, 10000 бит
                  3. длина пакета центра 100, 200, 300 бит
                  Вот и все..

                  Добавлено
                  0,100/0.33,100/1,10000 -это вероятности и длины пакетов?
                    так, получается далее я просто передаю сгенерированный пакет на накопитель, где он обрабатывается (с помощью QUEUE и DEPART), а задержку там надо указывать? если да, то ведь задержку надо указывать на длину пакета?

                    и как потом отправить пакет обратно корреспонденту? - также сгенерировать пакет определенной длины, как написано раньше и опять послать на накопитель?
                      Цитата Svadusik @

                      dlina function rn1,D3
                      0.33,100/0.66,1000/1,10000

                      В данном случае 33%-я вероятность, что длина равна 100 битам, 33%-я вероятность, что равна 1000 и в остальных 34% - 10000 бит.
                      Цитата Svadusik @
                      задержку надо указывать на длину пакета?

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

                      коэф. битовой ошибки BER = 10^(-1),10^(-2) подозрительно высокий. Если длину пакета взять равным 10000 бит, то 10000*10^(-1)=1000 бит будет искажено при передаче?
                        у меня задано 5 BER - 10^-1,10^-2,10^-3,10^-4,10^-5, вот их то надо сравнить и определить зависимость..

                        Добавлено
                        Цитата pil69 @
                        В твоем случае длина пакета оказывает влияние лишь на вероятность появления ошибки в самом пакете. Время задержки в промежуточных узлах коммутации между центром и корреспондентом никакой роли не играет, так как ты должен найти всего лишь зависимость количества удачных сеансов от вероятности ошибки.


                        Т.е. вот так можно сделать?:

                        QUEUE SERVER
                        ADVANCE 1
                        DEPART SERVER

                        И в этом случае задержка произойдет на пакет?
                        Сообщение отредактировано: Svadusik -
                          с горем пополам написала программу, но помоему работает не правильно, что изменить чтобы правильно работала не знаю((
                          dlina_in function RN1,D3 ;генерирование пакетов к центру длиной 100 бит (Р = 33%),
                          0.33,100/0.66,1000/1,10000 ;1000 бит (Р = 33%),10000 бит (Р = 34%)
                          GENERATE 100,20 ;генерация транзактов(пакетов) в моменты времени 100+-20 ед.времени
                          ASSIGN 1,fn$dlina_in ;заносим длину пакета в первый параметр транзакта
                          Error EQU (1-0.1)^fn$dlina_in ;присваиваем Error выражение (1-0,1)^fn$dlina_in
                          QUEUE o4ered ;занимаем очередь
                          TRANSFER Error,OBRAB,OTKAZ ;статистическая передача в блок OBRAB c с вероятностью 1-Error, в OTKAZ - Error
                          OBRAB ENTER CENTER ;вход пакета в центр
                          DEPART O4ERED ;покинуть очередь
                          ADVANCE 1 ;обработка одного пакета
                          LEAVE CENTER ;обработанный пакет освобождает центр
                          dlina_out function RN1,D3 ;генерирование пакетов к корреспонденту длиной 100 бит (Р = 33%),
                          0.33,100/0.66,200/1,300 ;200 бит (Р = 33%),30 бит (Р = 34%)
                          ASSIGN 1,fn$dlina_out ;заносим длину пакета в первый параметр
                          Error1 EQU (1-0.1)^fn$dlina_out ;присваиваем Error1 выражение (1-0,1)^fn$dlina_out
                          QUEUE O4ERED1 ;занимаем очередь
                          TRANSFER Error1,OBRAB1,OTKAZ ;статистическая передача в блок OBRAB1 c вероятностью 1-Error1, в OTKAZ - Error1
                          OBRAB1 ENTER KORRESPOND ;вход пакета к корреспонденту
                          DEPART O4ERED1 ;покинуть очередь
                          ADVANCE 1 ;обработка одного пакета
                          LEAVE KORRESPOND ;обработанный пакет попадает к корреспонденту
                          TRANSFER ,WYHOD
                          OTKAZ SEIZE OTKAS ;очередь на удаление транзактов
                          RELEASE OTKAS
                          WYHOD TERMINATE
                          GENERATE 10000 ;наблюдаем работу в течение 10000 ед.времени
                          TERMINATE 1.
                          Сообщение отредактировано: Svadusik -
                            нужно ли в данном случае использовать блок TESТ для проверки длины пакета?
                              ап
                                народ где можно прочитать литературу по проведению экспериментов в GPSS. Или может кто просто подскажет как его сделать?

                                Добавлено
                                или хотя бы документацию на руском где бы найти...
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) [1] 2 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0381 ]   [ 14 queries used ]   [ Generated: 19.05.24, 23:42 GMT ]