Author Topic: 64Bit ??  (Read 623 times)

Offline Gatr

  • Copper Member
  • **
  • Posts: 292
64Bit ??
« on: March 08, 2003, 12:50:56 PM »
I see that Counter Strike will be supporting 64bit AMD Chips on the server side. I wonder if that is being considered? Does this sound like something viable for AH?
http://collective.valve-erc.com/index.php?news=1047073952-21295300
Seems like a good idea........... ?
I'd like to hear from some folks that really know how this stuff works to see if it would give us a better game?
Gatr
81ST

Offline bloom25

  • Silver Member
  • ****
  • Posts: 1675
64Bit ??
« Reply #1 on: March 08, 2003, 02:53:35 PM »
That's a complicated question, but the short answer is probably no...  

The fact that the processor is "64-bit" alone will do nothing for AH.  (Unless AH has the need to address more than 4 GB of address space. ;) )  The performance gains quoted in that article are on a "clock per clock" basis, meaning an Opteron server at 2 GHz would show about a 30% performance boost over an Athlon MP server at 2 GHz (MP 2400+ rating).

The Counterstike servers are also running a 64 bit version of Linux.  AH doesn't currently run Linux servers.  AH uses FreeBSD or Solaris 9 I believe.  

The Opteron and Athlon 64 ("Hammer" core) have a number of architectural improvements compared to the existing Athlon MP line.  They have Intel SSE2 instruction support, an on-die memory controller, additional x86 registers, and an improved branch predictor to name a few.  It is these features that account for the improved performance.

Offline qts

  • Nickel Member
  • ***
  • Posts: 782
      • None yet
64Bit ??
« Reply #2 on: March 09, 2003, 08:31:47 AM »
I beg to differ. You can simply process more information in one 64 bit chunk more quickly than in two 32 bit chunks. Graphical realism is the obvious one here, as is more quickly calculating things like distance, trajectory, etc.

Offline qts

  • Nickel Member
  • ***
  • Posts: 782
      • None yet
64Bit ??
« Reply #3 on: March 09, 2003, 08:45:26 AM »
I beg to differ. You can simply process more information in one 64 bit chunk more quickly than in two 32 bit chunks. Graphical realism is the obvious one here, as is more quickly calculating things like distance, trajectory, etc.

Offline Broes

  • Copper Member
  • **
  • Posts: 224
64Bit ??
« Reply #4 on: March 09, 2003, 08:54:30 AM »
I think that if you switch to a GF4 card will help alot more then the server switching to 64 bit... Apart from that, the whole code probably has to be reprogrammed before a switch to 64bit will even be considered.

Broes

Offline bloom25

  • Silver Member
  • ****
  • Posts: 1675
64Bit ??
« Reply #5 on: March 09, 2003, 11:48:11 PM »
(As I said before, this is a complicated subject. ;) )

First the obvious:

AH servers do not run a 64 bit operating system.  Currently the only fully 64 bit operating system available for the Opteron is Linux.  AH's servers do not run Linux.  Hence the Opteron would operate only using standard x86 instructions (i.e. 32 bit).  Thus any performance advantage seen moving to an Opteron based system with regards to AH would result from the other architectural improvements I mentioned.

Now for the not so obvious, and there are a lot of things I could type here:  ( :) )

1.  A 64 bit ALU or FPU design is going to be inherently SLOWER (on a maximum clock rate basis) than a 32 bit unit of any practical design.  If you want to know why you need to look at how a carry lookahead, carry save, or carry propagate adder is constructed.  The number of additional gates required for each successive bit beyond a point becomes very large.  (This is the reason why the P4 uses 2 16 bit units within it's ALU clocked at 2x core frequency.)

2.  The effective size of your data caches is essentially halved when moving to 64 bit operands.  This reduces the chances for a cache hit and results in more accesses to main memory, reducing performance.  (This is the reason why the Hammer core has larger caches and an integrated memory controller on die.)  Another thing to consider is that each operand being 64 bits long instead of 32 bits means that a program will consume much more system memory, and as a result with all things being constant (i.e. no increase in system ram) the hard drive will be accessed more often, reducing system performance.
   
3.  What qts describes in his post can be visualized in two ways.   It makes the assumption (correctly by the way :) ) that simply combining 2 32 bit operands into one 64 bit operand and performing a single instruction on it results in better performance.  That is in fact generally true, and what that is known as in a broad sense is "SIMD" instructions (Single instruction-multiple data).  This is in fact the type of instructions in the Intel/AMD SSE, SSE2, and 3dNow! instruction sets.  (The Opteron and Athlon 64 add support for SSE2 instructions.)  These instructions essentially perform the same operation on mulitple operands at the same time, improving performance.  Now here's the problem: To take advantage of this a program would need to be rewritten to include such instructons or at the very least recompiled with a very "smart" compiler (an oxymoron for sure :) ).  Running existing code on the Opteron results in no performance advantage just because it's run on a 64 bit processor.  The performance boost seen versus other processor designs is because of other design improvements, as I mentioned previously.  I think that's what Gatr was asking...

4.  Distance, trajectory, and the like will not be computed faster on a 64 bit processor just because it is "64 bit."

When talking about graphical realism because of the processor being 64 bit, I'm not sure how that is by any means obvious.  Simply moving to a 64 bit processor from a 32 bit one will not result in more realistic graphics by itself.  From a gaming standpoint the video card has much more impact on graphical realism than the processor.

I guess to answer the question posed at the start of this thread I should say that the server running on a 64 bit platform versus a 32 bit one will do nothing to improve the gaming experience.  That's not saying that the Opteron is not a good processor, on the contrary, it is certainly quite superior to the current Athlon MP and Intel P4 Xeon processors.  It's architecture is VERY well suited to a multiprocessor design and is very well suited for use as a server processor.  Taken from that standpoint, a faster server is always a good thing from a gaming standpoint.

The problem with debating a subject such as this is that there is really no right answer...

Offline qts

  • Nickel Member
  • ***
  • Posts: 782
      • None yet
64Bit ??
« Reply #6 on: March 10, 2003, 05:08:24 PM »
I must say that I am not concerned with the server side as I know virtually nothing about it but rather the client side.

Bloom, if memory serves, you work for Intel, and you do very well until this:

Quote
Distance, trajectory, and the like will not be computed faster on a 64 bit processor just because it is "64 bit."


Actually, they will, simply because the CPU is handling more data per chunk. There's fewer or no (depending on the length of the operands) time-expensive glue instructions involved. Mathematics benefits heavily from increased bitness. Also, and perhaps just as importantly, they will be calculated far more accurately. Colour too, benefits, as you can move from 8-bit per channel colour (plus 8-bit alpha channel) to 16-bit per channel colour (plus 16-bit alpha-channel). Or 16-24-16-8 bit colour (RGBA) - as the eye is more sensitive to green. This may sound like a waste of time and space - after all 16.7 million colours are more than enough, aren't they? - but it will allow fractional colour values to be calculated, then rounded to the correct colour

Further, while your earlier statements are correct, one of them is somewhat disingenuous. You state that the effective cache memory is halved and that programs will be larger. Well, memory is cheap, as is disk space.

The first 32-bit processor appeared about 20 years ago; in 1985, Compaq started selling 80386-based systems. It took until the 90s for 32 bit software to arrive on the desktop. I hope the 64-bit revolution happens rather faster.

Offline Gatr

  • Copper Member
  • **
  • Posts: 292
Thanks
« Reply #7 on: March 10, 2003, 06:30:53 PM »
Folks,
Thanks for the informative responsis to my question. I was in fact of the mind that some of the basic programing would need to rewritten to take advantage of the 64 bit processors coming out this year.
 I am no where near as educated as you fellas are about the nuts and bolts of how these processors work. It just seemed to make sense to me that a processor that is 2x as fat would make for a remarkable improvment.
So back to the question would it make a sizable differance to rewrite the software to take advantage of the much more powerful processors, and is it somthing being considerd?
See given a second chance I can ask a better question :)
Thanks again
Gatr

Offline bloom25

  • Silver Member
  • ****
  • Posts: 1675
64Bit ??
« Reply #8 on: March 10, 2003, 07:05:53 PM »
Ah, it sounds like you actually know from experience what you are talking about qts.  I guess I should elaborate further here...  :)

The problem is that unless the code is rewritten or at least recompliled the Opteron will not take advantage of its capability to execute code in 64 bit mode, nor will it take advantage of it's additional general purpose registers.  (More on that in a sec...)  The only current OS that will even support this is Linux.  Since the original question was with regard to AH, and AH doesn't use Linux servers, that is why I answered the question as I did.

Now, if the code is recompiled and run under 64 bit Linux versus 32 bit Linux I've seen some benchmarks indicating a 10-15% performance boost.  To be complete I should also mention that the Opteron (and upcoming Athlon 64) also incorporates 8 additional registers (r8 - r15) which can provide a significant performance boost to applications which are rewritten or recompiled to take advantage of them.  For that reason it's not entirely clear how much of that 10-15% boost comes from that, as only the 64 bit port of Linux uses them.

With regards to your color argument, well you won't get one from me.  We are totally in agreement there. :)

I suppose I should probably clarify that I'm of the opinion that the fact that the Opteron is 64 bit will have very little practical benefit running current applications under current OSes.  It's performance increase over the current processors will be as a result of it's other architectural improvements I touched on previously.  Now in the future (or running 64 bit Linux with optimized applications at this point) there will certainly be advantages to a 64 bit architecture.  I just don't think people just dump their existing hardware and switch to Opteron or Athlon 64 just because it's "64 bit" and expect an immediate improvement.  Just like when x86 moved to 32 bit capable processors, it will take time for OSes and applications to take advantage of 64 bit.  (LOL, even OSes as recent as Windows ME weren't even fully 32 bit...)

(I don't work for Intel btw.  I'm currently working for a tech company doing work with embedded processor designs (ARM based), but I can't tell you what the name of the company is as I'm still under NDA regarding that.)

Offline bloom25

  • Silver Member
  • ****
  • Posts: 1675
64Bit ??
« Reply #9 on: March 10, 2003, 07:24:26 PM »
Absolutely Gatr.  If the software is rewritten (or at least recompiled) and running under a 64 bit OS there would be a very significant performance increase vs 32 bit architectures at similar clock speeds.

Under current applications there are a few improvements the Opteron and Athlon 64 incorporate which will significantly improve performance.  The first is the on-die (on the processor itself) memory controller.  Having an on-die memory controller significantly reduces the amount of time it takes the processor to get data out of ram.  The second is Intel SSE2 instruction support.  The benchmarks the Athlon currently loses to the P4 are generally as a result of SSE2 optimizations.  Since the Opteron can now take advantage of those instructions, (and in fact should execute SSE2 instructions faster than the P4) it will show significant improvements under applications the Athlon currently runs slower than the P4.  (A lot of video applications and some graphics drivers are heavily SSE2 optimized, so the Opteron should perform very well here.)  From a multiprocessor standpoint, the Opteron is VERY well suited for such an environment.  Since each processor has it's own dedicated memory bus (rather than sharing a single bus) and each processor has a very fast Hypertransport link linking between processors the Opteron is well suited for dual or quad processor operation.

Offline bloom25

  • Silver Member
  • ****
  • Posts: 1675
64Bit ??
« Reply #10 on: March 10, 2003, 07:50:08 PM »
Anandtech has a pretty good graphic and write up dating from late 2001 about the Hammer architecture.

http://www.anandtech.com/cpu/showdoc.html?i=1546

Edit:  From Anand's article -> 2) the new GPRs are only usable under 64-bit mode, making any increases in 32-bit performance outside of the ISA enhancements.

Basically what this means is, as I said many times above, unless you run a 64 bit OS and 64 bit applications the fact that the processor is capable of running 64 bit code meaningless.
« Last Edit: March 10, 2003, 07:53:55 PM by bloom25 »

Offline qts

  • Nickel Member
  • ***
  • Posts: 782
      • None yet
64Bit ??
« Reply #11 on: March 11, 2003, 02:20:21 PM »
Bloom, I quite agree. It's been a decade since I programmed seriously, but you are absolutely right that the quality of the compiler is critical.

I'm hoping to keep my dual P3-1000 workable until the end of the year, then buy an AMD64-based system. By that time, MS should have released their 64-bit version of XP.

Roll on the 64 bit AH client.

Offline Gatr

  • Copper Member
  • **
  • Posts: 292
Hummmmmm?
« Reply #12 on: March 12, 2003, 07:58:36 PM »
Guys???
 It seems to me it would vbe worth it if it does as well for AH
http://bbs.pcstats.com/amdzone/messageview.cfm?catid=26&threadid=66758
What are your thoughts ?
Gatr