help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] Optimization and Multicore GLPK


From: Harley
Subject: Re: [Help-glpk] Optimization and Multicore GLPK
Date: Tue, 01 Jan 2013 12:07:07 +1100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/17.0 Thunderbird/17.0

Given this is the Christmas holiday period in Australia & NZ (except for ex-pats located in Berlin), I have only been catching up with this thread now.

I concur with Robbie about the choice of git for the version control for the project. I personally work everyday with Subversion, but for this type of community development, git is the standard and is well supported through github. As for the management of commits to the site, there are well established approaches for managing community development projects and it would make sense to have Andrew (possibly with some assistance or with others) maintaining control of the commitment process.

For those questioning the need for the requirement of re-entrant code for GLPK, I asked the same question and Xypron sent this answer to me by email:

"you are right that multiple processes may run GLPK at the same time. But many
applications like Apache or Tomcat are multi threaded. So maybe you would
like to create a webservice offering route optimization by solving a TSP. You
wouldn't be able to do so with the current GLPK because Apache has multiple
threads per worker process, and you definitely do not want to shut down
Apache if one of the TSPs has a problem because a user of your webservice
came up with some strange input."

For profiling and possible static analysis of the GLPK code, I seem to recall a commercial product that claimed to offer advanced static analysis and profiling of C code for optimisation and code reorganisation and were offering to allow use of the product for open source GPL projects for free. It claimed lots of benefits and its list of open source products that had used it were impressive, but I cant seem to recall the name of the product and I have no idea if their claims are in fact true. I will do some investigation to see if I can find it and then review what it offers to see if it may be of benefit for code review and to get ideas for code improvements.

Regards,

Harley

On 28/12/12 8:51 PM, Robbie Morrison wrote:
Hi Reg, all

------------------------------------------------------------
To:           glpk <address@hidden>
Subject:      Re: [Help-glpk] Optimization and Multicore GLPK
From:         Reginald Beardsley <address@hidden>
Date:         Thu, 27 Dec 2012 16:45:00 -0800 (PST)
------------------------------------------------------------

I just picked out a couple of points, mostly
related to the process and not the technicalities.
Note too that some of the original post has been
reordered.

PROBLEM STATEMENTS

The solution I understand.  The problem I don't.
The problems being addressed need to be fully
articulated and agreed upon.

VERSION CONTROL

As for version control, there is a strong
benefit to having an accessible change history.
Particularly in tracking down bugs.  However, I
don't think there is any benefit to having
multiple people modifying the code in a
repository.  I think much preferable for people
to send proposed changes to Andrew and if he
accepts them they get integrated into the
repository.
There are a number of workflows supported by
distributed version control systems.  xypron (if I
am not mistaken) has suggested this one in the
past:

   
http://git-scm.com/book/en/Distributed-Git-Distributed-Workflows#Dictator-and-Lieutenants-Workflow

FWIW I don't like git and would suggest
mercurial instead.
I think 'git' is, for better or worse, the default
for open source projects these days.

Bug tracking might also be helpful.  Again a
workflow and a maintainer need to be assigned.

CODE STYLE

A very serious issue in maintenance programming is
style.  Sadly very few programmers understand the
importance of matching the style of the existing
code.
I doubt if there will be a problem with
"incorrect" coding.  The current codebase is so
utterly consistent.  Indeed, the style police
would be better occupied looking thru my wardrobe.

WIKIBOOK CHAPTER

Much more useful in my view is people taking on
chores like the wiki, setting up a profiling
system, testing on major platforms, etc.  Doing
what no one else is doing.
Good point.

I started marking up a wiki page:

   http://en.wikibooks.org/wiki/GLPK/Sandbox_%28for_content_under_development%29

The working title is: Code optimization and
concurrent execution effort.  Let me know (Reg
perhaps) if this can be improved upon.  Once the
real page is made, this chapter title will (more
or less) be set in stone.

I'll continue to work on the content over the new
year break.  All feedback gratefully received.

Robbie
---
Robbie Morrison
PhD student -- policy-oriented energy system simulation
Technical University of Berlin (TU-Berlin), Germany
University email (redirected) : address@hidden
Webmail (preferred)           : address@hidden
[from Webmail client]



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

--
------------------------------------------------------------------
      Dr. Harley Mackenzie         ABN:   36 348 783 012

      HARD Software                Web:   www.hardsoftware.com
      PO BOX 8004                  Tel:   +61 3 5222 3435
      Newtown 3220, Australia      Email: address@hidden
------------------------------------------------------------------



reply via email to

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