| SUSE 9.3: REAL VIRTUAL
From a rock-solid desktop to serving the Zen of Xen |
||||
|
|
|
Every 6 months SUSE releases a
new version of SUSE Linux Professional. These releases of SUSE LINUX Professional are intended to deliver the
latest and greatest of Linux technology in a stable well-documented distribution. These distributions are not
intended for production IT environments: For these environments, there is SUSE Linux Enterprise Server and Novell
Linux Desktop. The SUSE LINUX Professional distribution is actually focused on two target audiences: first-time
uses and technical enthusiasts. That dichotomy of users may seem strange at first, but there is an important
thread of commonality between the two.
First-time users need a reliable, easy-to-install, and easy-to-use desktop environment that includes applications for sending and receiving e-mail, chatting online with friends, and organizing and sharing digital photos. For these users, SUSE LINUX Professional comes packed with leading open source applications and complete documentation, which is an important formality. The other group of users is made up of technical enthusiasts and systems developers. This group needs a stable Linux distribution that also provides the latest technologies needed to assess the feasibility of using Linux to host web services, blogs, create computational clusters, and support other corporate projects. For this group, complete documentation is a necessity, not an important formality. |
|
In SUSE LINUX Professional 9.3, both groups of users will find the stable state-of-the-art Linux platform they need for a computing foundation. This distribution is built on the Linux 2.6.11 kernel and provides the two major desktop environments: KDE 3.4 and Gnome 2.10. Also to be found is a vast number of additional components and applications to provide all of the necessary services needed by any one user. Of particular importance are the pre-release version of OpenOffice 2.0 suite—actually version 1.9.79—and the Xen virtual machine 2.0.5. The new version of OpenOffice.org for the first time adds a database to the open source suite, which closely mimics MS Access. Xen, on the otherhand, provides asoftware virtualization for Linux on X86 that is similar in concept to the virtualization on IBM mainframes. One of the more interesting aspects of the new SUSE release is the perceived responsiveness of virtually all applications when running the KDE 3.4 desktop. The KDE desktop is a huge umbrella, which includes applications from Kate, the editor, to Kwallet, the secure repository for passwords. Given that kind of scope for KDE, global statistics, such as more than 6,500 bug fixes and more than 80,000 new contributions representing several million line of code, can be somewhat misleading, especially when it comes to cause and effect. |
|
Nonetheless, there is a noticeable quickness in response for all applications including those outside the purview of KDE. In particular, Samba is near instantaneous in discovery and setting up network connections. Actual throughput in our tests compared to SUSE LINUX Professional 9.2, however, did not change. |
|
What did change quite dramatically was what Microsoft likes to term "the end-user experience." This is the purely subjective impression that a user gets about quality and performance from a number of different feedback mechanisms. We observed similar qualitative, rather than quantitative, results while running our oblCPU benchmark. True performance, as measured by the geometric mean of the CPU time for each computational kernel in the benchmark, which we had compiled with gcc 3.3, was in a statistical dead heat with the previous release of SUSE LINUX Professional. Nonetheless, we observed much better balance and distribution of the processing load over the two physical and the two virtual hyper-threading processors in our HP Proliant ML350 G3 server. |
|
|
Whatever the reasons are for this change, whether improvements in kernel scheduling, thread-level execution, or improved desktop environment, the results are clearly perceived as a more responsive desktop. In marketing terms, "This is a desktop that pops."
|
|
A groupware wizard makes accessing to servers, such as Novell GroupWise, SUSE Linux Openexchange (SLOX), and MS Exchange a trivial exercise. By simplifying the connection, the wizard readily enables such features as shared email folders, central address books, group tasks, and group meeting schedules. Within minutes, we set up full integration with our SLOX e-mail server. Simply choosing SLOX server integration and entering the url of our server gave us full access within Kontact to the server’s address book and the free/busy calendar information stored for each user. We did run into one curious problem with calendar functionality. When we entered an appointment in SLOX via its web interface and then pulled the appointment down to KOrganizer, the scheduled time was consistently one hour earlier than on SLOX. |
|
What made this behavior even more anomalous was the fact that this time-sequencing variation would not occur in the opposite direction. An appointment entered into KOrganizer would propagate upward to SLOX in the correct time period. |
|
Sporting an interface very similar to KMail, aKregator puts subjects at the top and the articles below. Also like KMail, aKregator provides tight integration with Kontact. Since not all RSS feeds contain all of the information in an article, Akregator tightly integrates with KDE's web browser, to provide a smart solution to the problem. Clicking on any link in the feed opens a new tab in the embedded browser. Within this tab, the full web page will be displayed. KAddressbook also integrates with KDE's instant messenger Kopete. Kopete features an improved contact list showing contact photos and support includes AIM, GroupWise, ICQ, IRC, Jabber, Lotus Sametime, MSN, Yahoo, and sending SMS text messages. |
|
Kontact and Novell Evolution are also both integrated with the Novell edition of OpenOffice, which is a pre-release version (1.9.79) of OpenOffice.org 2.0. With its solid MS Office file compatibility, OpenOffice.org is indisputably the most popular Linux office suite. Newly added to the word processing, spreadsheet, slide presentation, and drawing tools in OpenOffice.org is BASE, an MS Access work-alike. Built on an HSQL database engine, which stores data in XML files, BASE provides wizards, design views, and SQL views for beginners, intermediate, and advanced users. Everything about BASE is designed to ease an MS Access user into becoming a BASE user. More importantly, the addition of BASE puts OpenOffice.org on a functional equivalency with that of the Premium Edition of MS Office. Unfortunately, there is a hurdle to making the move to BASE. The version of BASE in the pre-release version of OpenOffice.org did not support opening an MS Access database (i.e. an mdb file). There are several potential workarounds for this problem. One is to use ODBC, which requires installing a copy of OpenOffice.org on Windows. Another approach is to use the KDE database front-end tool, knoda version 0.7.4-test1, in order to move the data into MySQL, which is supported by BASE. This new version of knoda introduces a driver to read MS Access database files natively.
For a machine to support the concurrent execution of multiple operating systems the virtual machines must be isolated from one another. Execution of a program on one machine cannot adversely affect performance on another virtual machine. There are two ways to go about solving this problem. The traditional way starts with a VMM that exposes virtual hardware that is functionally identical to the underlying machine. This opens up a number of problems with X86 machines, especially when it comes to I/O. Xen presents a virtual machine abstraction that is similar but not identical to the underlying hardware, which is dubbed "paravirtualization." This approach, which is used in the IBM zSeries mainframe, requires changes to the guest operating system: In other words, a special Xen Linux microkernel is required with Xen-aware device drivers.
|
|
Fortunately the modified kernel does not change the application binary interface (ABI), so theoretically no changes are required to guest applications. So much for theory, reality is a bit more painful. Support in Linux for native POSIX threads via the Native POSIX Threading Library (NPL) requires Thread Local Storage (TLS). Unfortunately the current TLS implementation uses segmentation in a way that is not permissible under Xen, which uses segmentation to provide protection of the memory used for the hypervisor. It will therefore likely be very necessary to disable the TLS library by moving it to a new subdirectory. Following this approach did make the KDE desktop somewhat fragile and prone to crashing. It may also be necessary recompile a number of user applications, such as our CPU benchmark suite, to avoid memory segmentation faults. Alternatively, a Xen-specific glibc can be installed on certain Linux distributions. Naturally, setting up a Xen paravirutalized environment can be a bit of a bear. To easy the burden, SUSE LINUX Professional will set up the first guest domain for the first guest operating system. Dubbed domain 0, this domain is further specialized as the control panel for the hypervisor. Additional domains should be created for running user applications. |
|
|
Setting up domain 0 properly to boot the Xen-aware Linux kernel must be done on the initial installation of SUSE Linux Professional for the GNU GRUB boot loader to be properly configured. If Xen is added at a later time, the GRUB configuration file will have to be manually edited. In our first quick look a performance in a Xen virtual machine, we measured statistically negligible differences in memory bandwidth and a 5% difference in mean computational performance. Nonetheless, under Xen there was much greater variance in
perfromance between individual kernels, which is reflected in a greater span between the upper and lower bounds of
our 95% confidence interval. In future issues we’ll be taking a much more detailed look at the Zen of Xen. |