Обзор очередей и серверов в дискретно-событийной симуляции

В модели SimEvents® Очередь Сущности и блоки Сервера Сущности являются блоками системы хранения, которые содержат сущности.

  • Очереди заказывают сущности и сортируют их согласно политикам очереди.

  • Серверы задерживают сущности, пока определенные условия не соблюдают.

Эта модель в качестве примера представляет простую систему массового обслуживания, которая генерирует сущности, и ставит их в очередь в заданном порядке, обслуживает их, чтобы изменить их атрибуты и отключает их, чтобы представлять их отклонение от линии. Чтобы узнать больше об основных системах массового обслуживания, смотрите Основные Системы массового обслуживания Модели.

Simple queueing model using Entity Generator, Entity Queue, Entity Server, and Entity Terminator blocks

Устройство хранения данных с очередями

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

Queueing model. The Entity Queue block is highlighted.

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

Например, очередь может представлять поведение:

  • Самолеты, ожидающие, чтобы получить доступ к взлетно-посадочной полосе

  • Сообщения, ожидающие, чтобы быть отправленным

  • Части, ожидающие, чтобы быть собранным на фабрике

  • Компьютерные программы, ожидающие, чтобы быть выполненным

  • Автомобили, ждущие своей очереди в автозаправочной станции

Чтобы задать поведение очереди, задайте:

  • Способность — количество сущностей очередь может сохранить одновременно.

  • Очередь, Сортирующая политику — Задает, какая сущность отбывает сначала, такие как метод "первым пришел - первым вышел" (FIFO), в обратном порядке (LIFO), или пользовательский приоритет, если очередь хранит несколько сущностей.

  • Перезапись политики — Определяет поведение, когда очередь полна. Можно принять решение блокировать новую входящую сущность или принять, что он перезаписывает старейшую сущность в очереди.

Для получения дополнительной информации о поведении очереди, смотрите Основные Системы массового обслуживания Модели.

Устройство хранения данных с серверами

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

Queuing model. The Entity Server block is highlighted.

Повседневным примером сервера является человек (такой как кассир банка или розничный кассир), с кем вы выполняете транзакцию со спроектированной длительностью. Для получения дополнительной информации смотрите Основные Системы массового обслуживания Модели.

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

Отличительные признаки сервера включают:

  • Количество сущностей, которым это может служить одновременно, который может быть конечным или бесконечным.

  • Характеристики, или метод вычисления, сервисные времена прибывающих сущностей.

  • Разрешает ли сервер прибывать сущности, чтобы вытеснить сущности, которые уже хранятся в сервере. Для получения дополнительной информации смотрите Вытеснение Задачи в Многозадачном Процессоре.

Совет

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

Можно использовать сервер, чтобы представлять реальные системы, такие как:

  • Человек (такой как кассир банка), кто выполняет транзакцию с каждым прибывающим клиентом

  • Передатчик, что процессы и отправляют сообщения

  • Машина, которая собирает части на фабрике

  • Компьютер, который выполняет программы

  • Блок обработки в приложении поточной линии

  • Процессор в сетевом приложении

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

Используйте События и действия события в системах массового обслуживания

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

Предположим, что вы хотите изменить атрибуты сущности, когда сущности вводят или выходят из Entity Queue или блока Entity Server. Можно использовать действия, которые вызываются событиями, такими как запись в блок, выход из блока или сервисное завершение. Для получения дополнительной информации смотрите Основные Системы массового обслуживания Модели. Можно также использовать действия события, чтобы создать пользовательскую сущность, направляющую шаблоны. Для получения дополнительной информации смотрите Действия События Очереди Использования, чтобы Смоделировать Резервуар для хранения.

Последовательные пары сервера очереди

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

Queuing model. Entity Queue 1 and Entity Server 1 is called Process 1. Entity Queue 2 and Entity Server 2 is called Process 2.

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

Queuing model. Entity Server 1 is called Process 1. Entity Server 2 is called Process 2.

Однако в отсутствие очереди, если первый сервер завершает свой сервис на сущность, и если второй сервер доступен, чтобы принять новую сущность:

  • Сущность должна остаться в первом сервере мимо конца сервиса.

  • Первый сервер не может принять новую сущность для сервиса, пока второй сервер не становится доступным.

Подключение двух очередей последовательно может быть полезным, если вы используете сущности для элементов модели, которые испытывают два отличных набора физических условий в то время как в устройстве хранения данных. Например, дополнительные предметы хранения, которые переполняют одной области хранения, должны остаться в другой области хранения, где менее хорошо отрегулированная температура влияет на долгосрочное качество элементов.

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

Параллельные пары сервера очереди как альтернативы

Соединение двух пар сервера очереди параллельно, в которых сущности направляются одной или к другой паре сервера очереди, может представлять альтернативные операции. Например, можно смоделировать, как транспортные средства ждут своей очереди для одной из нескольких городских тюрем на междугородной площади. В этом случае модель должна иметь логику решения, возможно в форме переключателя, который предшествует этому шаблону. Для примера смотрите, Обслуживают Высокоприоритетных Клиентов путем Сортировки Сущностей На основе Приоритета.

A simple queueing system using Entity Generator, Entity Queue. The entities departing the queue are directed to an Entity Output Switch block with two outputs. Each output directs entities to a queue-server pair.

Соединение двух пар сервера очереди параллельно, в которых копия каждой сущности прибывает в каждого, может представлять многоадресный сценарий, такой как отправка сообщения нескольким получателям. Обратите внимание на то, что копирование сущностей не может быть целесообразным в некоторых приложениях. Для примера смотрите, что Широковещательные Сущности используют Многоадресную передачу Сущности.

Автор пользовательские блоки системы хранения Используя блок MATLAB Discrete-Event System и Discrete-Event Chart

Если вы хотите смоделировать более комплексные блоки системы хранения сущности и расширить поведение блоков, обеспеченных библиотекой SimEvents, используйте блок MATLAB Discrete-Event System и блок Discrete-Event Chart.

Model with an Entity Generator block that sends entities to a custom block authored by using a MATLAB Discrete-Event System block and the entities are terminated afterwards

Блок MATLAB Discrete-Event System расширяет Системные объекты, чтобы создать пользовательские блоки SimEvents в вашей модели. Для получения дополнительной информации об авторской разработке пользовательских блоков SimEvents, смотрите, Создают Пользовательские блоки Используя Блок Дискретной Системы событий MATLAB.

Блок Discrete-Event Chart использует графики Stateflow® и предоставляет графический язык, чтобы создать пользовательские блоки системы хранения в вашей модели. Для получения дополнительной информации смотрите Сущности Сброса с Сервера Очереди.

Discrete-Event System block that represents a queue-server pair that can flush entities

Смотрите также

|

Похожие темы