PC Reccomendations for MATLAB
Mostra commenti meno recenti
Hi Everyone!
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!
Risposta accettata
Più risposte (3)
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.
5 Commenti
Daniel Shub
il 26 Set 2012
If my calculations are right, the data will require 1TB of memory. I am not sure how much of a difference the amount of RAM is going to make. You are going to have to read the data in bit by bit. It seems the number of cores and a fast disk are going to be crucial.
Jan
il 26 Set 2012
I get: 9e6*10*8 Byte for the array, which is 720 MB. As far as I understand this array grows by 40MB each year. The description "correlate this on certain parameters" does not allow to estimate the memory requirements exactly. Anyhow, 4GB RAM are the minimum to handle 1GB arrays sufficiently, but more, e.g. 16GB RAM will be a good investment.
@Daniel: How did you come to 1TB? If the harddisk is slow and the data are swapped to the disk, the additional cores will idle while waiting for the disk.
Daniel Shub
il 26 Set 2012
I did 9e9*10*8, which is clearly wrong. A computer to deal with a 1 GB dataset is very different from one to deal with a 1 TB dataset.
Andy
il 26 Set 2012
Jan
il 26 Set 2012
"Real time" and "hourly" data mean, that the calculations should be finished after less than an hour. Or does "real time" mean, that you want the processing happen inside the limit of 5 seconds, which is a psychological limit in which a human accepts a result as direct reaction to an input?
Image Analyst
il 26 Set 2012
0 voti
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/
4 Commenti
Jan
il 26 Set 2012
I repeat myself: A 5GHz CPU cooled by liquid nitrogenium will gain a factor of 2 for thousands of dollars. Asking a professional and experienced Matlab programmer to spend 4 hours to improve the code will cost less than 1000$ and could gain a factor of 20, or at least saves weeks of debugging...
I admit, without seeing the code, this is a bold claim.
Image Analyst
il 26 Set 2012
True. And it's best if you can have both.
Jan
il 26 Set 2012
A 5GHz machine increases the energy costs and the CO2 production, while a good programmer reduces both.
Walter Roberson
il 4 Ott 2012
I dunno... I can be pretty hot-headed :)
Richard Crozier
il 4 Ott 2012
Modificato: Richard Crozier
il 4 Ott 2012
0 voti
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.
Categorie
Scopri di più su Power Converters in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!