Pacific Connection(英語)

The Trillian Project: A Progress Report

At the Intel Developer Forum held in the roasting California desert resort of Palm Springs, Intel president and CEO Craig Barrett gave the first public demonstration of the Merced processor, the first in Intel's IA-64 product family. (The successor chips will include the McKinley in 2001, and the Madison and Deerfield, scheduled for 2002.) Working with an early engineering prototype, Barrett demonstrated work-in-progress, 64-bit versions of Windows and Linux. For the Linux community, the forum was further proof that the upstart, open source, creature-of-the-Internet OS has gained a kind of perceptual equal footing with Windows - at least for the all-important Internet server market.

In the race to port to the Merced, Linux is running neck-and-neck with Windows because of the efforts of a small consortium of companies, whose collective efforts are known as the Trillian project. Named after a character in Douglas Adam's book, Hitchhiker's Guide to the Galaxy, Trillian got its start last March when VA Linux Systems (then called VA Research Linux Systems) took on the task of coordinating the efforts of the port. Other participants included Intel, Hewlett-Packard, Cygnus Solutions and Silicon Graphics Inc. IBM joined the pack in August, giving the effort - and Linux itself - additional credibility among corporate users.

Adding to the momentum, Intel also announced it would provide IA-64 prototype servers to the four commercial Linux sellers - Red Hat, Caldera, SuSE, and Turbolinux. This willingness to provide the Linux community with early versions of the Merced is significant because Intel is closely guarding the Merced architecture in hopes of staving off the clone makers as long as possible. Besides, building prototype chips is not cheap. By treating this dispersed group of companies as a single development entity, Intel has given Linux the same advantages ordinarily afforded a single, elite player, like Microsoft. Not that Intel has forsaken Windows 2000 - the company is neither stupid nor suicidal - but the concessions afforded Linux would have been considered sheer fantasy just a few years ago.

The running start is important because a true operating system port involves more than just the kernel. As Stephane Eranian and David Mosberger of HP Labs noted in a technical paper: "To become really usable a system must include a development environment: i.e., a complete tool chain, a kernel, the C and math libraries and thousands of tools and commands." The researchers also pointed out that the architecture incorporates a new computing paradigm called EPIC (Explicitly Parallel Instruction-set Computing). EPIC enables a compliant compiler to operate with a "broader understanding of what the program is trying to accomplish, leading to more optimization opportunities."

A milestone in open source development

In the annals of open source development, Trillian is milestone. Never have so many companies dedicated so many resources to a software project whose source code will ultimately be made public. Trillian is thus the most visible showcase yet for the advantages of open source development. "The Trillian project is a microcosm of the open source community," says Fred Luiz, director of advanced programs, HP Labs. "The fact that, in a few months, we have brought Linux to the point where Intel has used it to demonstrate the Merced chip shows what the collaboration across industry can do. Microsoft and Intel have been working on an IA-64 version of Windows for a long time, while the Trillian project is just a few months running. Trillian demonstrates the benefits of focusing the efforts of smart minds with different perspectives."

Trillian is all the more remarkable because several of the Trillian partners face at least some risk of undercutting their own Unix implementations. Throwing support to Linux means tacitly admitting that Linux is the best alternative to Windows, and that having that alternative is more important than single-mindedly pushing your own OS. Thus Hewlett-Packard and IBM's attitude toward Linux differs from that of Sun Microsystems, whose absence from Trillian would seem to indicate Sun's abiding faith in Solaris as the Windows alternative.

Of course, Trillian is also a way to produce a 64-bit version of Linux as fast and efficiently as possible. A coordinated effort certainly beats five companies developing five ports. While the Trillian partners have been largely closed-mouthed about who is doing what, Chris DiBona, Linux Community Evangelist for VA Linux Systems, was willing to shed some light. He said you could surmise that Cygnus is developing compilers based on its GNUPro toolkit for Linux, HP is providing the initial kernel, while SGI is writing a more optimized C compiler and doing some kernel work, as well. "And we are driving this herd of cats, getting the bootloader up and running and porting a bunch of the core software."

As for Intel, it's providing the all-important hardware and architecture expertise. "Because we have a deep understanding of the Merced architecture, we're working on those areas that are more architecture-sensitive," said Mike Pope, director of enterprise programs at Intel. "We want to make sure Linux is not just a single unified port, but that it is optimized for Merced. We also want to make sure we deliver it to the open source community in time for them to turn it around, so that the mainline Linux product is available in time for Merced production in mid-2000."

One seeming contradiction of the Trillian project is its initial secrecy, due to Intel's keeping the IA-64 architecture tightly under wraps. Still, the open source methodology is being followed. Trillian will propose changes to the Linux community for review. That is suppose to happen in the first quarter of the year 2000. "We believe that Linus [Travolds] and the open source community will readily adopt these changes and integrate them into the mainstream kernel set," says Pope.

DiBona said that the Trillian project is adhering to the spirit of open source development, even if the project is temporarily secret. "The second the chip comes out, everything is open source. Having secrecy now means that the 64-bit version of Linux will be ready when the Merced ships, not a year later. "That's the whole point of this exercise. We want to have Linux support for Merced from day one."

All eyes on Merced

In porting Linux, the Trillian partners are targeting what looks to be the dominant chip in the server market. Some have accused Intel of being late to offer a 64-bit architecture. But Pope argues that until recently the need just wasn't that compelling. "With the rapid evolution of the Internet, and especially electronic business, we are now finding there is more value in usage of a high-end 64-bit processor than what we foresaw three or four years ago. Who could predict the future?"

Pope sees three main markets for the Merced. The traditional enterprise - small, medium and large IT installations. Then, there are Internet service providers that started out as Web hosts and are now offering much broader services, including application rentals. The third area is just emerging: the switches and routers provided by Cisco and other networking companies that, until now, has been built on turnkey, proprietary CPUs. Pope says that as these components get smarter, they offer an opportunity for Intel with its general purpose chips.

How much faster Linux will run on Merced is still an open question. Intel has not released any performance numbers on Linux or any other operating systems being ported. Pope says that until there are real chips to do the testing, that the initial tests don't have much meaning.

Chris DiBona says that while speed will be an obvious benefit of the 64-bit architecture, the main benefit will be to address large amounts of memory. "Memory is super important on the server environment. The way that Linux is written right now, we're limited to 2GB on a 32-bit platform, even though the 32-bit chip itself can address 4GB. And that's a problem because 2GB is just not enough." Higher addressable memory is needed, for example, in complex database searches in which long tables of information are joined. "If you take one table that is four items long and another that's a million rows long, you'd have four million rows to consider. That operation could be speeded considerably if it's done in memory."

DiBona notes that databases are only getting more complex, particularly with customer information being taken off the Web. "I used to do data warehousing work at The Gap, where we would do joins on some enterprise servers and it would take 24 to 48 hours - this is on a machine with 10 terabytes of hard drive space and almost two terabytes of memory. We can't yet do that on the Intel space or the Linux space. So the aim here is to be able to do these kinds of operations with hardware that doesn't cost an arm and a leg." In other words, if the Merced becomes popular enough, the economies of scale will drive down the cost, making 64-bit computing more affordable and broadening the potential audience for Linux.

But if memory is DiBona's number one concern, processing speed is still a factor. "Suppose you've got a highly accurate floating point number," he says. "If it's a number that requires 64 bits of precision, a 32-bit machine has to deal with it in two chunks. It has to cut the number in half, put it in two registers, perform the actual operation on those two registers in tandem. All that takes time. With a 64-bit machine, you can deal with it in one chunk which, from a mathematical precision perspective, is really great. 64 bits is a total win here." Demand for 64-bit manipulation is found in a variety of places, including financial modeling.

DiBona says that Linux's port to the 64-bit Alpha and SPARC have given it a running start on the Merced port. DiBona contends that by contrast, the NT 64-bit port was not complete. "When you write a program, you can target one platform, compile it and give it to people as binaries. Or you can create source code that will only compile on one platform, which you can then distribute as an open source project. It's the latter case that the people at Linux have been doing because they want their software to run in other places. The model is UNIX itself, with developers specing out the UNIX box, writing C compilers for that machine, and then using that C compiler on the machine to bootstrap everything else onto it, including the operating system kernel. That's the methodology Linux has taken. It's not easy, but that's what we're doing here. "

And will the open source model as seen in Trillian beat out Microsoft's proprietary approach? "How many people can Microsoft hire?" asks DiBona. "How can they compete? They can't. At release time, NT might run in some weak 32-bit mode, but that's all. We're going to beat them so soundly that it will be scary."

An interview with Fred Luiz, director of advanced programs, HP Labs

Fred Luiz is Trillian's main man at Hewlett Packard. Luiz joined HP Labs, Hewlett-Packard's central research organization, in 1983 and also served as a general manager of HP's Systems Software Division. Luiz attended Universite Aurore in Shanghai, where his father was stationed while in the foreign service, and went to graduate school at State University New York and UCLA. Until this year, Luiz was director of Uniforum, the association of UNIX professionals.

How did HP Labs get involved with Trillian.
As you may know, HP Labs did the initial work on what is now the IA-64. So we had started work on porting Linux to the IA-64 in order to have an experimental operating system test bed for future work in computer architecture. When Intel founded Trillian, we contributed the initial kernel and tool chain work - debuggers, compilers, etc.
Did you originally select Linux for the experimental work because it was open source?
Yes, in part. Linux is a modern operating system, with nice features like threading, and a good, modular design. That meant, for example, if we wanted to investigate different kinds of memory architectures, we could easily replace the memory manager. And of course, to do all of this stuff, the source has to be available to us.
Even though you could have used one of your own versions of Unix, you chose Linux?
Our Unix operating systems have, over time, become more and more aligned to our proprietary machine architectures. Linux is still fairly process independent in terms of its design.
How tough a business is it going from 32-bit to 64-bit?
It depends. If an operating system is well structured, then it is not too hard. Applications, on the other hand, will have a more difficult time simply because there are a lot of data schemas out there representing different orientations for how data is structured. The source code itself cannot be easily manipulated without knowledge of those data structures. So people who use large 32-bit databases, for example, will have a more difficult task in moving to 64-bits.
Does that mean that even though Linux will be available on the Merced chip when it comes out, applications like compilers will take longer to produce?
Most current 64-bit operating systems today, including Solaris and HP-UX, support 32-bit applications, so you can run existing 32-bit applications on a 64-bit operating system.
In non-native mode?
Yes, that's true. While you're not utilizing the full capabilities of the underlying 64-bit platform, the operating system will host 32-bit applications. But there are lots of ISPs today that are using IA-32 systems, so it's not necessary to port everything on day one. Long term, obviously, getting everything ported will deliver the most bang for the buck in terms of the underlying IA-64 platform.
Did you have to overcome management resistance in the sense of putting HP resources into what is clearly a non-proprietary operating system? Or did HP see that as a greater good?
HP sees the latter. We view Linux as being a complementary Unix system to HP-UX. [Do you still want this yellowed?] HP-UX has a lot of value, with a large installed base, and, hopefully, a new base of customers. At the same time, we have a broader interest in making sure IA-64 becomes successful, even when that means collaborating with people we sometimes compete with. So even though large parts of HP are interested in making sure that HP-UX succeeds on the IA-64, we also want to grow the IA-64 world more broadly.
Can I assume then that in regards to Linux versus Windows 2000, that HP is agnostic?
Yes, we're agnostic. Our current PC business sells a lot of stuff with Microsoft on Intel platforms, so as IA-64 becomes successful in the Microsoft space, then that product line will gravitate towards IA-64 eventually.
Will having a completed port allow the lab to do new things?
Yes. We do want to examine the application of Linux in several environments, including as a general purpose computing platform. Part of the research work is to develop ways of extending the platform and grow Linux to take advantage of these extensions - for example, in cluster computing. Another project is to add advanced features like high-availability into Linux. Of course, we are cognizant of the open source procedures, so if we ever wanted to insert this stuff into the Linux world, we will of course open source it. We also want to understand how Linux would work as an embedded technology for black box functionality - for things like network services, network appliances, and firewalls.
When you are talking about embedded applications, you are talking specifically about dropping the IA-64 into places where proprietary chips once functioned?
Right. Suppose we packaged Apache, Linux and the IA-64 together with a set of tools for ISPs, and marketed it as a prepackaged Apache web server. I'm not saying we will or won't do that, but these are things we'd like to investigate in the context of using Linux as an embedded operating system. A big advantage of Linux in this kind of environment is the cost. Linux is almost free because it's open source. Whereas if you use NT, you have to pay for the initial license and multi-user licenses, which becomes a few thousand dollars.
Do you see any clouds on the horizon for the kind of effort represented by Trillian?
Well, so far, the open source community has proven that people will gravitate to leading-edge technical challenges - like Linux. It remains to be seen what happens when these technologies get accepted. What happens if Linux become a ubiquitous operating system, and therefore becomes a commodity? Will we still get the benefits of the open source community? Can you interest people who do this work in their spare time to fix bugs and do routine maintenance?
Perhaps at that point, maintenance work will be taken over by companies like Red Hat, who have built businesses on Linux support.
Perhaps so. As this stuff becomes commoditized, the wizards in the open source community will gravitate to other things that are more exciting. Then companies like Red Hat will step up to provide support and maintenance.