atom feed65 messages in org.freebsd.freebsd-smpRe: SMP meeting summary
FromSent OnAttachments
Jason EvansJun 24, 2000 11:56 pm 
Daniel EischenJun 25, 2000 6:58 am 
Terry LambertJun 25, 2000 10:12 am 
Terry LambertJun 25, 2000 10:36 am 
Julian ElischerJun 25, 2000 10:41 am 
Poul-Henning KampJun 25, 2000 11:07 am 
Nate WilliamsJun 25, 2000 9:41 pm 
Frank MayharJun 25, 2000 11:27 pm 
Frank MayharJun 25, 2000 11:31 pm 
Luoqi ChenJun 26, 2000 9:46 am 
Arun SharmaJun 26, 2000 9:47 am 
Jason EvansJun 26, 2000 11:06 am 
Matthew DillonJun 26, 2000 12:26 pm 
Matthew DillonJun 26, 2000 12:48 pm 
John SconiersJun 26, 2000 12:56 pm 
Matthew DillonJun 26, 2000 1:07 pm 
Luoqi ChenJun 26, 2000 1:13 pm 
Doug RabsonJun 26, 2000 1:26 pm 
Jason EvansJun 26, 2000 2:56 pm 
Jason EvansJun 26, 2000 3:14 pm 
Daniel EischenJun 26, 2000 4:59 pm 
Luoqi ChenJun 26, 2000 7:14 pm 
Jason EvansJun 26, 2000 7:55 pm 
Joe EykholtJun 26, 2000 8:09 pm 
Greg LeheyJun 27, 2000 8:00 pm 
Jason EvansJun 27, 2000 8:25 pm 
Daniel EischenJun 27, 2000 8:26 pm 
Greg LeheyJun 27, 2000 9:59 pm 
Greg LeheyJun 27, 2000 10:11 pm 
Terry LambertJun 28, 2000 4:15 pm 
Terry LambertJun 28, 2000 4:18 pm 
Terry LambertJun 28, 2000 4:37 pm 
Terry LambertJun 28, 2000 4:51 pm 
Arun SharmaJun 28, 2000 9:43 pm 
Greg LeheyJul 2, 2000 7:15 pm 
Daniel EischenJul 3, 2000 3:23 am 
Greg LeheyJul 3, 2000 3:30 am 
Jeroen C. van GelderenJul 3, 2000 7:55 am 
Chuck PatersonJul 3, 2000 8:28 am 
Chuck PatersonJul 3, 2000 8:47 am 
Frank MayharJul 3, 2000 8:49 am 
Greg LeheyJul 3, 2000 4:08 pm 
David ScheidtJul 3, 2000 4:35 pm 
Joe EykholtJul 3, 2000 4:47 pm 
Greg LeheyJul 3, 2000 4:52 pm 
Joe EykholtJul 3, 2000 4:58 pm 
Greg LeheyJul 3, 2000 5:26 pm 
Joe EykholtJul 3, 2000 5:41 pm 
Chuck PatersonJul 3, 2000 7:17 pm 
Daniel EischenJul 3, 2000 7:25 pm 
Daniel EischenJul 3, 2000 7:35 pm 
Greg LeheyJul 3, 2000 7:39 pm 
Daniel EischenJul 3, 2000 7:41 pm 
Chuck PatersonJul 3, 2000 8:40 pm 
Alfred PerlsteinJul 3, 2000 10:08 pm 
Greg LeheyJul 3, 2000 10:37 pm 
Peter WemmJul 4, 2000 2:43 pm 
Greg LeheyJul 4, 2000 3:58 pm 
Peter WemmJul 4, 2000 4:06 pm 
Terry LambertJul 5, 2000 3:38 pm 
Terry LambertJul 5, 2000 4:00 pm 
Terry LambertJul 5, 2000 4:06 pm 
Terry LambertJul 5, 2000 4:10 pm 
Alfred PerlsteinJul 5, 2000 4:29 pm 
Terry LambertJul 6, 2000 4:50 pm 
Subject:Re: SMP meeting summary
From:Terry Lambert (tlam@primenet.com)
Date:Jul 6, 2000 4:50:46 pm
List:org.freebsd.freebsd-smp

The idea is that the a quantum is actually so great that there's little chance of one of the wake_all processes colliding on the lock.

This is a bogus idea, both in the case of a large number of processors, and in quantum ownership case.

You are correct in that it's bogus for _large_ number of processors, but for small numbers it makes a lot of sense. It would work nicely if one could attempt to schedule the processes in order that they were unblocked.

What's small?

Even on system with a signifigant amount of CPUs, sssuming the system is busy, then between actually scheduling these thundering processes on other CPUs and having them run there will be enough time to avoid another pileup on the mutex.

If the CPUs are not busy and collisions occur, well then the collisions are free because we have cycles to burn. :)

This is not a safe assumption; consider the case of a distributed cluster which supported migration. High communications latencies between processors are destructive.

Equally, on low latency communications links, such as in a 4-way Xeon system, the amount of interprocessor contention on cache line invalidation is significant.

If there isn't such conetntion, why lock it?

If there is such contention, why take the invalidation hit for all processors, instead of (on average) 1.5?

From a research perspective, consider the case of goal-based computing, goal-based computing where the participants have incomplete information, and cooperative robotics.

These are fields of research where your simplification will make use of BSD impossible.

The quantum ownership case is "so long as I have work to do, if the scheduler gave me a quantum, it's my damn quantum!". In other words, the idea of voluntary preemption or semivoluntary preenption, such as one might get when the system makes a process block merely because it has made a system call that can't be immediately satisfied. A multithreaded of FSA process doesn't care about a single blocking context: it wants to use the remainder of its quantum.

I'm not sure I understand this nor how it applies.

A multithreaded file system architecture could be used to implement a concurrent "team" type program, which transfered data from one region in a contention domain to another. If that were implemented using your approach, there would by lockstep read/write/read/write, rather than concurrent operation with a single latency (e.g. read/write+read/write+read/.../write).

This is the moral equivalent of a sliding window for data copies on contention domains, involving two processors.

One of the basic flaws of SVR4 based Dynix for a very long time (and perhaps still; I haven't been inside a Sequent box for 2 years now) was that the FSA was not multithreaded.

If you want a more prosaic example, take any web server you currently operate, and replace the GIF images with CGI's that invoke the "team" program to stream the data out to the requester, instead of delivering the image directly.

Note the almost 170% improvement in download time for the pages (this is the same reason that "sendfile" is a stupid idea, given that it can never achieve this improvement becuase it can never achieve this concurrency, even if you could send all the data in the UNIX disk format).

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message