This is a great question, and I have a wonderful (yet simple) solution... to give some ideas to the community - with tangible impact
Let me give some background on the problem we tackled at work - we have a partner group at work that runs one large Excel spreadsheet that calculates TONS of information using macros and all that fun financial, data stuff. This process runs once per month on a regular cycle. Yes, a relational database would work better but they're on track to migrate their data within the next 4-5 months to a different application. They've tried splitting the data into smaller chunks, but eventually human error kicks in and the splits caused more harm than good.
Overall, the current process is to run this spreadsheet on a standalone system which is about 3 years old and is a single core machine with 1GB of RAM on Windows XP. The process takes over 3 hours to compute all the cells, pages, worksheets, and if an error is found - the process has to be repeated - and all 10 employees have to wait for the information to process until they can take their next steps. Pretty inefficient if you ask me...
So this is where my team comes in, we have access to desktops, servers and most of them are multi-core and we figured - let's get more memory and CPU's toward this process and see if we can improve the result. So we have a server for this test purpose that consists of 2 Intel Xeon x5365 Quad-Core CPU's (8 total CPUs) and 4GB of RAM on a Windows 2003 Server.
the board/CPU combo looks something similar to this:
We found that the process running in excel is a single threaded application but with the increased computational power of the newer "Core" based CPU architecture and the ability to give a full 100% of that CPU to the task - we found the results in less than an hour. This is the beauty of multi-core processing... even if you have a single threaded application - you get the benefit of applying 100% of that single thread to one CPU - and the other (7 in this case) cpu's can work on the overhead of the Operating System, i.e. virus scan, indexing, sql, OS services, etc...
Now that we've shown that this process can be performed in 1/3rd the time of the older platform - and now we're going to play with Excel 2007 which supports multi-threading. If we get lucky, we could apply all 8 threads to compute this task and hopefully pull things into under 15 minutes (or less)! The team is very excited to know that they'll be able to reclaim their evenings for themselves instead of waiting for the computation of the data.
I hope to get some charts and more formal material to showcase the data around this task as this is a 'real world' usage model for multi-core, and multi-threading application usage for CPU utilization. Hopefully this can help to spur some ideas around 'what to do with a server'...
there's a similar 'performance enabling' story involving Xeons and Cheese here http://www.theinquirer.net/gb/inquirer/news/2007/09/13/xeon-7300-excites-cheese-professor-with-staggering-performance
There ya go. Real world problem, real world results after an upgrade. Nice example and a nice cheese reference too.
When you re-run in multi-threaded mode to get to your 15 minute goal, let me know. I will ship you a 4 socket, quad-core system (16 cores) with 64GB RAM and see if we can chop that time down a bit. Although, its not very efficient usage if you are only going to use the system for this task once a month.
Anyone else have another good example to share?
I would run World Community Grid
World Community Grid's goal is to create the largest public computing grid benefiting humanity. Their work is built on the belief that technological innovation combined with visionary scientific research and large-scale volunteerism can change our world for the better. Collectively contributing their computer time to a not-for-profit endeavor.
The Clean Energy Project
Nutritious Rice for the World
Help Conquer Cancer
Discovering Dengue Drugs
Human Proteome Folding
Your question is exactly what I am doing. I am involved in IT education and thought it would be enlightening to actually apply much of what I teach. When my old Win 2000 desktop went down and I got fed up with the router losing our NAS, I decided it was time to build a media server and maybe even teach myself a few things. To this end I am building a 1 socket Quad Core with 8GB of Ram and 6TB of hard drives in multiple raid volumes. The OS is Windows Server 2008 64 bit Enterprise. Definitely overkill but it has met the original objective… Enlightening!