Tasks in the context of SCM96
Contents
These have been tasks, in the context of assisting the SCM96
project to switch -at first for evaluation purposes- to using
ClearCase, as the configuration management tool for NMS.
These have been agreed upon.
- Build under Clearcase the program blocks in the p1 VOB.
- Start with werlib and werwin, and the blocks depended
upon, among which wwllib
- Leave qmclib for a start.
- Pay attention to performance, and especially, evaluate and try
to minimize the penalty incurred for configuration
lookup. Build optimization is one main asset we
capitalize upon.
- Criticize the current process, and make suggestions to improve
it. This is maintained apart.
- Implement and use a staging VOB as a distribution area
only, i.e. do not use elements or derived objects from there
while building the platform. The rationale is explained in my
notes on installation.
- Implement site specificities as makefile macros instead of as
soft links in a main VOB. These are grouped in a
specific paths.mak makefile
component.
- Maintain a global Makefile,
containing the information previously in build.lst.
- Make all directories derived objects, instead of view private
ones:
- integrate the dodirs.sh functionality into the
makefiles
- make dependencies upon the installation directories
explicit, so that the install.sh script may be
simplified.
- Set up and documented a hierarchical makefile system, based on
the versions labelled P1_DEVENV.
- Processed manually a few POBs, so as to validate this system,
and tune tools for automatically processing the remaining
makefiles
- Produced binaries for these VOBs, out of which two, werlib and
werwin, were regression tested.
- Processed all the makefiles with the tools
- Run clearmake on the whole platform and corrected errors. There
were residual problems in 29 POBs, some trivial
(in cases I have not reached at all), some induced.
- I have only superficially tried parallel building with
deceptive results. Some tuning is needed (but Delphi could help).
- The description of dependencies and the integration of the
installation process are far from complete, so that the building
is not yet free from some hysteresis.
- Some useless rebuilding still occurs, due to improper
dependencies.
I expect that we should consider 5 different durations:
- the reference duration of a build with the pac driven RCS based
system
- the duration of a full build under ClearCase, with no winkin
(e.g. first build in a new replica, with a new staging VOB)
- the duration of an unconditional full build under ClearCase
- the duration of a null build under ClearCase
- the duration of an optimized parallel build under ClearCase,
over the appropriate number of hosts.
I expect that the second is longer than the first, due to the extra
work performed by ClearCase in its configuration lookup (totally
useless in the case I mention, where no benefit is expectable).
On the other hand, the RCS scheme performs a lot of checking out, with
afferent copying, which remains unmatched...
I expect the third to be shorter than the second (and hopefully
than the first), since ClearCase should then not spend time looking
for reusable bits (not checked though...)
By "null" build, I mean a build following a succesfull full build. It
should then do nothing but validating the existing derived objects.
The ratio between the two latter should give an idea of the ideal gain
to be obtained by build optimization.
In normal use, only a marginal part of the work has to be done again.
The last time is a farther target.
Clearmake may distribute independent builds to separate processes on
the same or different hosts. Due to waiting for I/O, it is reasonable
to expect significant benefits from using several (e.g. 4, of course
depending on the actual build characteristics) processes per node.
This requires however that the dependencies between the various
makefile targets are described properly. This is a huge work, although
one that may be performed progressively, e.g. first at the highest
level (building the POBs in parallel, but every one of them as a
sequential process).
A 4-fold increase in overall performance
should be obtainable, with respect to the normal build duration, as
mentioned here above.
- I shall of course be available for consulting and various explanation
(e.g. imprecisions).
[email protected]
Last modified: Fri Mar 17 17:18:01 EET 2000