Linux becoming a mature operating system

Linux has always been a nice free and stable operating system. But from the user’s point of view it was somewhat primitive and lacking some basic features. Perhaps that was one of the primary reasons why GNU continued to develop another operating system, the Hurd.

But things have recently improved a lot. By integrating FUSE into the official Linux distribution and Linux-VServer into Debian Linux kernels, two important Linux limitations are mostly gone.

FUSE allows users to create their own virtual user-space file systems. That means the elegant facility provided by Hurd translators is available in Linux now too. It’s finally possible to mount remote directories transparently, to create usable automounters, to implement new file system features in high-level programming languages, etc. and that all without root privileges.

There is still a missing feature though. FUSE currently provides only active translators that require explicit startup and do not survive the next reboot. Passive translators, i.e. permanent translators started automatically when their mount point is accessed are still not available. Hopefully they will be added to Linux too.

Linux-VServer allows you to use several virtual machines on a single hardware. It’s something like running new Hurd instance inside another already running Hurd instance. Linux-VServer, unlike hardware emulators, allows separating independent tasks without any significant burden on the hardware – the CPU, RAM and disk usage overhead is negligible. With your processes running on different virtual machines, you are more protected against both accidental and intentional failures. For instance your web server can always run on a dedicated computer (as it should) without the need to dedicate it actual separate hardware. Then you can safely upgrade each service separately without the danger to damage other services and with the possibility to roll back to the original version immediately.

With Linux-VServer (or similar projects) hardware can be used more efficiently. Instead of having a lot of physical computers being most of the time idle you can build a few bigger physical machines running a lot of virtual computers for many users and uses. I didn’t like the single big machine approach before because it required interaction with sysadmins. User: “Would you upgrade Emacs installation there, please?”, Sysadmin: “What is it Emacs?”, U: “It’s a text editor.”, S: “I don’t use it.”, U: “Would you still upgrade its five years old installation, I need new Emacs features.”, S: “No, it could break.”, U: “Hm, hopefully I won’t reach my $HOME quota this time…”. With Linux-VServer, the user can safely receive his own virtual computer and run his own operating system of his choice on it without messing with other users (and sysadmins, most of the time).

Linux-VServer is still immature, especially it lacks proper documentation, but nevertheless it’s already very useful. Both FUSE and Linux-VServer are promising and give us a hope that a free and usable modern operating system will be available sometimes.

AMD64 dual core as a power saving solution

One of the interesting features of the AMD64 X2 architecture is that its declared power consumption is not higher than of single core AMD64 processors running on similar frequencies. So if you perform significant amount of tasks that can be parallelized (e.g. running a build daemon), you can choose between two different advantages of the dual core system: higher performance or reduced power consumption.

The latter should be achievable by running the CPU on half of its standard frequency (using the Cool`n’Quiet technology). This way you may get a high performance system that can be easily dynamically turned into a system with about half the CPU power consumption and performance of a single core system running on the full CPU frequency. Cool. It seems it makes perfect sense to run ‘nice make -j3′ on a dual core system.

udev troubles finally solved

After spending total amount of several dozens hours of fighting with the infamous udev arbitrary device name assignment, I’ve finally won. Device name assignment is absolutely underdocumented and I was able to get it work only thanks to the kind people sharing their experience and knowledge on the net. For the record, after a lot of googling and experiments I ended up with the following setup of the multiple network and sound cards on my Debian system:

  • In module configuration:
options snd-... index=0
options snd-... index=1
options snd-... index=2

This ensures ALSA devices are assigned to the defined positions.

  • In /etc/udev/udev.rules:
KERNEL=="eth*", SYSFS{address}=="00:11:22:33:44:55", NAME="wan"
KERNEL=="eth*", SYSFS{address}=="ff:ee:dd:cc:bb:aa", NAME="lan"

Note:

  • Matchers have two equal signs, assignments only one.
  • Hexadecimal digits of the MAC address in ‘SYSFS{address}’ must be written in lower case. Stupid, stupid, stupid.

Then the network devices are accessible under the names ‘lan’ and ‘wan’ and you should use them in ‘/etc/network/interfaces’ instead of ‘eth0′ etc.

AMD64 performance

Having finally an AMD64 system in my hands, I’m positively surprised by its performance. When I switched from a Duron 650 MHz to a Celeron 2.6 GHz a few years ago, the performance increased much less than I expected. This applied to Sempron 2400+ (~1.6 GHz?, Socket A) as well, it ran only slightly faster than the Celeron. The increase in performance was significantly lower than increase of the (AMD) CPU frequency. After that experience and having read some articles about current processors and 64-bit systems, I didn’t expect too much from an upgrade to Athlon64 X2 3800+ (2.0 GHz), despite AMD64 users around me reported great performance with their AMD64 systems.

Surprisingly, according to my first tests GNU/Linux runs about 2-3 times faster on the Athlon64 than on the Celeron (measuring single processes). The overall user experience confirms the timings, e.g. Firefox doesn’t feel like a terrible CPU hog now. I can think about the following reasons for the great performance:

  • CPU+bus PC technology finally improved in such a way that it can deliver much better performance with the same CPU clock frequency.
  • The 64-bit mode is faster than 32-bits on AMD.
  • 32-bit system binaries are compiled for a general i386 architecture, while the 64-bit system is optimized directly for the target architecture in Debian.

Overall Athlon64 at 2.0 GHz seems to be very roughly about 5 times faster than the 6 year old Duron at 650 MHz, which means that the performance increased more than the CPU frequency. Cool.

As for the dual core performance, it seems to serve its purpose. Of course, don’t expect it to speed up your single tasks. At best you can try to run ‘make -j3′ on ‘make’ based build systems. If you’re lucky, your compilation time can decrease to almost half the standard compilation time, but you may face two problems: 1. Not everything can be built in parallel (e.g. speed improvement of Emacs compilation is only about 10%, since the Lisp part compilation is not parallelized); 2. Conflicts can occur in parallel compilation (as happened to me at least twice – in Emacs and in Festival), forcing you to manually restart the compilation. Well, I don’t use Gentoo nor run a Debian builder machine so compilation time tuning is not that important to me.

The real benefit of the dual core architecture on a mixed desktop/server system is that background tasks run without disturbing your interactive work. You no longer need fear to run big rsync tasks (such as backup) or multimedia processing on background while doing unrelated interactive work. (This is something to be appreciated with the current state of software when one should buy a strong machine just to use a modern web browser comfortably.) So far it works well, but I must wait until the machine gets into its full service before making my final statement about saving time, patience and coffee.

OS reinstallation after 10 years

IIRC, I’ve been running Debian GNU/Linux on my primary workstation since summer 1995. All that time (almost 11 years!) the operating system ran without any single reinstallation, starting with the Debian 0.93R5 version and ending with mixed sarge-etch (post-3.1). I only performed upgrades, I’ve never reinstalled the system from scratch. None of the upgrades required immediate reboot as used to be (or even still is) required by some other operating systems. The system survived all the upgrades (including numerous development versions), kernel failures, user failures, experiments, hardware changes, etc. running daily or even 24 hours/day. Such a stability is exceptional and it proves that stability is indeed one of the primary Debian features and that Free Software is a very stable and future-proof platform.

The operating system is being reinstalled now. It’s not because of its instability, the system still runs and can continue to run well, but my primary workstation gets upgraded to an incompatible hardware architecture (64-bit system). So I can’t simply copy my operating system from the old hard drive to the new one as I used to do on all the former hardware (disk) upgrades.

Czech alternative music

There are many interesting artists in the area of Czech independent music. Some of them succeeded to get rather popular, Iva Bittová, Radůza, Psí vojáci, Už jsme doma, Tara Fuki are relatively well known today. Not that everyone here has ever heard about all of them, but probably none of them is unknown to anybody who watches Czech alternative a bit.

But there are still many less known artists and bands among them who make great music. Just a few tips here. Dagmar Andrtová-Voňková is an excellent guitarist and singer-songwriter. If you’d like to listen to great guitar performances quite different of what you can usually hear, don’t miss her works. Another very interesting person is Vladimír Václavek, all his music is very impressive, whether it comes from his solo works, from cooperation with Iva Bittová or from some of his (and other people) bands such as Rale. Whether you like Irish music or not, the band Dún an doras performs it in such an excellent way that you’d probably enjoyed it anyway. I’ve listened to them once live in a small pub and it was a great experience. Of course their recordings are excellent as well. And I’ve already mentioned Sestry Steinovy here some time ago.

BTW all the names mentioned above have something common – at least one album in the catalog of the Indies Records label and at least one of them available on eMusic. What Indies Records does is really great and all the great music is available thanks to them.