MATLAB Answers

Home PC or workstation for MATLAB?

97 views (last 30 days)
Gerrit
Gerrit on 2 Aug 2012
Edited: Rik on 18 Aug 2020
I am due to specify a new PC to use for my MATLAB work. The most demanding tasks are typically repeatedly running long (couple of hours simulated time) Simulink simulations at small sample times (couple of microseconds) and plotting and otherwise processing (fairly simple like averaging, root mean square, etc.) the data. The simulations are usually time-varying and often of stiff systems. Ususally I run the simulations in series (tuning model and control parameters, etc.) although sometimes they could run in parallel for Monte-Carlo-type simulations, should MATLAB allow so (Parallel Processing Toolbox?).
Does anyone have information/ideas about whether the 'workstations' offered by companies such as Dell and Lenovo would perform significantly 'better' (mainly faster) than 'home PCs' at a similar price, say £1200/US$2000/Euro1400 for guidance? I am assuming the same RAM, say 8GB (trying to get 16GB, but that may exceed the budget).
Looking at Intel CPUs only, I have noticed that (mid-higher spec) 'home PCs' (which is all we use in the office at the moment) usually come with i5 or i7 CPUs, whereas 'workstations tend to come with a variety of Xeon CPUs. Is there any benchmarking data on whether (current, lower-end) Xeon CPUs offer an advantage over an i7, or vice versa, for the type of Simulink work described above?

  0 Comments

Sign in to comment.

Accepted Answer

Jason Ross
Jason Ross on 2 Aug 2012
Edited: Jason Ross on 2 Aug 2012
The way I look at such questions is to look at what's the bottleneck on the system.
  • If you are using the swap file heavily, I'd look at more RAM.
  • If one processor is pegged when you are doing your run, I favor clock speed.
  • If you can benefit from parallel computation, I go for cores.
  • If you do a lot of disk I/O, I look at SSD and a fast SATA interface.
  • It sounds like everything is local, so I'm not addressing network.
  • And, of course the budget!
If you are on Windows 7, use the Resource Monitor (start Task Manager, then click the "Performance" tab and "Resource Monitor" to get a nice overview of all these systems. Other operating systems have similar tools.
As for the processor question, Intel has a nice comparison tool:
Generally (there are exceptions)
  • i5 is a 4 core processor without hyperthreading
  • i7 is a 4 core processor with hyperthreading
  • Xeon is a 6 or 8 core processor with hyperthreading.
Clock speeds vary throughout each of the lines, with cost generally increasing towards the fastest chip.
In terms of workstation versus home PC, generally the workstation offers things like
  • Multiple CPUs (single, dual or quad)
  • Space and interfaces for additional stuff (GPUs, hard drives)
  • The ability to put in more RAM (I've seen up to 1TB offered)
  • Multiple network interfaces
  • Higher capacity power supply
If the above matter to you, then the workstation is "better". But if they don't, then they offer little value.
For specific comparisons there are many hardware sites. http://www.cpubenchmark.net/ concentrates on benchmarks of CPU performance, but Tom's Hardware, Anandtech, etc also post in-depth reviews of hardware, too.

  3 Comments

Gerrit
Gerrit on 3 Aug 2012
Hello Jason, you give some very good pointers there:
Resource Monitor: I have tried to use that previously, but for example I just do not know what "heavy swap file use" is: how do I know it is heavier than it could/should be? Do you know of any fairly simple explanation or user guide for this tool, i.e. how to interpret the information it gives?
Bottleneck and processors: Even if I knew exactly what the bottleneck on my current PC was, it does not tell me what it would be on a new PC. That is why I am trying to get some general guidance on the potential advantages of a 'workstation' over a 'home PC'. The key difference that would potentially affect me would be to have multiple CPUs - the others you list would not affect me much, assuming a high-spec PC has enough RAM. The question is then: would my use of MATLAB (say Simulink simulation of stiff systems with lots of scopes) benefit from having multiple CPUs, assuming the budget would allow that?
Cores and hyperthreading: This is a topic that confuses me greatly: what is the difference, in MATLAB use, of cores and hyperthreading, and is hyperthreading the same as multithreading? On the latter, I found a comment on the Mathworks website:
However, this does not mention Simulink. Does Simulink benefit indirectly from multithreading, or not at all? Or would multiple cores/CPUs help if I was multitasking by running two or possibly three (unlikely to be more) instances of MATLAB at the same time (one chugging away at number-crunching in the background, one to develop new software)?
Overall: Based on your reply, and my general research so far, I suspect that my 'budget' is insufficient to justify a 'workstation', and that I will be better off with a desktop/home PC. However, any comments that would confirm this, or otherwise, would be welcome.
Jason Ross
Jason Ross on 3 Aug 2012
I'll respond with my own opinions. Keep in mind these are not iron-clad rules.
For swap file usage, you should look at how much of your existing RAM is in use by the system when you are running your simulation. There is a dedicated tab for Memory on the Resource Monitor that shows a nice graph of memory utilization as things are running. If this is regularly topping out on your current system, then you are going into swap and this is most likely affecting your performance, as the swap file is going to be significantly slower. I'd look at sacrificing clock speed or cores to be on budget to fit the higher RAM amount. If you can get the system operating with essentially no swap file at all, operations will take place only in memory once they are loaded from disk and the performance will be very good. And with 16 GB RAM available for under $100 (USD), and dead simple to install, it's possible that you might want to look at the cost the vendor charges for the upgrade versus DIY and go that route -- especially if you know your way around the inside of a PC (or work with someone who does)
For your processors question -- if your existing machine has multiple cores, do they get maxed out when you are doing a run? I'm not all that familiar with the intricacies of Simulink. As for hyper-threading versus not, I've personally found that for what I work with most, it doesn't offer much value. I know there are some applications where it does, but I've seen that processes essentially wait on the "real" cores for computation, and it doesn't really matter much. So I'd look more at the number of cores versus hyperthreading, and take the saved money and put it into RAM.
You might also want to look into if what are you doing supports Parallel Computing and see if you can trial the toolbox. In that case, having multiple compute cores and RAM could most definitely help you speed up your time.
I would concur that your budget is likely going to land you in the "well-configured home desktop" range. Which is pretty much what a "well-configured workstation" was a few years ago, so you are likely to see much better performance.
Hope this helps,
Jason
Gerrit
Gerrit on 3 Aug 2012
Thank you: Looking at my "CPU Usage History" on the "Windows Task Manager" (this is Windows Vista 32-bit OS), this sits at around 55% (80-90 on one, 20-30 on the other of the two), which is high but does not seem to be at its limit. The "Free" "Physical Memory (MB)" drops to 0 during simulation, but I cannot see any sudden increase in Disk use or Page Faults on the Reliability and Performance Monitor" when that happens, so not sure what actually happens or 'gives way'.
It would be nice if I could do a proper benchmarking of two alternative system. However, that is not going to happen...
You have given me enough info to get going with the next spec. Thanks again and best regards,
Gerrit.

Sign in to comment.

More Answers (3)

William
William on 3 Aug 2012
look at the lenovo W520. I use it all the time and was able to get one with 16gb of ram for around 2000. Worst case get a desktop. You won't be paying for portability.

  1 Comment

Gerrit
Gerrit on 3 Aug 2012
Thanks, it is a valid suggestion. However, I am not too convinced about laptops regarding value, or 'power', for money; we got a Sony Vaio with 64-bit OS and 6GB RAM and up-to-date CPU last year, and it was hardly faster in benchmarking than my five-year old Dell Dimension E520 with 32-bit OS and 'full' RAM (6GB installed, but of course the 32-bit Windows OS only uses approx. 3GB of that).

Sign in to comment.


Bhuvnesh Rathor
Bhuvnesh Rathor on 17 Aug 2020
Minimum Specifications for MATLAB Software
Processor - i3, i5,
RAM 4 GB
Hard Disk – 500 GB
Graphics Card- 2 GB
Window Any
If you want to work on new version of MATLAB software and in your budget then we suggest i7 processor, 8 GB ram, 1tb HDD

  10 Comments

Show 7 older comments
Walter Roberson
Walter Roberson on 17 Aug 2020
I run out of memory with 32 gigabytes. Not every day, but it is not rare. If I only had 16 I would be running out a lot.
Walter Roberson
Walter Roberson on 17 Aug 2020
I was using over 16 even as I wrote that. When I closed down all my apps I was still over 9 Gb. System processes keep expanding... and so many side processes running these days.
Rik
Rik on 18 Aug 2020
After I upgraded my pc, my memory usage blew up. I suspect my idle RAM usage would decrease by 40 percent if I halved the total capacity. To be fair, I don't know what behavior I would expect on Macs.

Sign in to comment.


Gerrit
Gerrit on 17 Aug 2020
Rik, I very much appreciate your (and all correspondents') time and effort and hope others do as well.
CPU: Is your description for Windows 10? I still use Windows 7 on this PC (one of the reasons I need to change it) and when ticking the Performance tab there is a menu option View -> CPU History -> One Graph Per CPU (or alternatively One Graph, All CPUs). I assume this does the same as your option; it shows eight individual graphs (four cores with two threads per core). I would send a screenshot of the Task Manager if I could, but Chrome crashed earlier on when I tried that, losing me my earlier text.
RAM: The large-data model I am working on at the moment is commercially sensitive and I couldn't send that. If I do think of a way to create a public large-data Simulink (benchmarking) model, I will post it on the MathWorks site.
GPU: If anyone has examples of the component combination sites that Rik refers to, could you please post them here?

  1 Comment

Rik
Rik on 17 Aug 2020
I hope your organization made use of that extended protection deal with Microsoft if it is still running Windows 7 on internet-connected machines. (if you can attach a USB-stick to it and use that same stick on an internet-connected machine, even offline machines should be considered internet-connected)
It sounds to me like Walters workflow is closer to yours, so his advice is probably more applicable. The last time I ran out of memory was when answering this question where I found the maximum size imwrite can write to a png: about a 4GB file.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!