On Mon, 3 Dec 2007, Alexey Popov wrote:

Robert Watson wrote:

Is there any other FreeBSD developer who can take care of performance problems on many-cores systems? Seems like upcoming 7-RELEASE and 6.3-RELEASE would be completely unusable for us on that kind of systems i.e. mostly on all modern hardware.

There are many FreeBSD developers who care a great deal about the performance of many-core systems. However, it's also very late in the release cycle for 7.0, and this sort of analysis requires a lot of time, so I don't think we will (or should) see any substantial changes at this point as they would require us to significantly extend the release cycle in order to test them properly.

Is there a reason to release system that unable to work on 8-core systems? What would people think when they won't be able to run their old projects after moving to the new hardware?

Evidence in-hand seems to suggest that 8 core systems work very well for most users, and reflect a significant performance increase with 7.0 over previous FreeBSD releases. Obviously, this is not true in all cases, but part of the point of doing a .0 release is to get the technology into the hands of people who want to use it, and part of the point of continuing to support the 6.x release series is to provide the less agressive feature development that some users needed.

The right path forwawrd at this point is to diagnosis the problems and work on fixing them in 8-CURRENT, and assuming they are not highly disruptive, MFC them for FreeBSD 7.1.

I believe at least the bug with lockmgr contention should be fixed before release.

Could you point me at the specific proposed change in question? I don't think I've seen it come across re@ as a potential merge request. Changing locking primitives close to a release is, FYI, a risky business, as while it may improve performance in specific cases, we may not have a lot of information about more general cases. We also risk opening up previously nascent race conditions in lock consumers.

In general, the most important factor in optimizing performance is to get a good collaboration going between someone who can reproduce the problem, ideally in a way that can be shared with developers so they can also reproduce the problem, and provide testing and feedback over an extended period (several months) while the changes are developed and refined. This is part of the role Kris has been playing with a number of FreeBSD developers -- Jeff, Attilio, myself, etc -- he set up highly reproduceable performance measurements and then worked with us to evaluate various patches to improve performance. That kind of dynamic is invaluable, but it requires users who care a lot about performance (or whatever other factor it is) to spend a fair amount of time helping us. Whether this is by providing a potted benchmark for developers to try out, or if this is by providing access to the test environment on their own systems, it's still critical. I know from previous messages in the thread that you can't provide access to the actual application, but can you provide some sort of potted substitute that has similar performance properties -- be it php page sizes, database query load traces that can be replayed, etc?

I can try to produce synthetic benchmarks based on my workload but really I'm interested more in real workload performance. I'm ready to test changes, measure differences and provide any benchmark and profiling information. Except for lockmgr contention bug there seems to be a much optimization work to do because FreeBSD with patched lockmgr on my workload is still 1.5 times slower that Linux.

Obviously, we are interested in the real workload also, but there are times when we have to accept synthetic benchmarks we can get our hands on instead of real benchmarks that people won't give to us because they incorporate proprietary technology, business-sensitive information, or are simply too complex to reproduce, etc. If you can give us the exact workload to reproduce on our systems, that's much better than a synthetic benchmark, but if you can't, then a synthetic benchmark is what we'll have to work with.

I suggest we move this thread to the performance@ mailing list, and if possible, could you begin the thread over there with a summary of the workload and investigation to date.

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to