Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note: The situation will change with TM1 version 12, which will no longer support CubeSaveData command, but will support thread synchronization out of the box. As a possible solution to this problem, there could be two versions of the parallel enabled processes in the FPM model - one for version 11 and second for version 12 and above. Switching between these can be simply provided by modified roundtrip configurations or by assigning proper process version to respective roundtrip step.

Each of the processing threads have 3 different status flags defined in the }APQ C3 Thread Control cube. The main thread uses the status flags for threads monitoring and to detect time when all of the child threads have finished their processing.

The thread status transitions are summarised in below table.

...

Status Change Originator
Process Stage

...

Main Thread

...

Child Thread

...

Main thread prolog
Before spawning child threads

...

Scheduled=0
Running=0
Completed=0

...

Scheduled=0
Running=0
Completed=0

...

Main thread prolog
When spawning child threads

...

Scheduled=1
Running=1
Completed=0

...

Scheduled=1
Running=0
Completed=0

...

Child thread prolog
After checking params

...

Scheduled=1
Running=1
Completed=0

...

Child thread prolog
Last statement of prolog

...

Scheduled=0
Running=1
Completed=0

...

Main thread epilog
Before polling child threads

...

Scheduled=0
Running=0
Completed=1

...

Child thread epilog
Before formulating message

...

Scheduled=0
Running=0
Completed=1