Re: Plan 9 grids with AMD64 CPUs
Vester Thacker <[email protected]> Sat, 29 Nov 2003 21:30:21 +0900
| Newsgroups | gmane.os.plan9.nine-grid |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Nov 29, 2003 at 09:17:11AM +0000, Charles Forsyth wrote: > > i'm curious about this: apart from the hype and artificial benchmarks, > for an arbitrarily chosen real computational program, > how much faster is it? I don't have any figures concerning the increase in speed. I could only speculate. > for things that do lots of work on genuinely > 64-bit integer values, i can see it (otherwise you're just shifting more zero bits > round the machine). for floating-point, given that the 387 instructions > were rather clumsy, if you can get that many more things into real > registers, i can also see it--i suppose. even then, the later x86-based > architectures have shadow registers behind the scenes, managed > by hardware, which is why they are quite competitive with > RISC machines (fiendishly complex inside, but that turns out not to matter). > the data paths in the modern x86 devices are already at least 64 bits. I think that there is more to it than that. I'll share with you some excerpts from the AMD x86-64 programmer's guide volume I: "AMD64 in true 64 bit mode uses a flat segmentation model of virtual memory. The 64-bit virtual memory space is treated as a single, flat (unsegmented) address space. Program addresses access locations that can be anywhere in the linear 64-bit address space." Also, you don't have a need for far pointers. "In true 64-bit mode, eight new General Purpose Registers(GPRs) are added to the eight legacy GPRs, all 16 GPRs are 64 bit wide, and the low bites of all registers are accessable." "The AMD64 architecture provides three floating point instruction subsets, using three distinct register sets. The 128-bit media instructions support 32-bit single-precision and 64-bit double precision floating point operations, in addition to integer operations. Operations on both vector data and scalar data are supported, with a dedicated floating point exception reporting mechanism. These floating point operations comply with the IEEE-754 standard. The 64-bit media instructions support single precision floating point operations. x87 floating point instuctions support single precision, double precision, and 80 bit extended precision floating point operations." "Maximum floating point performance can be achieved by using the 128 bit media instructions. One of these vector instructions can support up to four single-precision(or two double precision) operations in parallel. In 64-bit mode, the x86-64 architecture doubles the number of legacy XMM registers from 8 to 16." "Applications gain the additional benefits using the 64-bit media and x87 instruction. The separate register set supported by these instructions relieve pressure on the XMM registers available to the 128 bit media instructions. This provides appliations programs with three distinct sets of floating point registers. In addition, certain high-end implementations of the AMD64 architecture may support 128-bit media, 64 bit media and x87 instructions with separate execution units." Sorry, I didn't want to write a novel. I just wanted to show you that some things are improved when using the 64-bit mode over the legacy mode. I suppose that I am focusing on the form over function qualities of the new architecture, and trying to take advantage of new capabilities that are now available. Also, I am not trying to win you over. I just want to give you something to think about. > in short, apart from artificial benchmarks, what improvements > do people see on real applications and just as important, > what actually makes the difference? Again, I don't think I have an adaquate answer. I can only speak for myself. Any speed or precision improvements in distributed clients like "Find-A-Drug" are greatly needed, imho. I don't see these advances in computing occuring by optimizing the capabilities of older less capable processors. I suppose the difference for me would be using the advances that are available over not using them. I think along the lines if Plan 9 is not progressing then it is retrogressing. Regardless, I have high hopes for Plan 9 and grid computing. -- Vester Thacker