The built-in multithreading capability of FLAMES® allows scenarios to be executed using two or more of the processors of a multiple-processor or multiple-core computer simultaneously. Using this capability 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, multithreading may be just what you need.

When multithreading is enabled, FLAMES scenario execution is automatically divided into multiple threads (processes), and each thread is assigned a different portion of the scenario to execute. FLAMES and the operating system automatically distribute these threads to the various processors (or cores) of the computer and handle all shared memory management, thread synchronization, and load balancing.

FLAMES multithreading executes sensor detection, platform motion, and munition motion on multiple threads, because most scenario execution time for the majority of scenarios is spent in these operations. Other parts of scenario execution are executed on a single thread. If your computer has multiple processors or multiple cores, your scenario will usually execute faster, sometimes much faster. How much faster will depend on your computer and your particular scenario.

One of the most amazing and attractive features of multithreading is that it is almost always fully automatic. 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. All bundled models supplied with FLAMES conform to these guidelines.

Note: Multithreading is supported on computers running various versions of the Windows® operating system. It is currently not supported on computers running the Linux® operating system.

Licensing

The Multithreaded Execution option is enabled without a runtime license in a FLAMES Runtime Suite application if the application is executing with only the bundled components loaded. Therefore, you can try it out using the free copy of the Runtime Suite. If custom component plug-ins are loaded, a runtime license to the Multithreaded Execution option is required to enable the option. Runtime licenses must be purchased separately. In addition, ALL of the custom component plug-ins loaded by the application must have been developed on computers that were licensed for the Multithreaded Execution development option.

A Multithreaded Execution option development license is required in order to create custom component plug-ins using the FLAMES Development Suite that support the option. Development licenses must be purchased separately. As stated above, the functionality of the Multithreaded Execution option is enabled in an application only if ALL of the component plug-ins loaded by the application were developed on computers that were licensed for the Multithreaded Execution development option.