T14h1r
T14h1r

Reputation: 79

Difference between ThreadCount and StepCount in TIBCO BW Engine

Can anyone explain me the difference between StepCount and ThreadCount property of TIBCO BW Engine . I had tried to understand through TIBCO docs but unable to understand. So, Please if anyone can explain me this would be great . Thanks in advance.

Upvotes: 3

Views: 2728

Answers (2)

vasubuddi
vasubuddi

Reputation: 1

ThreadCount

The Thread Count concept states the number of thread a TIBCO BW engine can allocate. The default number of threads is eight.

The number of threads means the number of jobs that can be executed simultaneously in the engine. So the maximum number of jobs that can concurrently in the engine are limited to number threads, that is eight. This property specifies the size of the job thread pool, and is applied to all the AppNodes in the AppSpace if set at the AppSpace level.

Threads carries out a limited number of tasks or activities uninterrupted and then yield to the next job that is ready. Starting with a default value of eight threads the thread count can be adjusted to optimum value and now it can be doubled until CPU maximum level is reached.

StepCount

The StepCount concept states the number of activities that are accomplished by an engine thread, without any disruption, before yielding the engine thread to another job that is ready in the job pool. The default value of the step counter is -1. When the value is set to -1, the engine can decide the required StepCount value. A low StepCount value may humiliate engine performance due to frequent thread exchange depending on the situation.

Upvotes: -2

jens walter
jens walter

Reputation: 14039

The ThreadCount property defines the amount of threads (java threads) which execute all you processes. So with the default value of 8 threads you can run 8 job simultaneously.

The StepCount on the other hand defines the amount of activities executed before a thread can context switch into another job.

Sample scenario:

  • a process with 5 activities
  • ThreadCount is 2
  • StepCount is 4

If there are 3 incoming requests, the first two requests spawn 1 job each. The third job is spawned, but gets paused due to insufficient threads.

After the first job completes the forth activity, the thread is freed and can be assigned to another paused job. So the first job will be paused and the third job starts to execute.

When the second job reaches the forth activity, this thread will be freed and is available for re-assignement. So the second jobs pauses and the first resumes.

After the third job reaches its forth activity, the thread is freed again and resumes job number one (and completes this one). Afterwards Job number 3 get completed.

All of this is a theoretical scenario. What you usually need is to set the amount of concurrent jobs (so ThreadCount). The StepCount is close to irrelevant, because the engine will take care of the pooling and mapping of physical threads to virtual BW jobs.

Upvotes: 6

Related Questions