0

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).

1 Answers1

1

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.

Chris S
  • 77,337
  • 11
  • 120
  • 212
  • 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 06 '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: http://lists.freebsd.org and http://forums.freebsd.org – Chris S Aug 06 '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 07 '10 at 04: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 http://people.freebsd.org/~kris/scaling/7.0%20Preview.pdf . Of course 7.0 was released quite some time ago so things have moved on. – BCran Sep 13 '10 at 19:55