tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: revivesa status 2008/07/09



christos%astron.com@localhost (Christos Zoulas) wrote:
> >Would not be so sure about significant performance benefit. Can you provide
> >a practical application where SA outperforms 1:1?
> 
> Yes, on a uniprocessor an application that has many threads and does not
> do a lot of kernel waiting will always beat 1:1 just because it does not
> have to use the kernel to context switch.

Well, question in previous email still valid:

- Do you have a real-world scenario, that is application, when you need many
  threads on UP system which do not do any blocking (no I/O, no syscalls, no
  or limited synchronisation)?
- Avoiding the overhead of user-space <-> kernel-space switches, run queues,
  full context switch - that would definitely increase the performance. But I
  doubt that very significantly, keeping in mind that context switch is
  performed, let's say, every 100 ms (traditional RR time).
- I still think that one can achieve the same performance by re-designing
  such application.

> >Well, it is "well-understood" in theory. SA was a kind of nice idea from
> >theoretical perspective, but was not proven practically in any relevant
> >environment and system. At least two systems which tried migrated to 1:1.
> 
> Let's not confuse N:M to SA. Which other system do you know that used SA?

OK, not sure what was Solaris' M:N implementation, but FreeBSD's KSE were
similar to SA by Anderson. From what I understand looking at the code (see
kern_kse.c), the same upcalls and new-thread-on-block way was used.

Recently they removed KSE from -current.

> Once SA is merged it will be easy to measure.
> 

Since there is a branch, it could be measured without merging.

-- 
Best regards,
Mindaugas
www.NetBSD.org


Home | Main Index | Thread Index | Old Index