Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

This is not a FreeBSD vs [insert favorite linux server distro].

My interest is in knowing the why and how to remedy sch issues if they exist.

Primarily, I'm looking to implement a FreeSwitch based PBX for the local Red Cross hospital. Me being me, I want to broaden my horizons. I'm not a full fledged expert in either linux or freebsd, but I'm no slouch either.

Now, after much googling, I've been reading that there are issues with FreeBSD and SMPs but not so with linux, though honestly, I have yet to see any issues and I have serveral BSD servers alongside CentOS, Ubuntu and Debian.

So, is there an issue? If there is how do you remedy it (if possible, because I read it on the FreeBSD site that FreeBSD was architected for the x86 architecture).

share|improve this question
add comment

1 Answer

up vote 1 down vote accepted

FreeBSD had issues with the experimental schedule "ULE" in the 6.x & 7.x branchs (it was introduced in 5.x, but was known to be very unstable). It was never the default scheduler for any production release when it had those problems. I ran ULE while it was under development and never had a single problem with it.

The problems was an extremely technical race conditions that was very unlikely unless you had a heavily loaded server; the problem got worse with more cores, so most computers never would have seen it. But the effect was a deadlocked machine, and it would not auto-reboot; hence the issue was a production liability.

Since that time the race condition has been resolved, and ULE is now completely stable. It has become the default scheduler for 8.x on and is more efficient for large numbers of cores. The previous scheduler (4BSD) worked for SMP systems, but scaled poorly; very noticeably on systems with more than 4 cores.

PS: BSD was written for the PDP-11 originally, and the code is still very potable. FreeBSD and NetBSD broke away from each other over differences in optimization (extremely short very of the stories!), FreeBSD concentrates on i386/AMD64; NetBSD concentrates on portability. While I'm at it: OpenBSD broke off NetBSD to concentrate on security; and DragonflyBSD broke off FreeBSD to concentrate on extreme stability.

share|improve this answer
    
So, essentially, with the 8.x branch, there should be no problems with multi-cores and scalability, right? And this was the advantage that Linux had over BSD when it came to SMP, right? Any other info? Where did you learn all this? I'd like to learn more. I'm a programmer/software engineer, but I'm liking the administration side of things because in addition to programming, there are other items from the computer world I get to touch on in administration. –  Mustafa Ismail Mustafa Aug 6 '10 at 13:09
    
The Linux schedules are different more than one is better or worse; I hate comparing the OSes because so many things are like that. I run FreeBSD at home; I have since the 4.x days (c. 2004). Most things I learned by using the OS daily, both as server and workstation. I've done a lot of reading from the mailing lists and forums: lists.freebsd.org and forums.freebsd.org –  Chris S Aug 6 '10 at 13:25
    
Thanks man, that answered a lot. Now I can go forth and setup a new FreeBSD server with no fears that there could be SMP issues. –  Mustafa Ismail Mustafa Aug 7 '10 at 4:29
    
Though 4BSD was the default scheduler in 7.0, it was switched to ULE for 7.1. An good review of the SMP performance in FreeBSD can be seen at people.freebsd.org/~kris/scaling/7.0%20Preview.pdf . Of course 7.0 was released quite some time ago so things have moved on. –  BruceCran Sep 13 '10 at 19:55
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.