ULE Now The Default Scheduler On FreeBSD
Dan writes "FreeBSD's Jeff Roberson says that the ULE scheduler has entered into its probationary period as the default scheduler on FreeBSD. He says that if all goes well, it will remain the default through the rest of FreeBSD 5.* releases. He is requesting you to switch over and test it. The ULE scheduler was designed to address the growing needs of FreeBSD on SMP/SMT platforms and under heavy workloads. It supports CPU affinity and has constant execution time regardless of the number of threads."
This is great news. The O(1) scheduler in Linux is awesome, and it's good to see FreeBSD keeping up. Now if we just had an O(1) way to squash *BSD trolls, Slashdot would be saved.
In Soviet America the banks rob you!
GNU/KFreeBSD is a project that doesn't get enough press.
Most GNU systems use Linux as their kernel, but this doesn't have to be the case. The porting of GNU to the FreeBSD kernel is almost complete. (the project name changed from GNU/FreeBSD to GNU/KFreeBSD after a trademark discussion with some FreeBSD folks.)
FreeBSD people say that their kernel is rock solid, has the best uptimes, most robust networking, and now it's getting an improved scheduler. So it would make sense for GNU users to considering using the FreeBSD kernel instead of Linux.
Having everyone using the same kernel just makes life easier for worm writers, and corporate attacks such as the SCO fiasco.
Of course, adoption will be hampered by the marketing mistake of calling the whole OS "Linux", but I hope that choice of kernels will become more normal in the future. It would also help if they came up with a friendlier name than "GNU/KFreeBSD" (8 sylabyls!).
Anyway, I hope to start using the FreeBSD kernel soon.
Expert in software patents or patent law? Contribute to the ESP wiki!
I uise freeBSD everyday, and I have to ask why you would care about GNU/freeBSD. The utilities are essentially equivelent. There is a little more bloat (read features) in some of the GNU stuff. Nothing really significant though.
Sure it is neat that they can do it. However to say everyone should want to run it? I don't get it.
I guess it would help, lets take a quiz and see shall we?
Of Linux and FreeBSD kernels, which
1. is the most SMP scalable (parallel)
2. is the most algorithmically scalable
3. has fastest single threaded performance
4. runs on more architectures
5. supports the most hardware
6. has the fastest TCP/IP stack
Answers won't be accepted without evidence.
1. is the most SMP scalable (parallel)
Long term or short term? Linux is faster now but the BSD folks always seem to spend a lot more time actually researching the issue.
2. is the most algorithmically scalable
I don't even know what this means. Are you referring to the scheduler and other system processes? Linux has an O(1) scheduler - only it ran head first into a brick wall in certain instances. FreeBSD spent a _lot_ of time implenting a robust and stable scheduler and it shows. NetBSD looked at the Linux algorithmns and tied or beat them in every case.
3. has fastest single threaded performance
How about which OS is more stable? How about which OS didn't have an idiotic 2TB block device limit for years longer than the BSD's? How about which OS didn't have a 2GB file size limit?
4. runs on more architectures
Can you say NetBSD? Besides which, the only computers I own are DEC Alphas and x86 boxes. I could cares less which OS runs on the DreamCast.
5. supports the most hardware
How about which one supports the hardware you actually want to run on, and not the toaster in your basement.
6. has the fastest TCP/IP stack
For what application? You ask this question as if there is one TCP stack that is fastest in all applications. You also probably prefer a fast stack to a stable one.
Answers won't be accepted without evidence.
Questions won't be accepted from AC's. Besides, if you want answers, go look them up yourself.
-sirket
Hah! Cool. Keep it up.
More stable? My Debian boxes never, EVER crash. Not in six years of heavy use. The difference is negligible.
How about which OS supports more mainstream hardware, offers better commercial support, and whose releases aren't EOLed after 12 months a la FreeBSD? Gimme Debian's two years (or RHEL's five years) any day. Maybe you have time to upgrade all your boxes every 12 months; personally I prefer to USE my systems rather than fiddle with them.
Now it all makes sense... CHEESE GRATERS.
So that's why I'm having trouble scaling on my Quad Xeon.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Security updates are still released for older FreeBSD versions, as well as NetBSD versions. Have a look at http://www.netbsd.org/Security/ and you will see that security updates are made for NetBSD 1.5. NetBSD 1.5 was released at the end of 2000, yep, that is over three years ago. It is true that the FreeBSD EOL is shorter, but it is not hard to track a -STABLE branch.
Gosh, BSD has been around for how long and it took Linux to get them OTA's to do a proper scheduler. Then they claim they are better. What a joke. No wonder I won't use BSD.
Awwww, poor baby won't run BSD. Don't cry. It's okay, when you grow up then maybe you'll be able to run BSD.
I've got an idea - ANSWER the damned question!
1. Dodge.
2. Dodge. The 2.6 has been proven by benchmarks to be the best scheduler, FreeBSD is good but Net/Open BSD are crap.
3. ANSWER THE ORIGINAL QUESTION!!! Don't answer it with an unrelated question.
4. That isn't FreeBSD is it now?
5. NetBSD runs on lots of weird shit, Linux runs on normal stuff. Still, not answering the question.
6. Yay not answering question *AGAIN*!
Wow, man, you really need a life! You should get out some time...
OK you got 1 of 6 correct. You fail.
Linux and FreeBSD kernels, which
1. is the most SMP scalable (parallel)
Linux. (Linux and FreeBSD both started with a BKL about 5 years ago. Linux is now being used on 512 processor machines, FreeBSD doesn't scale past 4 CPUs for all their research).
2. is the most algorithmically scalable
Linux
3. has fastest single threaded performance
Linux (from the horse's proverbial mouth).
4. runs on more architectures
Linux. See here and here (The Linux Kernel supports more architectures than the NetBSD kernel, idiot).
5. supports the most hardware
Linux. See here and here (NetBSD is actually the one that prides themselves as running on toasters. And nobody cares about your shitty DEC Alphas. IA64, POWER are where its at now).
6. has the fastest TCP/IP stack
Linux
See you again next year.
They actually used Linux's scheduler. Then they go and claim Linux rips off heaps of their code. What a joke.
Reiserfs/Linux has no such limit. Don't know about other file systems, though.
Oh, and it's COULDN'T care less. If you could care less, then that means that you actually do care.
Linux had a similar limit on 32 bit systems due to the block layer using 32 bits for block addressing. So you had a maximum of 2TB for a block device. This limit has been lifted for quite some time, even on 32 bit systems.
There were 2GB file size limits with 32 bit userspace APIs (note these weren't filesystem limits). Such limits were lifted years ago though, longer than the 2TB limit.
I guess the parent was referring to these limits. It is not a very good way to advocate BSD over Linux though, to bring up technically minor issues that have been years fixed.
In fact, it is blatantly bending the truth: FreeBSD's stable series still has a 1TB limit on block devices. I guess a current 1TB limit must be less "idiotic" than an old 2TB limit somehow.
As much as I like FreeBSD, to say it is technically better than Linux just isn't true right now.
They actually used Linux's scheduler. Then they go and claim Linux rips off heaps of their code. What a joke.
What are you talking about? Linux use to use the BSD TCP stack verbatim. Moreover, SCHED_ULE has nothing in common with any of the Linux schedulers.
-sirket
How about which OS supports more mainstream hardware, offers better commercial support, and whose releases aren't EOLed after 12 months a la FreeBSD? Gimme Debian's two years (or RHEL's five years) any day. Maybe you have time to upgrade all your boxes every 12 months; personally I prefer to USE my systems rather than fiddle with them.
If you ever tracked -RELEASE or -STABLE you would know what a trivial joke it is to keep a FreeBSD box current. The system is so tightly integrated that I could set up automated upgrades and not even worry about them. Not that I would expect a Linux user to understand this.
What kills me about Linux users is you think that us BSD users don't run Linux. I run more Linux boxes than you can possibly imagine. Sadly most of them are RedHat. Even the Debian ones, however, aren't as clean to administer as my FreeBSD boxes.
-sirket
Gosh, BSD has been around for how long and it took Linux to get them OTA's to do a proper scheduler. Then they claim they are better. What a joke. No wonder I won't use BSD.
The BSD scheduler was rock solid and damned reliable. Upgrading a scheduler is not something one jumps into head first. It is a lot like all the major differences between Linux and BSD. The Linux folks jump right in and code stuff. The BSD folks think about the problem, theorize and evaluate possible solutions, then code.
It is a lot like with the file systems. Linux has 3 journaled file systems while FreeBSD skipped them all and implemented softupdates.
-sirket
The Linux 2.4 kernel (2.4.20 was the last time I did an install where I ran into this problem), which is still the stock kernel, has 2 TB block device limit and -STABLE does not. Look it up.
As for a minor issue? Jesus christ. I have run into it so many times my head hurts. If you don't run file systems larger than 2TB than we have nothing to discuss because we are clearly in different ends of the business.
-sirket
Don't feed the penguinistas. Anyway, they won't be happy until using any other OS is an offence punishable by death.
Err stop spreading FUD. The old Linux scheduler was also rock solid and reliable. The Linux community realised there were problems with the scheduler and different groups worked for literally years with different designs and implementations before one was chosen (and integrated in a development series kernel). FreeBSD then used Linux's basic design.
FreeBSD's VFS cannot cope with journaled filesystems, and either way they don't have the resources to port or create one, they didn't "skip" them. Softupdates is not hands down better than journaling as some people would like you to think.
I suppose you'll now hold the FreeBSD and charge in to battle "proving" me wrong by making a couple of baseless assertions, changing the subject and making a couple of false anti linux remarks to distract the heat from the last rebuttals....
I'm waiting.
2. is the most algorithmically scalable
This is an old study that was already addressed by the NetBSD folks whereby they beat Linux in almost every test.
(The Linux Kernel supports more architectures than the NetBSD kernel, idiot).
I love any argument that falls into random name calling, moron. As for architectures, go ahead and list them.
And nobody cares about your shitty DEC Alphas.
Jealous?
IA64, POWER are where its at now).
Why isn't google running on IA64's or POWER processors then? Because for most applications, 5 PC's are a better bargain than 1 POWER based system. As for IA64, as you already pointed out, FreeBSD runs on it.
has the fastest TCP/IP stack
I like how you link to a discussion about a particular driver as an example of which TCP stack is faster.
-sirket
You should be a politician. Pick issues where your candidate is ahead and pretend the other issues do not exist. I like that.
As a side note, who had USB support first?
-sirket
I don't know who the penguinistas are. I'll be happy when FreeBSD zealots stop spreading FUD about Linux.
Maybe its a filesystem limit. I don't know FreeBSD code too well. Anyway, Linux is now rid of this limit.
Oh you're one of those guys are you? Well if you run 32-bit systems then we have nothing to discuss because we are clearly in different ends of the business.
"you would know what a trivial joke it is to keep a FreeBSD box current. "
In theory. In practice I was always getting ftp timeouts and other obscure errors whatever site I tried to connect to. This was with 4.6, maybe
things have changed since then but I got so fed up with it I gave up. So please , give the "BSD is so easy to maintain" spiel a rest. It isn't always the case.
Hah shows how much you know.
TCP stack? Read the great TCP latency flamewar of about 1996 between Linux and FreeBSD. Linux had much lower TCP latency even then, and FreeBSD developers couldn't dispute it. (They made lots of noise and disputed everything else, but secretly their own benchmarking would have shown the same thing otherwise they would have posted numbers). Mind telling me which version of Linux copied which version of FreeBSD's stack?
As for the scheduler, I don't know why I even bother with you, but you obviously aren't capable of reading the code, so at least read the fucking paper linked by this article. I guess you won't even do that so I'll quote for you (from page 1):
Linux has also recently received a totally rewritten event driven scheduler from which ULE's queueing system was derived.
You have just proven yourself a know it all imbicile so I'll have nothing more to do with you.
2. is the most algorithmically scalable
This is an old study that was already addressed by the NetBSD folks whereby they beat Linux in almost every test.
Proof? I listed mine.
I love any argument that falls into random name calling, moron. As for architectures, go ahead and list them.
OK then, if you can't do it yourself:
Both: alpha arm hppa i386 m68k mips ppc sh sparc sparc64 x86_64
NetBSD: ns32k vax
Linux: cris h8300 ia64 ppc64 s390 sparc64 v850
Linux 17, NetBSD 13
Now who's the moron?
And nobody cares about your shitty DEC Alphas.
Jealous?
Err no. My cheapo x86 has more CPU power than your DEC Alphas.
IA64, POWER are where its at now).
Why isn't google running on IA64's or POWER processors then? Because for most applications, 5 PC's are a better bargain than 1 POWER based system. As for IA64, as you already pointed out, FreeBSD runs on it.
Operative word: bargain
has the fastest TCP/IP stack
I like how you link to a discussion about a particular driver as an example of which TCP stack is faster.
The statement he made was a general one about the capability of FreeBSD vs Linux. Learn to read.
I just realised how much of a moron you are. You wrote this:
... so you actually think that particular drivers have something to do with system call latency or the general statements "parallelism of the kernel" or "networking packets/sec through a single interface"?! Oh god you're an idiot.
I like how you link to a discussion about a particular driver as an example of which TCP stack is faster.
In response to a post I linked to containing this (and some quoted reply above it):
I have no idea really. All I know is that linux 2.4 is more parallel
than 5.x is today, yet it outperforms 4.x for things like system call
latency and networking packets/sec through a single interface.
Therefore it must be possible.
Err I didn't submit the post you replied to, but I never ignored other issues, you did.
In answer to your question, I'm pretty sure FreeBSD got USB support before Linux.
Is that all you have got? Must you continue to point out past victories and shortcomings? You are acting like a politician, my friend.
I am interested in how things stand right now. So spare me the history lesson from now on. If I want to hear about your dentures and your DEC Alphas I'll ask.
Windows had it first. Does that make it a better OS?
Neither Linux or FreeBSD are the end all be all of operating systems (oh and Windows definitely is not, please don't misunderstand me).
Why always with the fighting?
I wasn't fighting actually. Just researching the psychology of the BSD zealot.
This story has been quite productive for me and sirket has proven to be an ideal subject. I'm pleased that my discussions with him will be archived for reference - it will be quite enlightening to those who haven't observed the behaviour of this species before.
According to this, Con Kolivas suggests that the ULE scheduler is prone to the same problems that the Linux O(1) scheduler faced initially. Can someone with a more detailed knowledge of the workings of the ULE scheduler throw some light on this?
If you did not post as AC, we might take you somewhat seriously.
Ignoring the comment implying "obvious" superiority of softupdates, I'd like to point out that at least two of the journaling file systems available for Linux (JFS and XFS) come from companies with as much experience designing and writing FS code as anyone. To suggest that there is no direction or planning for code that goes into Linux (filesystems or otherwise) is pretty close-minded and bordering on ignorance, regardless of your preferences in software development strategies.
MacOS had it first. The original iMac shipped with a USB keyboard, USB mouse, and lacked any serial/adb port for printer, requiring one be made USB (they didn't exist on the release date of iMac).
if your worried about usb support you aren't using Linux or BSD for its strongest application which is server. USB support only maters for desktop usage.
and how would any other OS be easier to maintain in this senario?
I've never had an problems connecting to ftp.kernel.org to get the latest version of the linux kernel but then thats using bog standard ftp, not some
lash up semi-automated system a la BSD.
Lets us go back to the beginning:
"Of Linux and FreeBSD kernels, which...."
Erm, yes, so why do you mention NetBSD?
Still, answer the original posters questions with regards to FreeBSD & Linux ONLY!
And not like question 3, where the question is "which is the fasted single threaded performance?" and you reply "which is the most stable?"
That is hardly answering the question is it?
If FreeBSD is better - prove it. I'll get over it!
Umm.. I like how you talk "architectures" and list the CPU architectures. Yeah, ok both run M68K. Yup. NetBSD runs amiga, mac68k, sun2, sun3, hp300, next, luna68k...
can you please tell me other than the CPU itself, just how close in *machine* architecture those systems are? There is a *lot* more to porting an OS to a new platform than saying "oh, we support that processor". To think otherwise is foolish.
Compare actual *machine* architectures, and NetBSD has beat Linux since its inception.
Oh you like that do you? Thats good because I was talking about CPU architectures.
Well now I'll actually challenge you to back up your assertion that NetBSD runs on more platforms than Linux. List them for me.
Oh and another thing, "platforms" that you are talking about are pretty much uninteresting compared with CPU architectures.
You generally need maybe some boot code, poke a few chipset specific registers and maybe add some magic to a driver or two.
Supporting a CPU ISA means supporting its memory management scheme and page tables, TLB and cache architectures, cache coherency, word size and endianness.
And Linux supports a huge number of platforms that NetBSD has no chance with: embedded systems without an MMU.
Yeah my hero!!! You probably think you're cool or smart or whatever. :o)
Get a life!
Heh. You got your ego nicely deflated or whatever.
Oh and how about you get a fucking life. Who is the one lying about operating systems on an anonymous forum just to try to make theirs look better? Why the fuck would you go lie about that? Its a fucking operating system for god's sake are you such a pathalogical liar that you must lie at any opportunity? Fuck you.
USB support only maters for desktop usage.
Unless of course you want a keyboard or mouse, and the ones laying around happen to be of the USB variety. Hot-pluggable keyboards are quite handy for servers.
Don't blame me, I didn't vote for either of them!
Oh, and where is the proof about NetBSD being more scalable than Linux? Come one, out with it.
That is true.
Hot-pluggable keyboards are quite handy for servers.
WTF are you talking about? You unplug things from your servers? Hot-pluggable keyboards are useless for servers, because your business is either big enough to have a KVM switch on your servers (preferably a nice pull out rack-mounted LCD), or small enough to be able to afford 5 minutes of downtime while you swap keyboards.
As a side note, you could buy a new PS/2 keyboard and mouse for less than $10, or buy the adapters to convert them from USB to PS/2.
--That's the point of being root, you can do anything you want, even if it's stupid.
I'll be happy when you go troll fuckedcompany.com where you belong, you fucking coward.
Most FreeBSD users don't really care that Linux 2.6 has better overall benchmarks than FreeBSD 5.x by a cunt hair, at least according to this. It would be interesting to see these benchmarks updated now that ULE is the default scheduler...
If you were a professionial sysadmin maybe you would understand that performance is only one factor amongst many. I think I speak for most FreeBSD users when I say that Linux is an amazing OS that has obviously changed the landscape of IT for the better. We don't disagree. We simply prefer FreeBSD and would rather spend a few more bucks on fast processor and disk than put up with what we perceive as usability and maintenance headaches with Linux, its vast number of distributions and its lack of a standardized base system. However, it's not like I cringe when I have to admin, say, a RedHat system. I just have to jump through a lot more hoops to do things (like managing software compiled from source) that would be easy and standardized in FreeBSD. I'm also loath to rebuild the kernel on production RedHat machines since I'm either out on a limb without the benefit of RedHat tweaks and testing (if I grab generic source) or have to build my own kernel RPM's every week or so from RedHat's SRPM's. Those are just a couple of examples of why I'll take technically inferior but architecturally superior FreeBSD over Linux when I have the choice (and I'm talking about 4.9 here, which is obviously behind the curve, performance-wise).
Anyway, do us all a favor and FUCK OFF, you petulant brat.
*plonk*
WTF are you talking about?
I've got a rack of twenty servers. None of them have monitors or keyboards. If you need physical access to them (and ssh won't do), you hook up a monitor and keyboard to them. A KVM switch that handles twenty servers is going to be much more expensive than the monitor and keyboard, so you want a better solution.
In the past, the solution was the serial port. I connect my Wyse terminal the serial port and I'm set. That's because the serial port is hot-pluggable. But too many people are lobbying to get rid of serial ports. Enter USB.
Don't blame me, I didn't vote for either of them!
Yes, you're clearly in the "hobbyist who's saved enough money working at Burger King to buy an Opteron" end of the business. By the way, which "end of the business" is your boyfriend on?
Nice comeback.
Get a grip you stupid FreeBSD zealot.
Its true. Another good example would be the PowerPC CHRP and PReP platforms (IBM RS/6000), which are not by any stretch a Macintosh.
I have had very little luck getting a Linux kernel to boot on my RS/6K (a CHRP platform RS/6K), only getting some really old Yellow Dog Champion Server kernel (2.2.14 i think) to load a few kernel messages very fast then panic because the scsi system that my hard disk was on wasn't supported...
On the other hand, I wouldn't want to run NetBSD on it because of the lack of decent SMP support.
Ended up just saying to hell with it and putting a proper copy of AIX on it. Its a great server now... Go Unix!
.
BSD is free today. But GPL is free tomorrow.