On 3/22/06, Tibor Biro <[EMAIL PROTECTED]> wrote:
> > > One of the things I'd been thinking of is how to modify the Executor
> > > functionality and GUI so that it gives the "end user" more control
> > > over what's happening.  While I don't think that fine grained control
> > > over threads is a good idea, I think that there should be a way to
> > > throttle the thread priority for all Alchemi threads running on their
> > > machine.
> > >
> > > The reason for this: when I was running my 'calculate pi to the 100k
> > > digit' test, there were times where certain operations on the machines
> > > ran extremely slow until the Executor was shut down (for instance,
> > > saving from a specific text editor).  While I understand that the
> > > design is that only 'idle' resources are used, sometimes it seems that
> > > there are thread priority conflicts and some non-Alchemi things seem
> > > to be slowed down.
> >
> > Does anyone have any good links for how windows handles process
> > priorities? Seeing as I use Linux mainly I always laugh heartily when
> > everything else stops when running a vb6 compilation or other such
> > things (OCR, whatever...). It is almost certainly due to a combination
> > of slack programming and users always running as superuser... How does
> > alchemi do this - anything to get me started? Might it be possible to
> > do the equivalent of suid to a user which runs all processes with a
> > priority of 19? Is this what is currently being done?
>
> When an Executor starts a grid thread it sets the priority to
> ThreadPriority.Lowest
>
> The Executor has a number of other threads that run at normal priority
> though. One example is the threads that take care of the communication with
> the Manager which is running at normal priority. So if there is more
> communication than computing then it would affect other applications. This
> sounds like the case in Jonathan's example.
>
> Regards,
> Tibor
>
>
>

What impact would there be if ThreadPriority.Lowest was set for all of
the other executor threads?

I'm guessing that based upon the current design, the Manager would see
the Executor disappearing as non-Alchemi processing on that machine
increased.

I think it would make sense to have a heartbeat thread operate at
ThreadPriority.Normal or AboveNormal, but to decrease the priority of
all other threads to Lowest or BelowNormal.  I don't think there
should be a GUI for this, but it should be editable in the Executor's
config file.

That way, the Executor has less impact on the machine, but never
actually drops off the grid.

Jonathan

(Ugh, I really need to find the time to actually do some coding for
Alchemi... too many other projects right now.)


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
alchemi-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alchemi-users

Reply via email to