Bang for your buck

I am a PhD student who will be buying some computer equipment so that I can continue my research. The application is for artificial life research and I have written it in  Java. I use mostly floating point addition and multiplication. The workload consists of evolutionary algorithms evolving gene regulatory networks that control development. I have also written the networking layer so that the application can be distributed over a number of PCs and return the results back to the server. Before anyone gets all "upitty" about this being written in Java, I did do my homework on this and the performance in Java is quite good. Not to mention the development time and scaleability. In addition the networking layer in Java was a major selling point because I knew I would have to distribute this application. I refuse to programming in C/C++ ever again.

Anyways, I am looking to purchase about 10-12 PCs to run this on but I need some advice as to what I should buy. Right now I am looking at the following set up per box

AMD 2600 XP  ~ $70.00 (Should I get the Barton with the larger cache or the Thoroughbread with the faster clock speed?)
Biostar IDEQ 200V (400 FSB), mini pc, with VIA chipset (see newegg) ~$160.00
10 Gig HD ~$30.00
CD ROM ~$20.00
1x512 PC 3200 ~$75.00

Basically each PC will run about $360.00 a piece.

The question I have is, is this about the best choice I can make for hardware to run this on? I do realize I am paying about $80 more for each minipc but space it a bit of a premium so I am willing to bite the bullet on that unless there is something which would blow the doors off this.

Any advice anyone can give would be greatly appreciated. As well, if you know of some "secret" places for even cheaper hardware let me know! :)


Who is Participating?
PAQed with points refunded (500)

Community Support Moderator
robleclercAuthor Commented:
Sorry, I  should have said that I have about a $4500 budget on this, so yes, price is an issue.
Protect Your Employees from Wi-Fi Threats

As Wi-Fi growth and popularity continues to climb, not everyone understands the risks that come with connecting to public Wi-Fi or even offering Wi-Fi to employees, visitors and guests. Download the resource kit to make sure your safe wherever business takes you!

Important statement you have there:
>I use mostly floating point addition and multiplication.

floating points are calculated in the CPUs cache thus low cache space will result in low performance. Also, when you stated 'multiapplication' you meant multi threading calculation architecture. Single CPU will treat calculations in timely fashion thus, the most important thread will get the first priority after previous calculation.

The system you are looking for is not cheap; but I would search for a used PCs that has this architecture (it doesnt has to be the newst or the best but it has to contain the propper architecture to deal with the presented tasks).

The system you presented may fail you in the long term but if it is for studing purposes only, you may follow the links zvitam offered as well as the system you offered. If it is further than that, do consider an alternative system with larger CPU caching and more than one processing unit (i.e. Xeon from Intel or Opteron from AMD).

robleclercAuthor Commented:
Actually it was multiplication not multiapplication.

I was able to do a rough benchmarks an some various CPUs at one point based on a stripped down version of my app. I ran two threads on a dual P3 700 mhz and it took an average of about 40 seconds. On a single 2ghz P4  with one thread it took about 18 seconds, and it ran at about 11 seconds on a 2.8 P4. I didn't have a AMD processor to test it on at the time. That said it looked like I would probably get the best performance with a newer processor as opposed to paying extra for dual processor machines and getting less of them. I mean I may be able to get about 4-5 Xeons for that price but I dont think I would be getting anything but a marginal increase in performance.

I looked at the Kentucky super computer ( and they seemed pretty happy with the AMD 2600+ which gave them a super computer with the best price/performance ratio.
Theres a reason for this, it is obvious that older processors has less cache, add to this the inability of P3 processors to efficiantly communicate each other (they are not built for multi processor environment) you out come in low performance.
See the following table:
P3 700Mhz processor has 256KB of Cache.
P4 2.0Ghz processor has 512KB of Cache.
While the new Prescot CPUs (and I suggest you check them as well) consist of 1024KB of Cache.
If youed try a dual processing 700Mhz Xeon (consist of 2048KB of cache that actually CAN communicate with each other efficiantly) you will get much better results than 40 Secs.

Just take in mind that the architecture you build has to relay on what you want to achieve. Multiplication and floating points are hugh factors the CPU is handling while the OS may commit parallelic computing along with more than one CPU, it is the applications job to determine threads thus high efficiency communication between processors as well as a high ammount of core memory is needed.

Just for an example;
Take an Intel based MB built for Xeon CPUs; say somthing like the 440 based motherboard:

And we take dual processing unit such as Xeon 700Mhz:

You will get an estimated time of 25~28 secs... (or even less than that), compare the results you posted.

AMD processors are also a benefit though they need to be built for multi processor platform if you want to build such platform...

Naturally, the newer the processor is, the better performance are...

So much for processors.

As for your computer:
The AMD 2600 XP has 386KB of cache. If youed have the ability to find larger cache CPU (even with the cost of less speed) youed earn much more. The Barton seems to be a better processor that fits your research...If you have the possibility, checkout the 754-PIN AMD ATHLON 64 along with 1024KB of L2 cache.

Hope that helped;

robleclercAuthor Commented:
Well one of the big factors here, unfortunetly, is the limited money I have to spend on this. For about 4500, I figure I can get about 10-12 of theses mini pcs running. Basically, lets say I get about 10 second performance for each box (based on my application focused benchmark) this would be pretty decent for me. For the real application it took about 5 days to run for about 500 generations. I need about 20 000 generations to run this and thus the need for multiple CPUs. Since individuals in each generation can be evaluated in parallel I can simply have a task server farm out data to a computing peer and return the results. When I ran it on a multiprocessor machine I had each processor computing part of the data set in their own threads so there is stricty no need for a MP system although it would be nicer of course to have less boxes, motherboards, harddrives to deal with.

I know this is a bad benchmark but I looked at the Wheatstone perforrmance for the AMD 2600+ and it was getting about 8 GFLOPS. The new P4s were getting about 10 but a system would be more than double the cost for another 25% increase in performance.

What is most critical is that I really get the most bang for my buck here. From that perspective I am just thinking that higher end systems wont give me an equivalent increase in performance. That is, if I am spending say $700 for an AMD 64 or more for a prescont, will this translate into double or triple performance for me?
Just a quick thought.

youo could remove the CD rom drive and the mini motherboard from your spec.

The CD drive is not needed, anyupdates couple be done over you network.

why have a mini mother board it may mean that you clusters footprint would be smaller but hey the money you will save by doing these two mods to you spec will allow you to upgrade your processor spec !
Achally its mini PC not mother board:) But still you ouple buy a PSU unit and mother board and make a customer case to house your mini super computer.

Now thats how to get more Bang for you Buck!
robleclercAuthor Commented:
I am looking at a Biostar IDEQ200V which is equiped with motherboard, PSU, cooling fan, and case. It runs for about $160 which is pretty good. I mean It costs me another $50-70 per box but I have decided it it worth it in the long run. Besides a mini pc would be much easier to sell off in a year if I wanted to upgrade these, especially if I end up paying about $380 each for them.

I thought about not buying the extra CD drives, but I figure for $200 it is probably worth it. Again, this will make it easier to sell off in a year or so.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.