Oracle Master Scheduling/MRP and Supply Chain Planning on a Single Processor Machine
Distributing the workload across multiple independent processes should give performance benefits, even when running on a single-processor machine. Many Oracle Master Scheduling/MRP and Supply Chain Planning processes make frequent accesses to the database. Therefore, the processes tend to be I/O bound. That is, the bulk of the time is spent by the processes waiting for the disks to access or retrieve the information requested, and not for the processors themselves to compute.
The total time to execute two I/O bound tasks on a single-processor machine is less if they execute simultaneously rather than one after the other. While one task waits for information to be brought back from disk, the single-processor can execute the second task.
When there are relatively few processes running, performance of a single processor machine is similar to that of a multiprocessor machine. In general, performance of a single processor machine degrades more quickly than a multiprocessor machine, as the number of simultaneous processes increase:
Therefore, both single-processor or multiprocessor machines may benefit from distributing tasks across multiple processes. However, a multiple processor machine may be able to distribute the tasks across more processors before realizing performance degradation.
There is no single answer to how many processes to launch. Performance depends upon many factors, such as:
- What other processes will be running?
- How many users are logged on?
- How much memory does the machine have?
- How many processors does the machine have?
- What is the data distribution?
- Does data entry occur all at once, or is data at a relatively constant rate throughout the day?
The best approach is to experiment. For example, first try running the snapshot with three workers, then increase the number of workers. Assuming other factors are not skewing the results, determine which option provides the best results.