0
0
I am running a Java program which I wrote, which calls Gurobi (an optimization software for linear programs). When I am running a large program that takes ~20 hours to complete, even simple tasks (e.g. open a new tab in Chrome) takes 5-10 seconds. The java program which I wrote is a single threaded application, but Gurobi uses multiple cores. My computer is an iMac running OS X 10.7, which has 4 CPU cores.
I would like to be able to run large computations while still being able to do normal work on the computer.
Questions:
- How do I check which is the bottleneck: the CPU or the memory?
- Is it possible to make java run using a single CPU, so that the computer won't slow down dramatically?
- How do I reduce the impact of the large computations on the normal usability of the computer?
Update:
I was able to get the large computations to run smoothly in the background
by telling Gurobi to use only a single CPU core,
and by using nice
to give it low priority.
Have you confirmed that the CPU usage is actually your bottleneck? – Ƭᴇcʜιᴇ007 – 2014-09-17T15:52:16.910
It sounds like the real problem is likely
Gurobi
because your single threaded application isn't the reason for your performance problems. Unless you have evidence to say otherwise? – Ramhound – 2014-09-17T16:10:28.300@Ƭᴇcʜιᴇ007 How do I determine which is the bottleneck? I put that in the question. – I Like to Code – 2014-09-17T16:30:11.183