I raised this on this list a month ago, with a number of comments recieved.
I'm getting close to initial release, but there has been some internal
discussion about the name internally here.
As a result of the internal discussion, I'm down to two choices for the name:
Choice 1:
HPCI - high performance computing interface
HPCD - high performance computing driver
Choice 2:
ComputeJobManager::Interface
ComputeJobManager::Driver
I've moved away from having cluster in the name because it will not necessarily
be limited to operating with clusters; the same interface should also work for
a bunch of forked processes on the same host (maybe even threads if they are
even safe to use in perl) and for cloud interfaces.
(The forked processes driver will perhaps be most useful for running tests of
the package itself that don't need to be executed on a cluster-capable system.)
Choice 1 is succinct, but it is not self-identifying to casual browsers. Is
that concern worth making actual users have a mcuh longer package name to type
whenever they use it?
(I've got one medium size coding change and a few small details, plus adjusting
the name throughout whenever a final name is chosen, so I'm very close to the
first release.
John Macdonald
Software Engineer
Ontario Institute for Cancer Research
MaRS Centre
661 University Avenue
Suite 510
Toronto, Ontario
Canada M5G 0A3
Tel:
Email: [email protected]
Toll-free: 1-866-678-6427
Twitter: @OICR_news
www.oicr.on.ca<http://www.oicr.on.ca/>
This message and any attachments may contain confidential and/or privileged
information for the sole use of the intended recipient. Any review or
distribution by anyone other than the person for whom it was originally
intended is strictly prohibited. If you have received this message in error,
please contact the sender and delete all copies. Opinions, conclusions or other
information contained in this message may not be that of the organization.
________________________________
From: John Macdonald
Sent: September 4, 2014 10:23 AM
To: [email protected]
Subject: Top level name proposal - ComputeCluster
Hi,
I wanted to get general comment/concensus about a top level name that I am
proposing.
I'm starting to organize a set of modules for managing jobs on a computer
cluster. I intend it to work much like DBI - with a top level abstract
interface that programs can use, actually implemented by drivers that translate
the common interface into the interface used by the particular type of compute
cluster that is being accessed. Initially, I will provide a driver for SGE,
since that is what we have and use in our lab (but after I have that running,
my PI can get me access to a couple of other type of compute cluster to add
some more.
For naming, I am planning to use:
ComputeCluster - top level name
- will provide switching functions to create a class of object for a
particular cluster type
ComputeCluster::Role - collection of roles for the generic portion of the
commonly available object types
ComputeCluster::$cluster - cluster-specific implementations of the roles
for each type of cluster supported
Does anyone have any alternative suggestions, objections, etc.?
John Macdonald
Software Engineer
Ontario Institute for Cancer Research
MaRS Centre
661 University Avenue
Suite 510
Toronto, Ontario
Canada M5G 0A3
Tel:
Email: [email protected]
Toll-free: 1-866-678-6427
Twitter: @OICR_news
www.oicr.on.ca<http://www.oicr.on.ca/>
This message and any attachments may contain confidential and/or privileged
information for the sole use of the intended recipient. Any review or
distribution by anyone other than the person for whom it was originally
intended is strictly prohibited. If you have received this message in error,
please contact the sender and delete all copies. Opinions, conclusions or other
information contained in this message may not be that of the organization.