help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] Performance decrease with more powerful computer


From: Patrik Dufresne
Subject: Re: [Help-glpk] Performance decrease with more powerful computer
Date: Wed, 6 Feb 2013 14:50:01 -0500

After further investigation, the JVM and the FPU control word are not in cause. It seams I'm not using GLPK as expected. Within my Java application, I'm creating one instance of a linear problem (with glp_create_prop) with col and rows. I solve the problem using glp_intop. According to the solution, I then create / remove or update columns or rows. Then solve it again with glp_intopt. I'm doing so multiple times.

In many cases, the behavior observe on Linux or Windows are the same. In other cases, the behavior is completely different on Windows and solving a single instance of the problem takes minutes instead of seconds on the same computer.

To work around this issue, I'm creating a copy of the problem and solve it as follow:
glp_prob copy = GLPK.glp_create_prob();
try{
GLPK.glp_copy_prob(copy, glpklp.lp, GLPKConstants.GLP_ON);
returns = GLPK.glp_intopt(copy, iocp);
GLPK.glp_copy_prob(glpklp.lp, copy, GLPKConstants.GLP_ON);
} finally {
GLPK.glp_delete_prob(copy);
}

Patrik Dufresne

On Tue, Feb 5, 2013 at 3:23 PM, Patrik Dufresne <address@hidden> wrote:
Hi all,

Thanks for your comment.

@Nigel Galloway : I've done some test with and without Hypertheading and the differences are very little. I do have better performance with Hypertheading. The i7 CPU only has 2 cores.

@Andrew: I think the FPU control word might be the problem. I'm running GLPK thought a JVM. I've compare the console output between glpsol.exe and a call to glp_intopt() for the same problem on the same compute running Windows 7 64bits --- the results are different.

See attachments.

When run from Java, it take more time. Up to 120sec. When from from glpsol.exe, it take only 4 sec. The problem is available on my dropbox : https://www.dropbox.com/sh/ja2myngas5lorow/qS2reVAFcl/assignment20120203-mip-6

Patrik Dufresne


On Tue, Feb 5, 2013 at 9:14 AM, Jeffrey Kantor <address@hidden> wrote:
I know very little about hyperthreading, it's not clear that hyperthreading limits performance of a single threaded app to one-half of a core's performance.  According to the various gamer benchmarks, hyperthreading introduces some minor overhead on single threaded apps, but it's not 50% penalty (unless, of course, you have a lot of other computations going on at the same time). 

Here's a link to benchmarks for single threaded apps http://www.cpubenchmark.net/singleThread.html.  What's interesting is that i5's, and even the lowly i3 with a high clock, can outbenchmarks some i7 models.  I wonder if this benchmark for single-threaded apps might be a reasonable predictor of glpk performance.

Perhaps someone with more expertise could weigh in on this.

Jeff


On Tue, Feb 5, 2013 at 7:19 AM, Nigel Galloway <address@hidden> wrote:
The results may consistent:
 
Core i7 is a quad core processor with HyperThreading, so on Windows XP it will appear as 8 processors each running at 1.6 Ghz. GLPK can only use one of these processors so only 12.5% of max.
 
Core i5 is dual core with HyperThreading. HyperThreading helps Windows' threading model but does nothing for Linux. You may find that your Linux has turned it off. So the i5 looks like 2 porcessors each running at 2.6 Ghz. GLPK can use 50% of this configuration.
 
You may be able to turn off the HyperThreading on the i7 by changing your BIOS settings. GLPK will then be able to use 25% of max.
 
--
Nigel Galloway
 
 
On Fri, Feb 1, 2013, at 08:15 AM, Reginald Beardsley wrote:
Looking at the descriptions I think you're thrashing.  Add more memory to system 1, unless of course there's a typo and that should read "32GiB" instead of "3GiB"
 
--- On Fri, 2/1/13, Patrik Dufresne <address@hidden> wrote:
 
From: Patrik Dufresne <address@hidden>
Subject: Re: [Help-glpk] Performance decrease with more powerful computer
To: "Reginald Beardsley" <address@hidden>
Cc: "glpk" <address@hidden>
Date: Friday, February 1, 2013, 9:49 AM
 
Hi Reginald,
 
Here are the hardware specs i'm comparing.
 
System 1
Windows XP SP2
Intel Core i5 650 @ 3.20GHz 4 MB Cache3GiB DDR3 1066/1333CPU mark (according to cpubenchmark.net) : 3154
Total computation time : 331 sec
 
System 2
Windows XP SP2, Windows 7 64bits, Debian 64bits
Core i7 CPU M 620 @ 2.67GHz 4M Cache4GiB DDR3 1066CPU mark (according to cpubenchmark.net) : 2718
Total computation time : 114 secs
 
System 3
Windows XP SP2, Debian 64bits
Core 2 Duo CPU E6550 @ 2.33GHz 4 MB Cache L24GiB DDR2 800CPU mark (according to cpubenchmark.net) : 1493
Total computation time : 172 secs
 
I didn't run the benchmark on the computer it self, but the different between the number is big enough to expect better performance from System no 1 then System no 3. The total computation time of the problem on different platform for the same computer are almost identical. (less then 0.5 sec different). It's safe to assume the platform doesn't have any impact on the performance.
 
I'm using GLPK 4.47 on every platform. On Linux, I did compile it from source with default flags. For Windows, I pick the pre-compiled version provided by winglpk project.
 
To solve the problem, I need to run GLPK multiple time sequentially. I may provide dump of every instance of the problem.
 
Patrik Dufresne
 
On Fri, Feb 1, 2013 at 10:23 AM, Reginald Beardsley <address@hidden> wrote:
Could you  provide a few details? 
 
System configurations you're comparing?  GLPK version?  Compile time options specified?
 
There are a huge number of possibilities.  Why do you think the computer is "more powerful"?
 
Reg
 
 
 
--- On Fri, 2/1/13, Patrik Dufresne <address@hidden> wrote:
 
From: Patrik Dufresne <address@hidden>
Subject: [Help-glpk] Performance decrease with more powerful computer
To: "GLPK help" <address@hidden>
Date: Friday, February 1, 2013, 8:56 AM
 
 
Hi,
 
I'm using GLPK in one project and the time taken to compute is longer on a more powerful computer. Does it make any sense to you ? 
 
I don't have any clues about how to debug it. I would really appreciate tips to diagnose the problem.
 
Patrik Dufresne
-----Inline Attachment Follows-----
 
_______________________________________________
Help-glpk mailing list
 
_______________________________________________
Help-glpk mailing list
_______________________________________________
Help-glpk mailing list
-- 
http://www.fastmail.fm - A fast, anti-spam email service.

_______________________________________________
Help-glpk mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-glpk



_______________________________________________
Help-glpk mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-glpk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]