Question Locked

Establishing which core has completed a task.

0 helpful
3 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.

I have a situiation where I will have 12 licences to run a program and 12 cores.
I will recieve data over the net and I wish to know when a core has finished running its process. Then I cana ssign the next dataset in the list to run on that core.
I can run the process in a script and at task termination, write to disk that a task assigned to core "X" has completed. On reading this file I can decide which processor to assign the next task to.
How can I reliably set which processor to use?
The OS will be Windows 2003.

3 replies

by mjd420nova

Unless you issue a function in the very next machine cycle, you'll never get an accurate count to determine which core is going to get the next instruction, to run on the opposing core. The trick is to be sure that the core to be chossen is not still busy doing the last task it was assigned and is even ready to start the next cycle, in which case it will find another ready core and then execute. Waste of time and useless info return.

by artyler916

Can I specify which core a specific job is to run on?
If so, I could pass that information to the job, which could then write the core number & timestamp to a file when the job is completed. It is true that other housekeeping jobs may initially be run on the core that has become free, but each of my jobs will take 20 minutes or more, so I have lots of time to grab a core once the housekeeping job has been finished.
The logfile written to could be interrogated across each virtual machine by a small task that places the logged entries into a single file on the "master core" where the scheduling of the cores is occurring.
What is my flaw in thinking?

tks Tony Tyler

This discussion is closed to new replies.