The latest FreeBSD Quarterly Status Report is out.
Efforts to bring our BSD high standards to new architectures continue, with impressive work on arm64 leading to its promotion to Tier-2 status and a flurry of work bringing up the new RISC-V hardware architecture. Software architecture is also under active development, including system startup and service management. A handful of potential init system replacements are mentioned in this report: launchd, relaunchd, and nosh. Architectural changes originating both from academic research (multipath TCP) and from the realities of industry (sendfile(2) improvements) are also under way. It is heartening to see how FreeBSD provides a welcoming platform for contributions from both research and industry.
Everything you need to know to be up to date with FreeBSD.
I always got the impression that the BSDs were actually engineered.
“Linux – though successful – is a hotchpotch of stuck together bits n pieces.
Linux won the adoption race because stuff worked well-enough sooner. But in the long term its technical debt will cause it to fall behind as the risks and issues materialise.”
Discuss.
I do not know.
I agree with you, I think BSDs are engineered in a better way than Linux is (or was), but though maintaining Linux can be a nightmare, there are by far more developers and corporate support in order to have it working/fixed/refactored or actually scaling better than its counterparts.
I like a lot the BSDs, but I was never able to have them working in my desktop as good as I would want to. Linux is by far more desktop friendly.
Edited 2016-02-05 01:28 UTC
project_2501,
I agree with your premise, but not your conclusion.
Better engineering is not enough. “Good enough + critical mass + better support” can still win over “better engineering”.
This is absolutely correct. This is exactly how Windows killed off OS/2, RISC OS, BeOS, NextStep, and almost every other alternative desktop OS. It’s also why the PC/AT architecture won out so effectively (it saddens me that SPARC and MIPS are essentially dead outside of embedded design). You can have the best design in the world, but unless you can get enough people using it, it won’t go anywhere.
Sparc is not dead, in fact the fastest cpu today is sparc m7. It has 32 cores, 256 threads. Each core is faster than the fastest intel xeon. Sparc m7 is normally 2-3x faster than the fastest intel xeon and ibm POWER8, all the way up to 11x faster. Here are 20ish world records by the SPARC M7:
https://blogs.oracle.com/BestPerf/entry/201511_specvirt_t7_2
The largest M7 server has 16 sockets, 4096 threads, 16 tb ram, weighs 900 kg. Oracle is experimenting with 32 tb ram konfigurations. M7 cpu runs full speed with encrypted data, on x86 you will see a large penalty if you try to encrypt all data, maybe 1/3 of the performance. Not so on sparc, you can run full encryption and still get up to 11x higher performance than x86 and power8. If x86 and power8 also runs encrypted data, the SPARC M7 would typically be 4-6x faster all the way up to 22x faster. It also catches dangling pointers and illegal memory refernces in real time, maling it invulnerable to Heartbleed attacks. Here is more technical info:
http://www.enterprisetech.com/2014/08/13/oracle-cranks-cores-32-spa…
Oracle has released five sparc cpus in four years, each 100% faster than the previous generation. Next year we will see SPARC M8 which will again be 100% faster.
I was unaware that it was still being used in HPC applications other than the K Computer, but that is beside the point that I was trying to make, which is that it’s a good example of good engineering that essentially disappeared from mainstream usage due to an inferior design having better support.
Also, ‘fastest’ needs to be properly quantified for it to be valid. The benchmark you linked is extremely domain specific, and it doesn’t surprise me at all that SPARC processors would excel at it as it’s very context switch heavy, which is what SPARC has always been amazing at, because it was designed for UNIX systems and virtualization workloads. Now go take a look at the TOP500 list, (This is also a synthetic benchmark, but it’s more similar to what most people think of as ‘fastest’), on the current list (November 2015) there is exactly 1 SPARC system in the top 10 (The K Computer at #4), 2 POWER systems (Both of them Blue Gene installations, at #3 and #5), and the rest are x86 systems (Most of which are Cray systems).
As far as the rest of your description of the M7 processors, that just further reinforces the point I was trying to make.
Fun fact though, a lot of ESA spacecraft run on a SPARC derived processor design called LEON, which is one of the most easily available radiation hardened processor designs, and can be trivially synthesized on an FPGA.
Kebabbert,
I’d love to have one to play with
Sparc is not dead, in fact the fastest cpu today is sparc m7. It has 32 cores, 256 threads. Each core is faster than the fastest intel xeon.
https://www.youtube.com/watch?v=X65dbVfG8qo
m7 core is dual-issue + simple OoO
2 ALU’s, 1 LSU, 1 FGU, 1 BRU, 1 SPU
16kb of L1$ shared by 8 threads
This is worse than low-end mobile core, and in a totally different league from Xeon no matter how fast you clock m7 (~4GHz).
Probably for enterprise workloads with IPC <= 1 it is ok, but no way it is a “world fastest CPU”.
Edited 2016-02-06 21:40 UTC
I like the BSDs. I’ve tested OpenBSD, FreeBSD and PC-BSD (aka, FreeBSD with the included GUI). I am really interested in testing DragonflyBSD, as it feels like it’s the only one actually doing “cool” stuff. It took me a little while to get used to the idiosyncrasies of each, but overall I found them very useful.
My problem, however, is that I own whatever computer I got as a hand-me-down from members of my family and/or friends. It is rare that I actually get a configuration which will work 100% with any particular BSD flavor. In my opinion, the problem with the BSDs have always been the same: developer resources.
By the way, you are wrong in one aspect… The Linux kernel did not win out over the BSD kernel because it was able to work well enough sooner, it won out because of the AT&T lawsuit. I was too young to remember most of it but everything I’ve read over the years suggests the BSD kernel was a huge contender to be the GNU system’s kernel of choice. However, because of the lawsuit, no one wanted to touch it with a ten-foot stick. Once the lawsuit was finally settled, work had already started on the ports of the GNU software to the Linux kernel and, by then, BSD development had been set back 5-10 years.
I don’t know… I think 25 years constitutes a pretty long term. If what you say is true, it should have happened already.
Look around, the opposite is what happened.
I’m not sure that is true. While Linux is ahead in some areas, it has generally lagged behind in others. For example, I’d say it’s fair to claim Linux has more applications (Chrome, Steam) and tends to get new applications faster. It also is ahead in terms of video drivers.
But FreeBSD tends to lead in other areas. FreeBSD had jails and the Warden long before LXC and Docker made containers usable on Linux. FreeBSD has had stable ZFS support for a couple of major versions now while Btrfs still isn’t considered production ready on Linux.
Also, the “try something, find out it doesn’t work, try something else” approach you associated with Linux is much less appealing to some people when compared next to FreeBSD’s “ship when it’s working and ready”. Look at all the fuss PulseAudio, GRUB2, systemd, KDE4, GNOME Shell etc have caused over the years in Linux land. FreeBSD tends to evolve gradually and with less fuss/breaking. Linux development may be faster and more exciting, but I don’t want exciting for my workstations/servers, I want stuff to work consistently. As such I find it hard to see the “try multiple ways” approach as a positive.
I’m kinda disappointed in the lack of news on the PPC front, specifically new POWER systems.
Right 11-CURRENT runs on Power8 systems via PowerKVM, but not on bare hardware.
The whole OpenPOWER thing is pretty exciting, I think. I’d love to see PPC return to Tier 1 status, especially on big systems like these.
You could look at NetBSD, it’s a bit less ‘batteries included’ than FreeBSD, but it runs on EVERYTHING (I’ve got a friend who runs it on an old Dreamcast, I have it running disk-less on an old PA-RISC system and on a VAX simulator, and I’ve seen it run on an Atari Falcon, first generation Amigas, and a bunch of other hardware). It’s also a bit more lightweight in the default config than FreeBSD.
I love NetBSD, but it doesn’t run so well on newer server platforms, other than x86 and ARM – the latest SPARC64 processors it runs on are the UltraSPARC III varients (IV is untested) but the T1 and later chips, and all Fujitsu chips, are unsupported.
The only IBM PowerPC systems that NetBSD runs on are 15 years old, too. It may run on newer systems using the more generic OpenFirmware PPC ports, but that is less than optimal.
It also isn’t geared for the type of workloads you’d be running on a POWER system.
Edited 2016-02-05 17:28 UTC
FreeBSD has at least part of a proper port to POWER8, and of course Debian has a full, first-class POWER8 port called ppc64el.
I have an IBM AS/400 eServer iSeries 9406-170 and would love to be able to run a UNIX on it. Any chance that NetBSD will work? I doubt it…
The NetBSD ofppc port may work. Your system isn’t listed, but it might be worth it to try to see if it boots up. I doubt it will, but, who knows?
AFAIK no pre-POWER5 AS/400 has OpenFirmware, and Linux is the only Unix that will run on them. Even then, it will only run on the ones that support LPARs (there is no support for bare-metal Linux on them). It would be possible to port NetBSD to run on “classic” POWER AS/400s with LPAR support, but nobody has done that yet.
I have never come across any BSD in the wild. I ran linux exclusively for many years, tried BSD once and it seemed, for my purposes as a desktop to be very backward. I”m also a developer and have deployed many backend services, all to Linux. On all the projects I’ve ever worked on and people I’ve interacted with, I’ve never once heard of anyone deploying a backend service to BSD. Linux dominates mobile and many of the IoT platforms, drones and robotics, etc.
Is there a niche where BSD is dominant?
remember, quantity != quality… it does not have to be dominant to be good.
when i hear about BSD being used, usually is in network infrastructure.
FreeBSD is for example used by WhatsApp and Netflix:
http://uk.businessinsider.com/whatsapp-built-using-erlang-and-freeb…
http://www.wired.com/2015/10/whatsapps-co-founder-on-how-the-iconoc…
https://www.nginx.com/blog/why-netflix-chose-nginx-as-the-heart-of-i…
https://www.youtube.com/watch?v=KP_bKvXkoC4
Yeah, take a look at stuff like FreeNAS or pfSense, they’re both FreeBSD derived network appliance OSes that are at least on par, and in many respects superior to, the equivalent commercial OSes. Add to that, BSD is extremely popular for internet routers and gateways (not home routers, but the ones that actually make up the backbone of the internet), and it’s not an uncommon choice for web servers.
In general, BSD wins over Linux for general network systems, whereas Linux is usually better for clustering and HPC.
I wouldn’t say that’s true. FreeBSD is the heart of the traditional Junos OS from Juniper, but it doesn’t actually touch any of the packets. ASICs do that, and Junos just programs the forwarding tables. With Cisco Nexus switches, the same is true but with Linux as the heart of NX-OS. In both of these cases, there’s nothing one OS does that the other couldn’t do for that specific task. They run processes, maintain routing adjacencies, and program the TCAMs and UFTs on the line cards/ASICs.
(Also, any Juniper switch with a Broadcom Trident or Tomahawk ASIC (most do) has Linux in them [the Broadcom chips run it])
Juniper’s SDN solution Contrail, runs Linux, not FreeBSD. The trend towards whitebox-style Ethernet switches is also a Linux trend. OpenFlow, VXLAN, network controllers, etc., the development and work is being done on Linux.
Pretty much all of the next generation networking products, technologies, and projects are Linux-based.
nicubunu,
Clearly you are right. However more mindshare and scales of economy can mean better support (host hardware/peripherals/software/developers/etc). A less popular choice can require more effort and expenses to implement even if it’s good. It can be easier/cheaper to be a sheep and go with everyone else.
One of the major economic problems of our time is that virtually all the resources go to the top just for being popular, those in the lower margins struggle with under-funding regardless of merit, which is true of the BSDs. I don’t have a solution to this.
Edited 2016-02-05 14:06 UTC
It’s been the basis of Sony’s Playstation OS in the PS3 and PS4
I don’t think there is a niche where FreeBSD dominates, it does a pretty good job in most server categories. It might not be the top dog in any one field, but it gets used a lot.
Netflix and WhatsApp use FreeBSD heavily, and Netflix’s contributions back to the project are mentioned in the quarterly report. Sony uses FreeBSD as the basis for their PlayStation operating system. FreeNAS appliances run on FreeBSD. Our company uses FreeBSD for its servers.
So FreeBSD may have a small market share overall, but it is probably used to send a huge percentage of the world’s Internet traffic and runs one of the world’s most popular gaming consoles. Plus it is used to store vast amounts of data behind the scenes, via ZFS/FreeNAS boxes.
BSD has better tcp/ip stack. Networking is better on BSD than Linux. In fact facebook who runs on linux servers, wants to make linux stack better so it can rival bsd (why not switch to bsd instead?):
http://m.slashdot.org/story/205565
I can think of a couple of reasons why Facebook would want to stick with Linux:
1. All their custom software runs on Linux and they would need to port all of that to FreeBSD and test it if they switched.
2. They want network performance that is _better_ than FreeBSD, not _equal_ to FreeBSD. Switching to FreeBSD doesn’t give them that. Doing a little patching on Linux will.
3. All their admins are trained on Linux and it would be expensive to re-train/replace them.
In short, switching to FreeBSD doesn’t solve their problem, introduces a lot of new problems and would be expensive. Doing a little patching to the Linux kernel will be orders of magnitude less expensive, faster and provide a better solution.
In many areas, Linux dwarfs BSD’s networking stack: Specifically the frontiers of networking and virtualization.
Overlay networks, such as VXLAN, and the control planes (MP-BGP EVPN VXLAN), and Software Defined Networking (SDN) is almost exclusively a Linux realm. So much so that even Juniper, who’s Junos has traditionally been FreeBSD-based, uses Linux for their SDN controllers and open switching platforms.
In virtualization, the BSDs are way, way behind. There’s still no decent Type 1 hypervisor. Last I checked you couldn’t even run FreeBSD in Dom0 in Xen, and even if you could, the features are much more limited than in Linux. No major cloud providers run BSD-based hypervisors. The only major non-Linux cloud provider is Microsoft.
Virtualization and next-generation networking (SDN) are dominated by Linux. BSD in many ways is in the beginning of catch-up phase.
Jails has even fallen way behind on the networking front to Docker. Docker has a networking stack that allows micro-segmentation and host-to-host stretched networking/encapsulation through VXLAN.
In those worlds BSD isn’t even a consideration.
Just curious–I was under the impression that FreeBSD’s Bhyve hypervisor was of the same type as KVM. And this Wikipedia page claims they are both “sort of” Type 1 and Type 2: https://en.wikipedia.org/wiki/Hypervisor . Is KVM what you had in mind as a Type 1 for Linux?
Not that I’m contending your main point, that FreeBSD is behind in virtualization, but I think it is making more advances than you might be giving it credit for.
Bhyve could be considered type 1, but it’s far behind Xen, KVM, and Hyper-V, and well behind ESXi in terms of what we’ve taken for granted as being in a hypervisor. Virtual networking, OS support, VMM tools (vMotion/Live Migration, orchestration, etc.) Hence, not quite decent yet
It’s probably the “rape me niche” due to its licensing terms.
Well, BSD is free as in love, not as in freedom.
I keep hearing this from the FreeBSD fan camp. It’s hard to decide if it’s an expression of a religious mantra, or an instantiation of what Goebbels said about repeating something enough to make it true.
No, the documentation really is excellent. Especially compared to Linux where man pages often seems to be an afterthought.
Edited 2016-02-08 08:33 UTC
Seconded. Though even FreeBSD, as well documented as it is, isn’t as well documented as OpenBSD is. FreeBSD’s documentation, along with NetBSD’s, is superb. OpenBSD’s is outstanding.
When it comes to FreeBSD and linux a big chunk (the majority?) of the man pages in both systems are literally the same. Besides, man pages are terrible forms of documentation anyways.
I have actually had to work with the kernels of Linux, FreeBSD, and NetBSD. The documentation edge on kernel internals and specifics, actually goes to linux.
In any case. It’s the second decade of the XXI century, people take access to the internet to search for things for granted now. So the access, quality, and quantity of documentation/information between FeeBSD and Linux are pretty much on par with each other; google.
Edited 2016-02-08 18:37 UTC
tylerdurden,
Personally I still use “man” quite a bit. I’ll use the web when I want to find something different. Having man pages online can be useful too, but it’s actually kind of annoying that there are so many copies that rank higher than what I’m looking for. Oh well. One major gripe with search engines is still when they don’t respect literal quotations (damn it google, despite thinking you know better, I actually did want that to be a literal match).
Edited 2016-02-08 19:33 UTC
I very much agree. Why on earth would I switch to a different monitor at work and look up the man page online, when I have the console open right on my screen and I can just use man to get that particular information.
You obviously haven’t read any OpenBSD manpages. It’s not about having access to the internet, it’s about having a coherent, consistent place to look for documentation without going through user forums where there is one question and a million “me too” or “bump” responses which convey zero informational value.
LOL. At this rate some of you are going to pretend reading a BSD man page is some kind of mystical experience.
I am using FreeBSD in Microsoft Azure. It is not as easy to deploy as the few linux distributions that are supported by Microsoft and I had to get wet with some networking that I hadn’t done in a while but it works great.
I am currently using jails to squeeze all the performance I can from a single core. Jails keep the layout really nice and the security pretty tight.
Still wondering if “Jonathan de Boyne Pollard” is a pen-name for “Lennart Poettering” maybe changed his name to avoid angst this time?
I’m currently using PC-BSD (FreeBSD with a few preinstalled tools) in Virtualbox. So far the experience has been excellent.