Video Screencast Help
Search Video Help Close Back
to help
New in the Rewards Catalog: Vouchers for "Symantec Technical Specialist" and "Symantec Certified Specialist" exams.

Challenges in task synchronization and multi-threading environment, welcome to the Altiris Agent ;)

Updated: 18 Nov 2009
ludovic_ferre's picture
0 0 Votes
Login to vote

I remember some thread on the old Altiris forum when people would ask if the Altiris Agent and Notification Server was a multi-threaded application capable of spreading its workload on many CPU or cores.

My answer back then was that the NS, SQL or the Altiris Agent are always capable of creating more threads than you would have cpu cores. It still holds to this day of course.

And lately multi-threading has been biting me on the back side, so to say ;). I have been working with our developers on a quirky problem with the task synchronization agent (the COM component that handles the scheduling, execution and dependencies verification of Sequential Software Delivery tasks).

The problem encountered by a customer is show here:

TaskSynch_snippet.PNG 

When a Sequential Task is running and taking some times, we have some failure if a user logs on the computer. The task is set to run, whether a user is logged or or not, using the system account.

What happens is that the user logging triggers a run of the task synchronization agent that, for some reasons, is running some code concurrently when it shouldn't.

We have some mutexes in place but apparently they are defined too late in the task execution process, so a new mutex is being considered to ensure that no two synchronization tasks are running concurrently, in any potential case!