[torquedev] Reorganizing TORQUE Source Code
Joshua Bernstein
jbernstein at penguincomputing.com
Tue Feb 24 15:23:22 MST 2009
Josh Butikofer wrote:
> TORQUE Developers:
>
> Over the past few months I've been looking through the TORQUE source
> code and trying to find ways to improve its organization. I've found
> that there are several pieces of code that are data structures and
> utility functions used in both pbs_server and pbs_mom that are NOT part
> of the shared library package. This is fine, except for the fact that in
> some cases the functions/data structures are defined twice--once in
> pbs_mom code and once in pbs_server code. Oftentimes it is a direct copy
> and paste. In my mind this is not only silly, but potentially dangerous,
> as keeping these two copies in sync is a maintenance burden.
>
> I've also found that I want to add a generic function to TORQUE, but am
> forced to add it to some unrelated module like "job_func.c"...even
> though it has NOTHING to do with jobs, per se.
>
> So I have a proposal.
>
> We would like to create a new "utility" module in TORQUE. This C module
> would be statically linked into both the pbs_server and pbs_mom at
> compile time. It would NOT be part of the shared library, but it would
> still be found in its own "Libutil" directory. We would move any
> functions defined/used by both pbs_server and pbs_mom into this module,
> as well as any other functions that are generic enough that it would
> warrant their placement there.
>
> We already have a patch to do this work and are eager to check it in. I
> just wanted to double check if there are any objections or if anyone has
> any reservations. We plan on introducing this reorganized code into the
> next version of TORQUE 2.3.x. (No code logic is actually changing, so
> the functionality should remain exactly the same.)
>
> Let me know what you think.
Seems to make sense to me. At the very least it should make it easier to add new
functionality to TORQUE in the future.
-Joshua Bernstein
Software Engineer
Penguin Computing
More information about the torquedev
mailing list