Re: Serious concurrency problems on fast systems
On 6/2/2010 10:13 AM, Patricia Shanahan wrote:
Mike Amling wrote:
Arne Vajh?j wrote:
-XXdonotkickthreadoffcpuifitisabadtimeforperformance does not exist.
No, but someday there could be an option to let a Thread synchronized
on a monitor for which another Thread is waiting run a little longer,
in hope that it will desynchronize.
If the kernel developers wanted to do something to solve priority
inversion, why not implement priority inheritance, a long studied
technique?
The "I've just acquired a lock; please don't slice me yet" hint
is independent of priority inheritance. Both are useful, either
alone or in combination. Solaris does both (or can, when asked
politely). I don't happen to know whether the JVM on Solaris makes
the appropriate prayers and sacrifices to get this to happen, but
it certainly could. Other O/S'es may offer similar capabilities,
and their JVM's may (or may not) use them.
I think we're in agreement, though, that it's not the sort of
thing that the Java coder should try to control directly by juggling
priorities or something. Scheduling is a system-wide allocation of
resources; the Java programmer's world view extends only to his own
application -- and maybe not even that far, if he's writing classes
that will be used in many applications. The Java programmer has
insufficient information to make informed decisions about system-
wide (and shifting) resource demands.
--
Eric Sosman
esosman@ieee-dot-org.invalid