gemcneill Posted April 2, 2008 Share Posted April 2, 2008 I have been running all my servers on opertons, but I am starting to wonder about intel. Is anyone running both types and share their insights. I run mostly Source based games, but a few cod4 servers here and there. Also I have heard people are using phenoms for servers. How are those servers compared to what you had before. Please share what you know George Link to comment Share on other sites More sharing options...
jbiloh Posted April 2, 2008 Share Posted April 2, 2008 Phenoms and or Core2Duo/Quads are what you need. Cost effective, and very fast. Link to comment Share on other sites More sharing options...
bfarrell Posted April 2, 2008 Share Posted April 2, 2008 What kind of opterons you running on now? Link to comment Share on other sites More sharing options...
gemcneill Posted April 2, 2008 Author Share Posted April 2, 2008 2216's 2 of them per box George Link to comment Share on other sites More sharing options...
Monk Posted April 2, 2008 Share Posted April 2, 2008 Phenom: nothing: 115 cycles locked add: 143 cycles cpuid: 221 cycles Opteron 275: nothing: 8 cycles locked add: 6 cycles cpuid: 61 cycles Intel Woodcrest: nothing: 60 cycles locked add: 72 cycles cpuid: 264 cycles Intel Core2Duo: nothing: 63 cycles locked add: 72 cycles cpuid: 288 cycles Opteron 275 is a winner. #include <stdio.h> #include <time.h> #include <sys/time.h> #define rdtsc(low) \ __asm__ __volatile__("rdtsc" : "=a" (low) : : "edx") #define TIME(x,y) \ min = 100000; \ for (i = 0; i < 1000; i++) { \ unsigned long start,end; \ rdtsc(start); \ x; \ rdtsc(end); \ end -= start; \ if (end < min) \ min = end; \ } \ printf(y ": %d cycles\n", min); #define LOCK asm volatile("lock ; addl $0,0(%esp)") #define CPUID asm volatile("cpuid": : :"ax", "dx", "cx", "bx") #if 0 #define GTOD gettimeofday (&tvstart, NULL); gettimeofday (&tvstop, NULL) #endif int main() { struct timeval tvstart, tvstop; unsigned long min; int i; #if 0 TIME(GTOD, "gettimeofday start/stop:"); #endif TIME(/* */, "nothing:"); TIME(LOCK, "locked add:"); TIME(CPUID, "cpuid:"); } Link to comment Share on other sites More sharing options...
Creed3020 Posted April 2, 2008 Share Posted April 2, 2008 I have used older Xeons and they operated okay until more modern games were released, ie BF2, where the players counts and the demands on the server went up alot. Now we use Dual CPu Dual Core Opteron 2216's and they work really well. Haven't had them max out yet, which I definatly can't say of the old servers we had. Though in reality I am comparing processors from different generations so it isn't a fair fight. Link to comment Share on other sites More sharing options...
Monk Posted April 2, 2008 Share Posted April 2, 2008 Would you mind running that code on your Opteron 2216's so I can see if they perform just as well as the old opterons? Link to comment Share on other sites More sharing options...
gemcneill Posted April 3, 2008 Author Share Posted April 3, 2008 You will have to forgive me, this code looks like c, but I dont have a compiler. Can you compile it for me in a exe or tell me how I can run this code and I will get back to you and do the servers have to be just sitting there not running anything in order to test this code? Also can you provide us a key to read the things you posted so we know what is good and why its good and what is bad and why it is bad. Also jbiloh said he is working just fine with them, so is the real world experience conflicting with this experiment? George Link to comment Share on other sites More sharing options...
Creed3020 Posted April 3, 2008 Share Posted April 3, 2008 Would you mind running that code on your Opteron 2216's so I can see if they perform just as well as the old opterons? I don't have a problem giving it a shot but I wouldn't know where to start My programming knowledge is very minor. I see resemblance in the code to Python which I am currently in the process of learning but I cannot identify which language you are using. Link to comment Share on other sites More sharing options...
HGN-Daniel Posted April 3, 2008 Share Posted April 3, 2008 I don't have a problem giving it a shot but I wouldn't know where to start My programming knowledge is very minor. I see resemblance in the code to Python which I am currently in the process of learning but I cannot identify which language you are using. It's C++, I believe Link to comment Share on other sites More sharing options...
Monk Posted April 3, 2008 Share Posted April 3, 2008 Ill port it over to windows, gives me a bit to post the exec's. It will be a console program and not a form based program. Link to comment Share on other sites More sharing options...
Monk Posted April 3, 2008 Share Posted April 3, 2008 Here you go. Sorry, I had to build this under cygwin since i lost my visual studio cd.. A nothing call is basically calling a null function. This basically just does a simple NULL call to see how many cycles it takes. This is useful to see how deep your pipeline depth is, or how much exec latency occurs. I believe memory controller latency has alot to do with this. A lock ; addl call simply locks the memory bus to wait for all previous reads to complete. SMP on windows uses this (i think) to do atomic ops on SMP. cpuid is just reads, well, the CPU ID I have some other benchmarks, but those are ones I find intresting for my workloads.benchmark.zip Link to comment Share on other sites More sharing options...
trev-gdr Posted April 3, 2008 Share Posted April 3, 2008 I'm assuming the lower the #'s, the deeper the pipeline depth is then. Just running it on my own home computer which contains a 4400+ x2 939 socket, it output the exact same as the Opteron 275 . nothing:: 8 cycles locked add: 6 cycles cpuid: 65 cycles Looks like I made a good choice when building it . Link to comment Share on other sites More sharing options...
Monk Posted April 3, 2008 Share Posted April 3, 2008 Home computers don't really benifit from those benchmarks, maybe a NULL call latency, cpuid is useless as well as no program calls cpuid over and over. Atomic ops on intel have always sucked. CAS and CMPXCHG on AMD has always been very fast.. Lower latency = faster pipeline and/or memory controller latency. It would be intresting to see how those numbers are efftected with some CPU burning program. Link to comment Share on other sites More sharing options...
Creed3020 Posted April 5, 2008 Share Posted April 5, 2008 Results are as follows: nothing:: 9 cycles locked add: 9 cycles cpuid: 68 cycles The system is: ------------------ System Information ------------------ Operating System: Windows Server 2003, Web Edition (5.2, Build 3790) Service Pack 2 (3790.srv03_sp2_gdr.070304-2240) System Manufacturer: HP System Model: ProLiant DL145 G3 BIOS: PhoenixBIOS 4.0 Release 6.1 Processor: Dual-Core AMD Opteron Processor 2216 (4 CPUs), ~2.4GHz Memory: 2038MB RAM Link to comment Share on other sites More sharing options...
Monk Posted April 5, 2008 Share Posted April 5, 2008 Intresting. Those results are better than I expected. Thank you. Link to comment Share on other sites More sharing options...
gemcneill Posted April 10, 2008 Author Share Posted April 10, 2008 Well from the results you posted, the phenom should be pretty horrible compared to its opteron counter part, but the question is, the price point for for phenom servers counter act that? Also does some one have real world test (i.e. opteron server and phenom server side by side) so we can see the results? George Link to comment Share on other sites More sharing options...
Monk Posted April 10, 2008 Share Posted April 10, 2008 we're also comparing apples to oranges. the desktop cpu's are slower for most SMP tasks, but the workstation CPUs fair better overall than the rather. Link to comment Share on other sites More sharing options...
Mr.Flibble Posted April 30, 2008 Share Posted April 30, 2008 hmm... we were thinking of upgrading our 2 x Opteron 2212 to 2 x 2350/55 and was wondering if it would help out alot. Or we wait for the newer stepping out later this year with the 45nm with the 6mb L3 cache... what are your thoughts? Link to comment Share on other sites More sharing options...
Creed3020 Posted April 30, 2008 Share Posted April 30, 2008 Just got a new server, figured I would post some results. nothing:: 63 cycles locked add: 63 cycles cpuid: 261 cycles Operating System: Windows Server 2003, Standard Edition (5.2, Build 3790) Service Pack 2 (3790.srv03_sp2_gdr.070304-2240) System Manufacturer: Supermicro System Model: PDSMU BIOS: Ver 1.00PARTTBLH Processor: Intel® Xeon® CPU X3220 @ 2.40GHz (4 CPUs), ~2.4GHz Memory: 4094MB RAM Link to comment Share on other sites More sharing options...
KarlZimm Posted May 1, 2008 Share Posted May 1, 2008 The new Intel CPUs are superior for most uses, though I am not sure if that is the case when it comes to game servers. The Core 2 Duo and Core 2 Quad processors are currently a great value, and I highly recommend them. If you need TOP speed, a pair of dual Harpertown Xeons should do the job for you. Intel had been behind during the P4 era, but since the Core 2's have been out AMD has been playing "catch-up". Link to comment Share on other sites More sharing options...
Monk Posted May 2, 2008 Share Posted May 2, 2008 intel is still playing catch up. Intel's processors do not scale, they still have a shared FSB and the memory controller is located off die. They might be winning benchmarks, but benchmarks are specific to only a few workloads. gameservers do not fall in those benchmarks. Link to comment Share on other sites More sharing options...
trev-gdr Posted May 2, 2008 Share Posted May 2, 2008 Link to comment Share on other sites More sharing options...
l2aider1 Posted May 3, 2008 Share Posted May 3, 2008 intel is still playing catch up. Intel's processors do not scale, they still have a shared FSB and the memory controller is located off die. They might be winning benchmarks, but benchmarks are specific to only a few workloads. gameservers do not fall in those benchmarks. Just for curiosity sake, under what benchmarks DO gameservers fall? What load or test would be comparable to that of running a gameserver as most benchmarks don't cater to the relatively small % of server users who run game servers. And, while the memory controller is still located off die, if I'm not mistaken I believe several of the intel server chipsets have a dedicated FSB per socket such as the 5400. (http://techreport.com/articles.x/13224/1) In addition, what do you mean by they do not scale? I have read several of your posts, and you seem like a very intelligent person, so I'd love to hear your insight as to why one is better than the other, particularly in the performance per watt category. Imo I don't think you'd be wrong to go with either, as I think it is more of a personal preference. Link to comment Share on other sites More sharing options...
Monk Posted May 3, 2008 Share Posted May 3, 2008 I'm not saying either, Intel wins at things and loses at others. It wins are benchmarks (obiviously), and AMD wins at inital design (NUMA, DCA, mem controller) etc. AMD is falling behind, but they were first to market x86-64 (to home users), NUMA, HTT, DCA, and other things. They picked up most of those ideas from DEC/Alpha It's in my opinion that game servers run better on AMD than on Intel. ie; CSS's tickrate is sensitive to memory controller latency. Also; I'm talking about server hosting and not personal computer stuff. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.