|
|
The Multithreading option allows FLAMES-based simulations to execute scenarios using two or more of the processors of a multiple-processor computer simultaneously. Using this option will allow nearly all FLAMES® scenarios to execute more quickly. If you want to execute larger scenarios in the same amount of time, or if you want to execute your existing scenarios in less time, the Multithreading option may be what you need.
One of the most amazing and attractive features of the Multithreading option is that it is almost always fully automatic. When this option is enabled, a FLAMES scenario execution application (such as FORGE or FIRE) is automatically divided into multiple threads (processes), and each thread is given a different portion of the scenario to execute. Changes to the application or the scenario are rarely required. The only requirement is that the models that are to be executed on parallel threads must be implemented according to FLAMES development guidelines.
The Multithreading option is enabled in FORGE using the Multithreading window. Executing a scenario enabled for multithreaded execution is the same as executing any FLAMES scenario. During execution, FLAMES will automatically create the number of execution threads specified in the Multithreading window in FORGE, and the operating system will automatically distribute these threads to the various processors of the computer. FLAMES and the operating system automatically handle all shared memory management, thread synchronization, and load balancing.
Specifically, the Multithreading option executes sensor detection processing on multiple threads. When Multithreading is enabled, the FLAMES sensor executive creates multiple threads of execution. At the appropriates times, the sensor executive loops over the active sensors in the scenario and invokes the Detect method of each sensor on a different thread – up to the number of threads available. When a given thread completes the execution of the Detect method for one sensor, it immediately invokes the Detect method of the next active sensor. This process continues on each thread until Detect has been invoked for all active sensors.
Runtime and development licenses are available for the Multithreading option. You must have a runtime license for every copy of FORGE or FIRE that you intend to execute concurrently with the Multithreading option enabled. A development license is required to develop custom applications that support multithreading.
Currently, the Multithreading option is available only on computers with Intel processors using a Windows operating system supported by FLAMES.