This is the first full quarter that the Basic Software Group has been in existence. The only alterations to membership have been the arrival of David Ralphs: a Sandwich Student from Brunel and the transfer of K Byrd to the User Services Group. The staff is:-
A large part of A J H Walter's time has been taken up with work for the Applications Software Group.
The main event of the last quarter has been the final acceptance of the 1906A following the satisfactory demonstration of paging, GEORGE 4 and the GEORGE 4 compilers. These tests were concluded on Saturday 25 March.
GEORGE 4 was first introduced on 4 March. The exercise was remarkably trouble-free and it was possible to provisionally adopt GEORGE 4 later the following week. It is difficult to assess the reliability of GEORGE 4 as compared with GEORGE 3 since each site appears to have a different bug profile. Bugs found at Oxford may never occur here. However, there is reason to suppose that GEORGE 4 is rather more error prone than GEORGE 3 but not unacceptably so.
The GEORGE 4 compilers have been under test for a number of weeks and were brought into service on 19 June.
The efficiency of GEORGE 4 compared with GEORGE 3 is also hard to assess due to the variable character of the workload and the other changes being made. It appears that the efficiencies are comparable and this is borne out by the benchmark of 60 short jobs. It will be interesting to observe any increase in performance with the introduction of the GEORGE 4 compilers which can be shared.
During the period the filestore has been maintained on 5 EDS cartridges. It is interesting to note that demand for filestore rose sharply but has now levelled out to some extent and no backing store jams have yet taken place. The swap area and libraries are held on a further EDS cartridge. The mounting of the libraries on exofiles has increased efficiency and ensured they cannot go off-line. Paging to the disc may seem curious but the paging traffic has been light and it seems more advantageous to use the available drum space for much-used files.. Allocating these files to the drum vastly decreased the MOP response time. The experiment of paging to the drum will be tried in due course.
On Saturday 18 June, Leeds University used the machine for 12 hours to run benchmarks in conjunction with a hardware efficiency meter. The results were impressive and are recorded elsewhere.
All the communications equipment which was originally ordered has now been installed by the GPO and ICL. Both Belfast. and Exeter have been making heavy use of the 1906A although Belfast have been experiencing hardware problems. The ADS modems on the Belfast link are such as to prevent the easy checking of the lines and modems by SIGMA 2. This tends to suggest their replacement or modification.
Some use is being made of the 7 Datel 200 link although on average only 2 or 3 users are connected at any time. The Datel 600/1200 baud modem has not been used by Imperial College due to modifications being required to the 7903 code which have yet to be sanctioned by ICL.
The switchboard built by Rutherford Laboratory has proved useful and adequate. Currently, some tidying up of the cabling is being carried out now that all the equipment is present.
Some effort has been expended by PEB in the consideration of suitable remote job entry stations. Rutherford have now decided to adopt a GEC machine. The other strong contender is the Satellite One (one will shortly be attached to the 1906A and situated at State House). Briefly, the GEC machine appears to be better engineered and of better architecture which allows emulators to reside in less store. The Satellite One has a much broader spectrum of software and CTL are putting great effort into its use as a remote machine.
Much of the quarter has been spent in understanding GEORGE 4 and the system it is written in. All the important documentation is now to hand, together with the source of GEORGE on magnetic tape.
The whole scheduling area has been examined and a decision made to implement, as an initial attack, a high-level scheduler. This will be written in PLASYD and coding of certain areas has just begun. The HLS choice of jobs to run will be based on observed performance rather than fixed installation parameters; it is hoped that this will be efficient as well as unusual.
The planned HLS will demand certain additions to GEORGE and experience is thus being gained at adding and testing our own mends. In particular, three new commands are almost tested and will be added to the user system shortly. (These enable the MOP user to switch off long error message reporting and the operator to detect GEORGE looping). This exercise has helped considerably in finding ways through GEORGE coding and future additions should be less painful.
A number of other trivial alterations have been made and other not so trivial ones are planned.
The universities are attempting to co-ordinate their effort on GEORGE and the code to switch off error messages is part of ACL's contribution in this direction. Care has to be taken not to prejudice the prospects of moving to later marks of GEORGE which limit the types of modification possible.
AJH Walter is writing a GROATS program to list the GEORGE source, in chapter size sections, on microfilm. Some slight alteration to the GROATS system is required to finish the project. Unfortunately, a full version of GEORGE on line printer paper is too large to contemplate. A microfilm version will allow ease of access at any time without the use of the 1906A. This work has entailed a careful examination of the GEORGE symbolic tapes which appear to have missing sentinels.
Measurements of the 1906A's performance have given some insight into the machine's behaviour but these are not easy to interpret in a meaningful way. During the period much thought has gone into what should and should not be done in the future.
The only ICL-supported measurement system is via the performance file which accumulates measurements every five minutes. Effort is going into providing better and more automatic means of analysing this information to produce graphs and histograms. It is hoped to add to the measurements so taken as occasion arises.
Several workers have attempted work of this nature but so far no one has produced a graph relating to 1906A performance that is in any way meaningful. This is not surprising considering the complex interactions taking place. Data was collected over several months to establish the mean values of only three distributions on SIGMA 2 which illustrates the difficulty of obtaining anything useful on the 1906A.
The following projects would provide useful information and a number of these are under way or under consideration.
All the parameters suggested in (3) are related to P J Denning's theory of program behaviour based on the working set model.
Variable length fields have been implemented and the standard database re-organised along these lines. Responsibility for further development and maintenance is being transferred to the Resource Management Group, through Ken Byrd.
The new GINS03 compiler has been examined and in places does not match the specification in the GEORGE Reference Manual but seems to be bug-free.
ICL have supplied us with a binary and symbolic version of PLASYD (as required under the 1906A contract). The compiler seems to work w ell, and the main objection to it is the lack of the FUNCTION declaration, so that macro commands are unavailable. The S-PL library has been combined with the S-RS library: the combined library will be the standard library for PLASYD compilations. Currently the new library is being put into library format.
The PLASYD source is a dump of a #XMED disc file dumped onto magnetic tape by #YADM. This has been used with #YADM to restore a disc file which is acceptable to the PLASYD compiler #YAPQ but is rejected by #XMED as having an illegal directory. Thus a compilation listing of #XAPQ can be obtained but the source cannot yet be edited.
A multi-language macro is under development by AJHW more suited to ACL's users. The first version should be released shortly. It will cater for FORTRAN, ALGOL, GIN and PLASYD. It will have various restrictions (as compared to the ICL macros) in the interests of efficiency.
Although not strictly in the group, R Prior has produced various pieces of software under the group's guidance including:
It is anticipated that at some point in time the filestore will become overloaded and some form of filestore rationing or charging will be required. To this end, PEB is developing a code to analyse the latest dump to provide information on filestore usage. The current LIST DUMP does this but the new code will be embeddable in a variety of programs rather than attempting to analyse symbolic output from LIST DUMP. Eventually a more sophisticated JUGGERNAUT will be implemented by this means.
COLAB was a management game involving bidding for contracts and executing them.
After the first full-scale run of the COLAB game in January 1972, the participants were asked to give their comments on the running of the game, and from these it was decided to add to the program an amendment to charge penalties amounting to 10% of the contract price per quarter in excess of six on each contract, thus preventing teams from obtaining the first payment on a contract, and then ignoring the remaining work to be done on that contract.
The program has also been amended to allow a maximum of four teams to play at one time, and to give a greater differential in miscellaneous incomes awarded to teams by the control, thereby emphasising the difference between team performances. The next run of the game took place during the last week of June, again making use of the Atlas system. Work will shortly begin on the lCL 1906A implementation.
The paper What was, what is and what should have been. by RET and John Baldwin, has been accepted for publication by Software Practice and Experience.
The compiler has now been implemented, and handed over to Resource Management for maintenance, together with the draft form of a manual. A macro exists on the 1906A to enable the language to be used.
The CAMP program is now fully operational on the PDPl5. A paper detailing the differences between the PDP15 and Atlas version of CAMP has been issued. This paper also contained information on how to run the system on the PDP 15. A number of standard fi1m sequences have also been written for CAMP. These include a film initializing sequence and a clapperboard sequence.
CAMP is also now working on the 1906A. DCT's PLAN routines for outputting to magnetic tape have been edited and successfully run with the main program. By examining the FORTRANRUN macro it has been possible to write a macro which allows more than one input file to be used sequentially. The names of the input files are put into the Parameter field of the RUNJOB command in the order in which they are to be used. The CAMP commands can be input from data files and/or cards.
The logic diagram for the interface unit between the VCS3 and the PDP15 has been modified to use somewhat less expensive Digital to Analogue Converters. A small reference power supply will now be needed but the cost of this is very much less than the saving on the DACs. An estimate of the cost of the back-plane wiring by the Rutherford Laboratory Electronics Services department has been obtained and a full estimate has been completed. This estimate and the case for a synthesiser have now been submitted for approval. Some short test programs have been written to check that the PDP15 will be able to output to the VCS3 at a sufficient rate.
It was found that only 10% of the run-time would he needed for outputting to the synthesiser in the worst case, ie when every parameter changes value at each clock pulse. There are 50 clock pulses per second from the PDP15's real-time clock so each parameter can be changed up to 50 times per second.
Coding (in FORTRAN) of an initial system has started. At the moment it is possible to define and select regions, plot points, draw vectors and use index registers. Output is to the lineprinter in a graphical form. It is hoped that the SD4020 routines written originally for GROATS, and currently transferred to CAMP, will be usable in SPROGS. The exact form of output to the PDP15 has yet to be defined. The next stage is to implement the saving of display files and the use of DRAW.
Discussions on various difficult problems, such as line thickening, have been held regularly. The final decisions on these topics may well affect the existing implementation.
The main decision has been to implement on the PDP15 a more limited version of interactive SPROGS than will finally become available. The primitive system can be experimented with in order to gain ideas for a further system. It will be fully interactive but the user will be expected to use SPROGS commands in describing the relationships among his graphic entities. The user will not be able to specify the meaning of his inputs to the system (pushbutton interrupts and light pen hits will be predefined).
The I/O structure of the PDP15 system will be defined first (drawing routines, light button generating routines, teletype control), and then experiments will be made with various ways of structuring cell classes, selection descriptions and path descriptions. A general co-ordinate input routine, STYLII, has been written which accepts co-ordinate data from the tablet, light pen, DMAC, teletype, keyboard and paper tape. Optionally, it punches and/or prints out this data point by point. Tapes punched by STYLII may be read by it.
A number of bugs in the routines for output from a display file to the SD4020 have been corrected. A year's experience using DEC's basic graphic package, VTPRIM, has convinced us that we should completely rewrite this for the SPROGS software. A new version has now been defined. Some features that were not allowed in the old package, will be assessed and included if they are worthwhile.
The DOS operating system is now used all the time. It is certainly more flexible than the earlier system but is not completely bug-free.
Currently, data may be written from the ICL 1906A to the PDPI5, but not from the PDP15 to the 1906A. Trying to do so sets a flag, called the Read Request flag in the BSI of the 1906A (the 7203/3). When this flag is raised, the 7203 may not write to the PDP15. The flag can only be cancelled by switching off the 7203 and starting again. Both interfaces work looped to themselves - except that the 7203 does not work with the diagnostic for GEORGE (RBSA), when the diagnostic is run under GEORGE 4. RBSA works well under GEORGE 3.
On 13 April a late night test of the BSI was held, the first of a series of 14 late night sessions. This located some faults in the 7203 and confirmed the earlier failure to transfer any data.
On 17 April, the designer of the 7203, John Lawe, came from Stevenage for a late night session. He gave us and DEC a specification of the 7203, which DEC had not seen before. He quickly showed that the polarity of the two interfaces was reversed. As DEC could change their polarity more easily than ICL, they did so. The 1906A then transferred data successfully to the PDP15. However, it did not transfer data in the other direction. The PDP15 expected a different flag handshake from the 7203. Since DEC had only built one TTL BSI, and ICL six, DEC decided to change their interface.
The DEC engineers (Geoff Fogg and John Walker) then took 12 late night sessions to make these changes, and to clear the resulting bugs caused by them. On 6 June they finished these changes, and were successful in getting a good handshake for the PDP 15 writing to the 1906A, using a short executive mode program in the 1906A.
During this time, the above problem with RBSA was found. It is due to the GEORGE 4 Executive not allowing single word I/O transfers to the 7203. This will be corrected in the next mark of Executive.
Malcolm Hammerton (ICL systems programmer) has asked Carol Jones (who wrote our 7203 Executive package) to look at an Executive Post Mortem of the program frozen waiting for the Read Request flag to be set in the program's flag word.
The FORTRAN 3D Hidden Line removal program of Dr Ricci from Bologna is now working by itself and is being modified to work with the GROATS package on the 1906A. This should be straightforward since calling a FORTRAN subroutine from an Algol program has been done successfully.
Experiments are being made with the hidden line removal programs of Dr Heap of NPL, to obtain the picture correctly scaled and windowed as if the eye was at the viewpoint.
During the last quarter, the 1906A GROATS system has been converted from a system using the GEORGE 3 compiler (XALV) and a pooltape (for the SC4020 plotter output) to a system using the GEORGE 4 compiler (XALH) and a worktape for the plotter output. The use of a worktape instead of a pooltape was made possible by a mend to GEORGE (put in by PEB) as a result of which GEORGE automatically unloads a worktape if a rewind-and-unload mode PERI is issued for that tape.
The main difference between the GEORGE 3 and GEORGE 4 versions of GROATS is in the implementation of the picture storage area: in the GEORGE 3 system, a second stack is created, if required, immediately above the Algol stack. In the GEORGE 4 system, a second stack is created by increasing the active program size by one page and then starting addressing for this stack at address 1M: this stack is then extended as required. Under the GEORGE 4 system, GROATS programs run as sparse programs.
The GROATS system is now almost complete: there are at present two procedures missing, namely DRAW FROM TO and REVCOUNTER: work on implementing these is at present in progress. There has been trouble with inconsistent overflow, which causes a program to fail in different places on different runs: also this fault only occurs intermittently. At one stage it was very persistent, and a large amount of effort (and computer time) was put into trying to trap it, but with no success: the problem eventually solved itself by disappearing.
A new GROATS manual is being produced: one chapter of this has already been issued, and some further chapters will, it is hoped, be issued in the near future: the remainder of the manual will become available as and when it is written and typed.
This program was written to enable a programmer to input PLAN source at a MOP console without having to type in the blanks: this preprocessor then converts the condensed PLAN into standard PLAN for input to a 1900 PLAN compiler.
This program will be made available for general use as soon as it has been written up.
During this quarter an evaluation has been made of a number of machines which might be a replacement for Atlas. The evaluation considered hardware, compilers and operating systems on the latest ICL, CDC and IBM computers.
P E Bryant C J Pavelin To attend ACM European Conference, Venice, April 1972