The multiprocessor is used to simulate the processing of flow items in sequentially ordered operations. The user defines a set of processes for each multiprocessor object. Each flow item that enters will go through each process in sequence. Multiprocessors may call for operators during their process steps.
The multiprocessor is a fixed resource. It receives one flow item, puts the flow item through its sequence of processes, then releases the flow item. Once the flow item has exited the multiprocessor, it receives another flow item and goes through the processes again. Only one flow item will ever be in the multiprocessor at one time.
For each process that you define, you can specify a name for the process, a process time, a number of operators to use for that process, priority and preempting values for the tasks sent to the operators, and the operator or dispatcher to send operator tasks to. At the beginning of each process, the multiprocessor calls the process time field, sets its state to the name of the process, and calls operators if the number of operators value is greater than 0. When the process is finished, the multiprocessor releases all operators called for that process, and calls the process finish trigger. It also passes the process number into the process finish trigger as parval(2).
You would use the multiprocessor if you have one station that involves several operations with separate process times and/or different resources. You can also use the multiprocessor as a shared station for different types of operations. For example, itemtype 1 needs to go through operations A, B, C, and D, and itemtype 2 needs operations E, F, G, and H, but both itemtypes must share one station for their processes. Give the multiprocessor 8 processes: A - H, and for itemtype 1 have processes E - H have 0 process time, and for itemtype 2 have processes A - D have 0 process time.
For information on events, see the Event Listening page.
The queue uses the standard events that are common to all fixed resources. See Fixed Resources - Events for an explanation of these events.
The combiner has no additional events.
For statistical purposes, the multiprocessor will be in one of the following states at various points during a simulation run. The current state can be viewed by clicking on the object and then viewing the Statistics pane in Quick Properties.
There are no flow items being processed.
These are states defined by the user, one for each process.
The multiprocessor has finished all processes for a flow item, released it, but there is no downstream object ready to receive it.
The multiprocessor is waiting for operator(s) to arrive in order to start a process.
The multiprocessor has finished all processes for a flow item, released it, and there is a downstream object ready to receive it, but the flow item has not been picked up by a TaskExecuter yet.
The multiprocessor uses the standard statistics that are common to all fixed resources. See Fixed Resources - Statistics for an explanation of these statistics.
The multiprocessor object has five tabs with various properties. The last four tabs are the standard tabs that are common to all fixed resources. For more information about the properties on those tabs, see:
Only the MultiProcessor tab is unique to the combiner object. The properties on this tab will be explained in more detail in the following sections.
The process list contains each of the processes for this multiprocessor. To edit a process, highlight it in the list and change its name and edit its properties (to the right of the process list).
|Click this button to add a new process to the process list.|
|Click this button to delete a process from the process list.|
|Click these buttons to move the selected process up or down in the process list.|
The process name field allows the modeler to define the name of each process. This name will be used in the state reporting of the multiprocessor.
This picklist determines how long a processor spends processing a single flow item.
This number determines how many operators the object will use during its process time.
This picklist returns a reference to the operator or dispatcher that the object is using during the given process.
This value sets the priority of the task sequence that will be sent to the operator. Operators generally sort task sequences so that sequences with higher priorities will be performed first. Task sequences with the same priority will be performed in the order that they were received.
Sets the preempt value for calling operators.