Optimizations, SPARC/PPC/Itanium/Opteron ports, third party tools
8. Are there any plans to optimize FreeBSD by default for the i586 or i686 architectures only as opposed to plain i386? How are your port to PPC is coming along? Are there any plans for a working SPARC port? Most importantly, what about support for the AMD Opteron and Intel Itanium?
Scott Long: FreeBSD 5.0 stopped support for the 80386 in the default installation
due to the pessimisation it brings to kernel. The 'make world' command
makes it very easy to rebuild the entire OS, so we leave it up to users
to decide what optimizations they want to enable.
FreeBSD 5.0 introduced support for the sparc64 platform. With used
UltraSparc systems cheaply and easily available, this has been a hit.
There are no plans for supporting the older sparc32 platform as it is
quite dated in comparison.
AMD64 platform support is quickly gaining momentum. Peter Wemm from
Yahoo! has a native 64-bit amd64 kernel booting right now, and it is
only a matter of time before it is running useful userland applications.
FreeBSD 5.0 also introduced support of the ia64 platform, though it only
supported the Itanium1 systems. Itanium2 support has progressed
significantly since then.
Wes Peters: i586 or i686 only? No, but FreeBSD already has a number of
optimizations that are specific to each class of Intel (and AMD)
processor.
Even more than that, parts of the kernel support functionality that only
works on 586 or 686 processors. FreeBSD 5.1 will ship with support for
PAE, the Physical Address Extensions in the 686-class processors. This
means you can put more than 4GB physical RAM in a machine and make use
of it. Each process still has a 4GB virtual address space, but you can
have more than one 4GB process resident in memory without paging to
external storage. This is very important for databases, for instance,
where you may need to store large index tables in memory.
This doesn't mean we're going to remove support for 386- or 486-class
processors, these optimizations are produced as you build the kernel or
the rest of the system. In the BSD world, rebuilding the system is not
seen as a barrier; in my home workstation it takes 30 minutes or so, on
a garden-variety Athlon XP 2000+ system.
Note that some of gcc's optimizations produce code that fails, you do
have to be careful when trying to optimize some kernel functions. We
try to focus on correct and elegant code rather than relying on
esoteric compiler optimizations to achieve performance. At the lowest
levels, understanding the interactions between critical code segments,
the data structures they reference, locking issues, and cache
interactions lends enough complexity without worrying about what the
compiler might be doing behind your back as well.
The SPARC64 and IA64 (Itanium) ports have been running stably for months
now and were included in the 5.0 release. We even have clusters of
machines building binary packages from the ports system for these
architectures. x86-64 (Opteron) boots and runs but is still in the
early stages of development. It is in the hands one one of our most
experienced and capable developers (a fellow Core Team member) and I
expect it to progress rapidly.
The PowerPC port has been progressing slowly, only a single developer is
working on it. He has gotten the kernel booting on at least one of his
development systems. You can keep up to date with his progress at the
Daily Daemon News site. ;^)
Greg 'groggy' Lehey: Yes, we've been doing this for some time, and we'll continue to do so.
[ How is your port to PPC is coming along?]
Slowly. PPC is not a priority for the FreeBSD project: if you want BSD on PPC, buy a Mac. MacOS X is a BSD operating system, and it's not clear what advantages a FreeBSD implementation on this hardware would have for normal users.
Yes, we have a working SPARC port.
M. Warner Losh : The Sparc64 port is one of the tier 1 platforms in FreeBSD 5.x. A
tier one platform has full support, and everything is expected to work
on that platform. In addition, full releases are built by our release
engineering team.
9. Are there any talks with Intel to port their compiler and tools to native FreeBSD? How about Rational's Purify? (commercial companies developing for or under FreeBSD might be in great need of these tools).
Scott Long: Intel's 'icc' and Rational's Purify both run great under FreeBSD's Linux
emulation layer. This layer provides a linux-like kernel and userland
environment for linux applications to run in. Linux games like Quake 3,
Return To Castle Wolfenstien, and NeverWinter Nights also run flawlessly
on FreeBSD via this layer. Some say they even perform better than
running on native linux.
Wes Peters: Not that I know of, in either case. The Intel compiler for Linux runs
adequately on FreeBSD and can be used to compile C source files into
object files that are linked into FreeBSD executables. While the Intel
compiler produces object files that are in some cases quite a bit
faster on Pentium 4 processors, making a compiler that can't just plug
into the Linux native development tools was a curious step.
If they would release the source code to the compiler we would have a
port to FreeBSD in short order at no expense to Intel, but I dont'
foresee that happening anytime soon.
Table of contents
- Intro, Java, Corporate Support
- Linux, the desktop market
- Maturity of 5.x branch, speed of development compared to Linux
- How FreeBSD compares to other Unices
- Bug resolution, team work, graphical installer
- Optimizations, SPARC/PPC/Itanium/Opteron ports, third party tools
- XFree86 issue, re-unification of the BSDs, UFS2
- The SCO questionmark
|