Intel Investors - Merced Software Compilers , Code Generators and OS Support details are beginning to emerge.
Here is a review of the breadth of software development already underway for Merced!
This may turn out to be an immense Cottage Industry in its own write!
Paul
{========================}
techweb.cmp.com
Merced software is taking shape
By Alexander Wolfe
SANTA CLARA, Calif. - Intel Corp. is seeding the development of a new generation of 64-bit compilers and operating systems. Surprisingly, Java won't play a key role when the Merced MPU hits the streets in 1999. Rather, the stalwart C++ programming language will lead the Merced software parade, with compilers currently in the works at Intel, Hewlett-Packard and Microsoft. Two lesser- known software companies Metaware Inc. (Santa Cruz, Calif.) and Edinburgh Portable Compilers Ltd. (Edinburgh, Scotland) are also developing heavy-duty, Merced-capable compilers.
On the operating-system front, a number of Unix-related efforts now under way at Hewlett-Packard, Sun Microsystems, Digital Equipment and Sequent could spark a resurgence for that OS. But Unix will be met head-on by Microsoft, which is forging ahead with a 64-bit version of Windows NT.
"Microsoft is really under the gun to produce a good, 64-bit Windows NT because there will definitely be multiple versions of Unix for Merced," said Michael Slater, principal analyst at MicroDesign Resources (Sebastopol, Calif.). "It's a big opportunity for Microsoft. On the other hand, Unix can get entrenched if NT is not seen as a strong option."
As for compilers, Slater sees Merced as ushering in a new era of software one-upmanship. "The quality of the compiler will have a much bigger effect on performance than do compilers for today's architectures," he said. "With multiple efforts in the works, there's probably never been this competitive a compiler environment."
Both the compiler and the OS projects have received scant attention amid the intense emphasis on details of the chip's highly parallel hardware architecture, but industry experts believe that the software will be the key factor in how rapidly Merced moves into real-world usage.
At the same time, these experts see tough challenges ahead for software developers. Writing compilers for Merced is no easy trick, because the microprocessor uses two techniques-called speculation and predication-which haven't yet been applied extensively in real-world production applications.
"If you look at what the RISC people went through, it took them about six to eight years after the introduction of the various architectures to really get good, optimizing compilers that worked well almost all the time," said a noted compiler developer who requested anonymity. "I see the same thing happening with Merced. It will take a couple of years for things to really solidify."
For its part, Intel sees rapid progress. "There's a very clear synergy between the compiler and the hardware," said Satya Prasad, a senior marketing engineer at Intel. "This enables us to achieve a very high degree of instruction-level parallelism."
To attain such parallelism, Merced contains many execution units which the compiler must constantly feed with instructions that have been organized into simultaneously executable blocks. Moreover, to take advantage of the key predication and speculation techniques relied upon by Merced, the compiler must be adept enough to enable the MPU to skip over unnecessary branches and to avoid memory latency, respectively.
Indeed, Rich Fuhler, Merced lead developer at compiler vendor Metaware Inc., sees predication as "the most interesting challenge" to come out of Merced. He pointed out that feature is also used in the ARM architecture, which has full predication, and in HP's PA-RISC, which uses partial predication.
Predication removes branches from an application program by essentially executing both pre- and post-branch instructions simultaneously. The results from instructions that wouldn't have been executing during a real-world run through the code are then thrown away.
The rub, Fuhler explained, is that predication can't be done blindly. "Do you want to fill up your cache with dead code?" he asked. "If you're going down a very hot path in the code, the answer is no.
So the question becomes, when do you predicate? We're doing a lot of work on that right now."
The second technique, speculation, masks memory latency by taking load instructions out of their normal place in the middle of a branch, and moving them up to be executed as early as possible in the program.
Here, too, Fuhler sees work for compiler designers. "The challenge is to get good speculation that doesn't affect performance in another basic [code] block," he explained. "The biggest question is, what happens to cache locality? If you're going to be bringing in a new cache line, then the load is not movable."
To effectively use Merced with real-world apps, Fuhler believes that software developers will have to get their hands dirty. "I don't think a compiler can be right 100 percent of the time," he said. "This kind of stuff will have to be [aided] by performance feedback analysis. As a developer, you're going to have to take a more active role."
Such analysis tools are already making their way into common usage. For example, Intel offers VTune, which presents programmers with graphical views of "hot spots" in their code that can benefit from optimization.
Among compiler vendors, the big battle could revolve around the back-end code generator-the software "black box" which handles the tough task of converting the intermediate output of a compiler into a final stream of machine code. Metaware is rolling its own code generator; reportedly, HP and Microsoft are also doing in-house implementations.
Adopting a broader strategy, Intel is writing its own code generator and is licensing it to other vendors. "Merced has a lot of challenging features and Intel wants to ensure they're properly exploited to achieve the performance that's expected," said Geoff Millard, chief executive officer of Edinburgh Portable Compilers. "We've been working closely with Intel to integrate our compilers with their code-generator technology."
Operating angle Proving that the compiler efforts are not occurring in isolation from the OS work, Edinburgh has forged a potent link with Sequent. According to Millard, his company's new Merced C compiler is being used by Sequent in their effort to port Digital Unix to IA-64. Sequent is billing the implementation as the only "little-endian" OS that will offer compatibility across both Merced and Alpha CPUs.
Along with Sequent, the flurry of Merced-oriented Unix activity included the announcement last week from HP that it is putting together a Merced-capable version of its HP-UX operating system and has licensed the technology to Hitachi, NEC and Stratus Computer.
Not to be left on the sidelines, Sun Microsystems Inc. is also making a strong play for its Solaris OS. Fujitsu, which is a major Sun reseller in Japan, is helping port Solaris to Merced.
While some observers see a Unix juggernaut forming, Microsoft remains unconvinced. "Merced hasn't even shipped and the Unix market is already fragmenting," charged Ed Muth, Microsoft's group product manager for Windows NT.
Muth said that Microsoft's 64-bit port of NT to Merced will be ready when Merced ships in volume. At the WinHEC conference in March, Microsoft offered an early peek with a preliminary release of its 64-bit software developer's kit.
Microsoft has already prepared the code base it will use to implement NT on Merced. "The work we're doing on 64 bits is based on NT 5.0 source code," said Muth. "We have invested a great deal of effort to make NT 5.0 64-bit-ready."
Once the OS ships, Microsoft is poised for an increasingly aggressive thrust into the engineering space. "We expect to make major investments to more broadly position NT as part of the technical workstation and technical server markets," Muth said, specifically pointing to applications such as EDA.
From the compiler side of the equation, however, some vendors are sticking with Unix. "Microsoft is trying to defeat Unix with NT and they're a formidable competitor," said Frank DeRemer, chief executive officer of Metaware. "On the other hand, they tend to usurp all of the business opportunities on their side of the field. So for us, the more profitable niche is Unix." |