Millennium Promises to Revolutionize Computing As We Know It
Millennium aims to turn a network of computerized devices into one, giant computer that resembles the human brain, allocating resources efficiently to accomplish each task.
REDMOND, Wash., March 1, 1999 You own an online clothing company, and the holiday season is the biggest time of the year for traffic to your Web site. The month of December accounts for one-quarter of the annual orders placed to your business. While this is the most important time of the year for you, the sudden deluge of inquiries is overwhelming your servers, significantly slowing down your ability to conduct business. It doesn’t make sense to purchase additional servers that aren’t needed the remaining 11 months of the year. At the same time, the sluggish response time of your Web site is turning away customers.
Enter Millennium, Microsoft’s distributed operating system research project. Millennium would automatically clear the bottleneck by replicating the Web site’s data onto other servers and desktop computers across the Internet that are currently underused. After the holidays when traffic to your Web site drops, Millennium would again reallocate the network’s resources to best meet the level of demand on the network.
An ambitious research project underway at Microsoft Research, Millennium will revolutionize computing as we know it. The project is designed to make distributed computing-in which computations are divided among multiple computers-as simple as performing computations locally on one’s desktop computer. If successful, Millennium will transform computing to more closely resemble the human brain, which works behind the scenes to distribute information in a highly complex, yet efficient manner. Microsoft Research started work on Millennium in 1996, and hopes to incorporate some of its research results into Microsoft products within the next few years.
“Our ultimate goal is to make a program run as easily on thousands of computers as it runs on a single computer,” said Galen Hunt, a researcher in the Systems and Networking Research Group at Microsoft Research, who leads the Millennium project together with Yi-Min Wang.
Today, distributed computing is used for a wide variety of purposes. It provides a way for users to share software applications and other resources such as printers and scanners. It’s used to run software programs because it’s quicker to run different portions of a program simultaneously on several computers than to run it all together on a single desktop computer. It’s also used to borrow memory from other computers when there is not enough room on one computer to store an application or file.
While it provides many benefits, distributed computing is still cumbersome, because computer programmers must spend a lot of time figuring out what computers should perform which tasks.
“When you make a distributed application, it’s a very laborious task because a programmer has to go in and decide by hand which piece should run on the desktop computer, and which piece should run on the server, Hunt said. “In effect, the programmer has to write a new program for each additional computer. When you extend that out to 100 or 1,000 computers, it becomes completely unmanageable.”
The goal of Millennium is to erase the distinction between distributed and local computing. While work will be distributed among the computerized devices in a network, from the user’s perspective it will appear as if everything is happening right there on their desktop computer. Whether there are 10 computing devices connected to the network as in a small office, or millions of computers connected to the network as on the Internet, the network will be presented to users as one giant computer that can handle all of their work.
Users will be able to tell their computer to “just do it,” without worrying about which computers handle what tasks, or where their applications or files are stored. The computers themselves will figure out where it makes sense to perform the computations, and where it’s best to store users’ data. The user will simply know that the work is being completed and their data stored as efficiently as possible.
Researchers have been studying ways to make distributed computing easier for years, Hunt said. While an invisible network has been considered the “holy grail” of computer science research for the past two decades, Microsoft Research took up the research three years ago because the group felt it could break new ground based on recent advances in computing. Millennium, which is being built on Microsoft’s COM+ architecture for creating distributed applications, will manage applications in a distributed fashion in the same way that operating systems manage applications from one, central computer today.
The Systems and Networking Research Group has concentrated its research in two areas it believes will significantly advance the state of distributed computing. One area is raising the level of “abstraction” so that information is presented to computer programmers far more simply than it is today. Microsoft Research also wants to make Millennium both “self-configuring” so the system automatically assimilates new devices to the network, and “self-tuning” so it continually handles work optimally when changes are made to the network.
“While people have done a lot of distributed computing research, the research in these two areas has not been hit as well,” Hunt said. “It’s very underdeveloped.”
Once incorporated into Microsoft products, Millennium promises to save businesses significant sums of time and money. Because it figures out how to distribute both processing power and memory, Millennium will ensure work is completed in the most efficient manner possible. It will also enable people to take advantage of the resources available on the entire network, even if the device being used doesn’t have a specific capability.
“For example, let’s say you want to do voice recognition using a Palm-size PC,” Wang said. “The Palm-size PC may be too small to be used for advanced voice recognition, but there might be other computers in the same room or the same building as your Palm-size PC that can handle voice recognition. So you can speak into your Palm-size PC, and Millennium will send that digitized voice to some large computer in the building that can accomplish the heavy-duty processing that your Palm-size PC can’t handle.”
Whereas today programmers have to reconfigure their office network every time a computer goes down, Millennium will automatically reroute work if one of the servers on the network suddenly becomes unusable. It will also recognize when new computers are added to the network and automatically reallocate work to take advantage of the increased resources.
“Today, a programmer develops a distributed application assuming there are 10 machines,” Wang said. “Then some day, you upgrade to 20 machines, and the program breaks. But with Millennium, I only see one big machine. Whether there is one physical machine or 10 physical machines, I don’t care. And whenever I make a change to my network and upgrade to 20 machines, Millennium will automatically reconfigure itself to take advantage of the available resources.”
Millennium also promises significant benefits for consumers. By connecting the network to the Internet, users will be able to access their applications and files from any location using any computerized device. “Today, many people keep files at work and at home, and manually move their files from one place to the other to access them,” Hunt said. “With Millennium, you just say, ‘Access my files,’ and it will figure out where your files are and bring them to you, no matter where you log in. Suddenly, location doesn’t matter anymore.”
Moreover, users will be able to run applications faster by taking advantage of the processing power of other devices on the network. When storing large applications, they will be able to borrow memory from other devices. And they will be able to take full advantage of the capabilities of other devices on the network without being required to figure out what device works best for which task.
For instance, a student developing a multimedia presentation could make use of several resources on their home network-such a home computer, a DVD player, a TV set-top box and a CD player-without considering what device would best be used for creating different parts of the presentation. “What Millennium will do is present all of these resources as one thing,” Hunt said. “So you don’t have to ask, ‘Do I put this DVD in my computer, or do I put it in my DVD player that’s connected to my TV?’ You can put it in either one, and Millennium will figure out which device is the best place to do the editing.”
Hunt characterized Millennium as a far more ambitious project than Microsoft’s Universal Plug and Play and Sun Microsystem’s Jini. Whereas Universal Plug and Play and Jini both provide a way for devices to recognize and communicate with other devices on a network, Millennium “takes all those devices and makes them look like one big computer,” Hunt said.
“What Jini and Universal Plug and Play do is comparable to connecting phones together to make a phone system,” Hunt said. “What Millennium does is comparable to talking to your friend, whether they’re standing next to you or on the other side of the planet, without even knowing a phone is involved.”
Galen, Wang and the Systems and Network Research Group at Microsoft Research have already produced several prototypes that demonstrate the possibilities of a Millennium-type operating system. One prototype, known as “Coign,” automatically creates a distributed software application from a non-distributed application without access to the original computer code used to build it. The prototype demonstrates the potential for today’s applications to be quickly adapted to run on a distributed operating system.
Another prototype, dubbed “COP,” allows computers to share attached devices like keyboards, mice, displays and disks regardless of location. The resulting “disaggregated PC” appears to users and applications as a single computer., demonstrating the ability to raise the level of abstraction and present information more simply to users. A third prototype, called “Millennium Falcon,” significantly decreases the time required for different components of an application to communicate when located on separate computers. The prototype illustrates that information can be processed nearly as fast when passed between computers as when retained on a single computer.
While it may be a few years before Microsoft begins incorporating Millennium into its products, the project promises to radically change the way people use computers. “If we fulfill the ultimate vision of Millennium, the end user would see all the computers in the world as just one, big computing resource,” Hunt said. “It will be a global village in the true sense of the word. We’re not there yet, but that’s the vision.”