- What is the environment you are using your machines in? An office environment? Are you in the field, plugged into some piece of equipment? Must the machine be portable? Ruggedized?
- Do you need to also include some sort of storage device to hold data for a period of time (file server, NAS). Do you need to back this data up?
- Have you been given a budget? What do you need to pay for with this? Hardware, software, maintenance, electricity, cooling, rack space, IT time, etc?
- You mention in Jan's answer that this is "real-time". Does this imply that others (meaning humans or other electronic processes) need to consume it? Do you need to post these hourly results on a server somewhere? Does that need to be included in your business case?
- When you say hourly, are those business hours or 24 hours a day/7 days a week as a fully automated system with paging if it goes down? That can certainly affect how you do your work, and the cost.
- What is the timeline for hardware replacement? A lot of places will depreciate it over 3-4 years as an interval for upgrades. If you are running the above 24/7 setup, you'll likely want to look at server grade hardware with a 4 hour replacement contract, in addition to methods that allow you to fail over or used a clustered system to make sure the analysis keeps going. These costs are non-trivial -- but your requirements may dictate that they are needed if downtime of this system is measured in $K/min.
PC Reccomendations for MATLAB
1 view (last 30 days)
I have been asked to produce a business case by my employer to detail running costs of using MATLAB or it's alternatives as our main analysis software.
We have approximately 9 million rows of data that have 10 points in each and the aim is to correlate this data on certain parameters. The amount of data will increase by a minimum of 500,000 rows a year and we don't want to have to buy new computers each year.
I know this isn't a question about MATLAB code but they will come in the future!
Jason Ross on 26 Sep 2012
I've needed to put together quite a few business cases in my time. A few red flags pop up immediately that need to be clarified before you start looking at spec sheets and dreaming about cores, SSDs and memory sticks.
More Answers (3)
Jan on 26 Sep 2012
Edited: Jan on 26 Sep 2012
What exactly is the question?
You will be able to solve this on a netbook also as long as you can wait until the disk-swapping is ready. A i3 to i7 or Xeon will be much faster, but according to my personal experiences, investing in more RAM is more efficient than buying the hottest processor. When the problem can be parallelized, better buy more cores with less speed.
As usual in the hardware discussions I want to stress, that excellent hardware can accelerate by a factor 5 or 10, while an excellent programmer can gain a speedup of factor 100 under some conditions.
While I've seen several benchmarks which show, that Matlab runs significantly faster under Linux, my impression from this forum is, that Matlab is most stable under Windows, while there are some strange bugs under OS-X and Linux. If you spend too much time with fixing Java-updates or side-effects from the built-in backup mechanism, 10% faster computations are not useful.
Image Analyst on 26 Sep 2012
If you have only a GB of data or less, that does not seem very demanding. I think a garden variety notebook would handle that no problem. I got a home computer with an Intel I5, 8GB of RAM, and a terabyte hard drive last December for $499 (way, way less than MATLAB costs). That computer would easily breeze through your data. If you're doing lots and lots of iterations on that data set (like some sort of iterative simulation), of course it would take longer than a single pass.
It looks like your boss is concerned about the costs so luckily a fairly mundane computer would handle your data quite easily. Of course if you want more computing power, and have more money, you can get screaming fast computers here: http://liquidnitrogenoverclocking.com/
Richard Crozier on 4 Oct 2012
Edited: Richard Crozier on 4 Oct 2012
Use an Amazon EC2 cloud machine. It will be upgraded regularly and you can later use the distributed computing toolbox to spread the load to several computers. You will also only need to rent the actual computing time you need instead of having a large fixed cost depreciating asset.
You can also upgrade the machine's RAM etc using the same machine image, so no migrating everything to a new PC when it's no longer powerful enough. If your company would like assistance doing this, I'm open to offers ;-)
Oh, yes, and if it falls over, you can restart in under a minute with a new machine node, with the same machine image. You will not require tech support to maintain the machine.