An Automatic Supervisor for the IBM 702

Embed Size (px)

Citation preview

  • 7/28/2019 An Automatic Supervisor for the IBM 702

    1/5

    l ines the operating steps for the machineprocedu re. M an y of the rules for writingthe expressions are merely a review of th efundamenta ls taught to a beginningstude nt of algebra. These rules mu st best r ic t ly adhered to so tha t both the programmer and the machine interpre t eachsi tua t ion in the same manner. The ta lkaccompanied by the digest proves to besufficient information for a beginner.Na turally , there are individual questionsat a later t ime. These questions usuallyconcern the inclusion of additional features to improve the system . All of thesenew ideas are welcome and wheneverpossible they are included immediately.

    V ERY lit t le experience has been accumulated in the operation of a largecommercial data-processing center.However, reflection on the subject has

    B R U S E M O N C R E I F Fi s w i t h T h e Ra n d C o r p o r a t i o n ,S a n t a M o n i c a, Calif.

    It is worth mentioning that most improvements and additions are readily inc luded . The BA C AIC sys tem was o riginally planned with t ha t desired flexibili tyin mind. I t is fairly easy to include anadditional mnemonic symbol but, if thesymbol is to refer to a l ibrary subprogramfor i ts operation, the l ibrary subprogrammust also be available.

    The specific information for each problem; i .e., the expressions and the inputdata, can be relayed by means of the telephone from another department to thecom puting facil i ty. This service is possible because of the standard procedure ofthe B AC AIC system af ter the expressions

    led to the conclusion that, in the large-scale operation of such a system, therewill be a different emphasis from the oneusually prese nt in the opera tion of a large-scale comp uting installation. Th e general administrative problem in both casesis, of course, to keep both staff and equip-

    are formulated. Th e availab ili ty of tphone service tend s to decrease elapsed time for solving a problem, aalso tends to increa se the correctnessthe writte n expressions. In dividua l prand reputa t ion play an important par treducing careless errors. U sually, "debugging" of the expressions is possiin a few minutes prior to any machoperation. This fact is of tremen doadvantage economical ly since wi thoutautomat ic system considerable machtime is spent on check-out for each prlem.

    Conclusions

    A natura l computa t ion language e l inates the mac hine coding de tails crently responsible for the expenditurelarge amounts of man and machine t iThis language can include complete mchine operating directions as well as mathem at ica l problem sta teme nts. Ttime now spent in digital computer prlem preparation can be reduced by much as 90 per cent through the use mac hine self-coding system s. A funmenta l computa t ion language maevolutionary machine changes possiwithout extensive personnel retrainiThe man-hours required to const ruct autocoding system are no more than thformerly spent on a subprogram libraThe basic interpretive principles for algebraic computing system are applicato most present-day stored progrdigital com puters. Thes e principles be incorporated in the hardware of futmachines.

    me nt operating efficiently. In the lacase, however, the emphasis is on nproblem preparation, while in the cof the business application the emphamu st be on the efficient day-after-doperation of the same routines. Tautomat ic supervisory rout ine descr ibhere is an attempt to solve those opering and programming problems peculto this " rout ine-dominated" si tua t ion

    The excuse for solving these problewi th a machine program, ra th er thby instruc tions to the operator, twofold:

    1. The human operator cannot compin spaed witii the machine in making routdecisions and in controlling the processoperations.

    Lincoln Laboratory Utility Program

    System

    H. D. BEN NING TON C. H. GAUDETTE

    THIS paper discusses a ut i l i ty programsystem to assist the coding, check-out,maintenance , and docum enta t ion of la rge-

    EC. D . B E NNI N GTO N a n d C . H . GAU DB T T E a r ewith

    the L inco ln Labo ra to ry o f the M assachu se t tsInst i tu te o f Techno logy, Lex ing ton , Mass.

    scale control program s. A typical program contains 50,000 instructions,1,000,-000 bits of data storage, and is preparedby a staff of 20 to 40 programmers, manyrelatively inexperienced. The util i tysystem requires 25,000 registers.

    A n Au tom atic Supervisor for the

    I B M 7 0 2

    BRUSE MONCREIFF

    MoncreiffAn Automatic Supervisor for the IBM 702 2

  • 7/28/2019 An Automatic Supervisor for the IBM 702

    2/5

    2. The human operator is more likely tomake mistakes in carrying out routineinstructions.

    The purpose of a supervisory routine is,therefore, to keep the machine runningefficiently in spite of the slowness andfall ibil i ty of the human operator.

    The various aspects of the proposedsupervisory routine will be approached bylooking at these problems of both operator and programmer which the rout inehelps solve. A sum ma ry description ofthe way the routine works will follow.

    O perating Problems

    O n a machine such as the702, the majoroperating problem is the efficient handling of tape ree|s. Ev ery few minute s,during a long run, either an input tapewill have to be selected and mounted, oran output tape will have to be labeled andstored away. The malfunctioning oftape units will probably result in the

    assignment of units to the various input-output functions being changed from dayto day. Trying to keep the machine running under these conditions, without agood system of operation including adequate checks, could be a difficult job,with a high probabili ty of error. Th ecomponent parts of this tape-handlingproblem will be examined one at a t ime.

    1. Going from one job to another,aside from the internal problem of replacing the old program with a new one, involves a new input-output arrangement ofthe tape uni ts . I f this arrangement were

    the same every t ime a par t icular job i srun, a table of assignments for each jobcould be preprinted and used day afterday . B ecause of the malfunctioningproblem mentioned, this is not feasible.Also, whenever there are sufficient tapeunits operable, the procedure of alternating tap e units should be used. While onetape of a certain type is running, the nexttape of tha t same typ e can be mounted onanother tape uni t . The problem of ge tting the machine to deal first with onetape uni t and then the other i s a programming problem to be dealt with in the

    following. How ever, the day-to-da ychanges in the input-output setup for eachjob, to take advantage of all the operabletape units, is a problem for the operatingstaff. The solution proposed here is toget the supervisory routine to calculatethe opt imum input-output arrangementbefore each job, having been given a l istof the present ly operable tape uni ts . Th eroutine should assign alternate tapeunits as far as possible, starting withthose tape types which have the grea testnum ber of tapes per run . Also, assign

    ments of alternate pairs should be madeto physically adjacent tape units, as faras this is possible. Th e machine w illprint out a table of assignments which theoperator will use as a guide in mountingt apes .

    2. O nce the tapes have been mou nted,the supervisory routine will check to seeth at this has been done properly. Eac hinput tape will be checked for propertype , proper cycle number (e.g., that i twas the output of yesterday 's run) , andproper sequence number wi thin type andcycle. Th e first record of each tap e inthe system will be a label containing theinformation required for this check.The supervisory routine will consult atable of cycle increments, one for each input type by job, and will keep track ofthe sequence of tapes mounted duringeach job. Th e routine will also checkeach tape mounted for the purpose of rece iving output to guarantee tha t the information on this tape is no longer needed.I t will do this by comparing the cyclenumber of the tape wi th the current -runcycle number minus an increment (fi leprotection period) which may be differentfor each tape type.

    To summarize the foregoing parag raph:Each tape type will have associated withit both an input increment and an output increme nt; the former will guar anteethe accuracy of input- tape mount ing, andthe latter will protect information againstaccidental erasure until i t is no longerneeded.

    3 . An identification label will be re

    corded by the supervisory routine on alloutput tapes as well as printed out on thetypewriter for mounting on the reel can.This will provide positive visual identification for each can of tape in the system.

    There i s another opera t ing problem, no tconnected with tape handling, which asupervisory routine can help solve. Thisis the problem of sett ing alterationswitches before the running of a job.Two points are worth noting in this connection. F irst , the num ber of physicalalteration switches provided on the70 2will occasionally be inade qua te. S o pro

    vision must be made for logical or programmed a l tera t ion swi tches. S econdly,there are what might be called the activeand the passive types of switches. I nthe ac t ive type , the opera tor has a presentneed to manipulate a switch in order toa l ter the machine ac t ivi ty. The passivetype of switch is one which he has beeninstructed to set in a certain way at acertain point in the processing cycle.While the operator is not l ikely to makemistakes with active switch sett ings, theprobabili ty of error increases in the case of

    the passive switches. I t is recomm endedthat the physical switches be reservedfor the active use, while a system of logical, or programmed switches, to be set bya punched card, be used for the passive,job-se tup type . The supervisory rout inewill establish whether or not an alterationswitch card is needed for each particularprogram, and if so, will wait until a cardof the proper type is provided. Thiscard will be stored in a standard drum

    section. This system relieves the operator of the responsibili ty of rememberingto make the switch sett ings before eachjob. A file of prepunched cards can bemaintained which will cover the majorityof set ups . M ost, if no t all, occasions ofthe use of program parameters can behandled by this control card.

    As a further aid to the operator, especially for the purpose of retracing thesteps of a process that went wrong, thesupervisory routine will automaticallykeep a log. Entries will include jobnumbers, tape setups, switch sett ings, information entered manually or by card,and error stops. O ne solution to theproblem of the multiple use of the typewriter is the creation of a carbon copy.The tape labels can be cut out of the original, with the carbon left intact as a log.

    Programming Problems

    The problems which a supervisory routine can help solve, in the programmingarea, are those of co-ordination amongprogrammers and those of co-operation

    between programmer and opera tor. Inthe first place, the employment of a supervisory routine can prevent the duplication of effort which arises where each program must contain the same general control and housekeeping routines. Eac hprogrammer must, in each of his routines,provide for tape-unit assignment, tape-uni t a l te rnat ion, tape-mount ing inst ructions and checking, and a labeling system . He must also provide for loadinghis routines and for alteration switches ofthe program variety . All of these matters can be taken care of once and for all

    by means of incorporation in a supervisory routine.

    In addition to eliminating most of theduplication of effort among programmers,the supervisory routine can be an unobjectionable means of enforcing thenecessary stan dar d practices. This is especially important in the matter of tapeidentification and tape-mounting checks.U nnecessary confusion would arise ifevery programmer were left to design hisown system of output-tape identification.Then there would have to be designed a

    22 MoncreiffAn Automatic Supervisor for the IBM 702

  • 7/28/2019 An Automatic Supervisor for the IBM 702

    3/5

  • 7/28/2019 An Automatic Supervisor for the IBM 702

    4/5

    1.

    Alternate tapesi f required

    Check tapemoun t ing

    Ident i fy:

    1* Input tape used u p2 . Output tape f i l led3- E n d o f j o b

    2.

    A l t e r n a t e t a p e si f r e q u i r e d

    Check t apemount ing

    Preass ign to j ob N+lt a p e u n i t s n o l o n g e r

    needed for job N

    Fig. 2. Supervisory routine: betwe en-tape operations

    tape is one of those being alternated, controls will be set for the alternate tape unit.The routine will proceed immediately tothe routine check of the tape mounted onthe alternate unit. If this particular tapeis not being alternated, the machine willpause until the new tape is mounted, beforeproceeding with the check, and the writingof the identification record. C ontrol willthen be transferred back to the specificroutine.2. An input tape has been used up. Thesame procedure for handling alternating

    tape units is followed, where necessary,before the new input tape is checked. Thecycle number and serial number a re checkedand the serial number is stepped. C ontrolis then returned to the specific program.

    3. End of job. The supervisory routineis called up, and the setup for the nextjob is started. This consists of picking outthe next job number and going through asetup procedure (F ig. 3) similar to th atdescribed.

    Following the last legitimate job number of a cycle, there will be a pseudo jobnumber which will call up a cycle closing

    routin e. This routine will step the cyclenumber and then test an alteration switchto see if the operator desires a shutdownor a new processing cycle.

    Preassignme nt of Tape U nits

    C ertain i tems appearing in the blockdiagrams have not been expla ined.These have to do with the preassignmentof tap e uni ts. Thi s subject will be dealt

    with separately here, since some background discussion is required .

    The delays caused by tape mount inghave been reduced as much as possibleby having the supervisory routine alternate tape uni ts whenever they are avai lable . B ut this "hides" only the tapemount ing t im e which is internal to a job.If the operator must wait until a job iscompleted before star t ing to mount tapesfor the next job, this whole setup tim e willconst i tute a de lay. To amel iora te thissituation, the supervisory routine has

    been designed to make preassignmentswhenever possible.

    F or outp ut functions ther e seems to beno simple way of determining when tapeunits are no longer needed. O n the otherhand, the number of tapes in each inputfile is known in advan ce. Th is information, if available to the supervisoryroutine, can be used to trigger a preassignment of the no longer needed tape unit tothe next job. In order to accomplish

    this preassignment, the routine needs tohave available the job setup informationfor the next job, as well as the currentone. The block diagram of the init ialoperations (F ig. 1) should be amended toinclude the sett ing up of job N + 1 param eters . Th e block diagram of the between-job ope rations (F ig. 3) should alsobe amended at the beginning of this rout ine to show that jobN + 1 becomes thecurrent job, job N, at this point. The nthe first block again reads correctly,since i t is the next job, job N+l, parameters tha t a re ac tual ly be ing set up a t

    this t ime . These complications of thediagrams are not self-explanatory, hencethey were not included.

    The normal end-of-fi le system is notadequate, since in the case of alternatingtape units, the first preassignment takesplace when the next to the last tape hasbeen used up. The method adopted forsatisfying this need was to provide acard for each output fi le, punched automatically by the supervisory routine atthe completion of a job. Th e card, inaddition to identifying information, carries the number of tapes produced during

    this run . Du ring a later cycle when theout put file becomes inpu t, the c ard is usedto set up the controls needed for the preassignment function. S imilar cards canbe created manually for input fi lescreated outside the system.

    When a job is completed, the remainderof the input-output setup for the next jobis computed wi th the preassignmentsbeing conserved. The routine makes thebest choice of physical location for alternate tape units, just as i t did for the firstjob se tup. B ut where preassignment i sinvolved, the choice of the first of a pair

    of units has already been ma de. Thesesecond choices are made before any otherassignments are made.

    Programming the SupervisoryRoutine

    Two general points of programmingphilosophy were adopted early in the detailed job of realizing the supervisoryroutine in a code for the702. The firstwas that each requirement for informa-

    24 MoncreiffAn Automatic Supervisor for the IBM 702

  • 7/28/2019 An Automatic Supervisor for the IBM 702

    5/5

    t ion storage would be satisfied by thelowest possible level in the70 2 hierarchyof storage devices. Th e second was tha ttime w ould be used wherever possible as atrade-off for stora ge. Th e resu lt of thisapproach was: (a ) a complication of thelogic and (b ) a requirement for only 700characters of permanent high-speed storage.

    The supervisory routine is designed forstorage on tap e. Th e par t which oper

    ates between jobs can fi l l the memory ifneed be (it does not, of cours e). Th ispart is wiped out by the loading of thespecific job program. Th e part of theroutine which operates between tapes isstored on 15 200-character drum sections.F or execution, these sections are loadedone at a t ime as needed into a commonarea in high-speed storage. F ive additional drum sections are required forstoring the tables of information used inthe problem. Whe n referred to, theseare brought up into a second commonarea .

    The part of the supervisory routine executed between jobs is reloaded from tapewhen needed. To save tape searchingtime, this program can be recorded againand again, between specific job programs.If this is done, and if the specific jobs aredone in the order in which they appearon the program tape, there will be no

    >tape searching required. Howe ver, fullsearching facil i t ies have been built intothe routine, for purposes of greate rflexibility.

    A single sheet (22-inch by 30-inch)flow chart was constructed init ially, and

    then subjec ted to man y changes. In aproblem of this type, where logical complications are mostly those of relationships, a single sheet chart can be a greathelp. If carefully constructed, changescan become only a minor annoyance.

    The rout ine was coded in IB M 70 2symbolic, taking approximately 1,200lines. This includes all entries requiredfor the complete assembly of the problemfor the 702.

    Fig. 3. Supervisoryrout ine: between-

    job operations

    S e t u p j o b N + l p a r a m e t e r s f r o m t a p e

    S e t u p p ro gr am m ed a l t e r a t i o n s w i t c h e s

    f rom ca rd

    C om p ut e a n d p r i n t o u t t a p e u n i t a s s i g n m e n t sf o r j o b N + l , t a k i n g a c c o u n t o f p r e a s s i g n m e n t s

    S e t u p i n p u t f i l e s i z e s f r om c a r d s

    C h ec k i n p u t a n d o u t p u t t a p e m o u n t i n g

    L oa d j o b N + l r o u t i n e a nd t r a n s f e r c o n t r o l

    Conc lus ion

    The activit ies of a computer operatorcan be classified as (1) thos e things whichhe does when the machine is workingwell , and (2) those things which he doeswhen the machine is working poorly.The supervisory routine described is intended to be an aid to and substitute forthe activit ies of only the former class.If considered as a research problem, thisapproach may be realistic, but i t does notconstitute a complete practical solution

    which could be adopted as i t s tands. fact, the aspect dealt with is most c

    tainly the easiest part of the total prlem of keeping the equipment occupwith useful work.

    The purpose of the research was to ga feeling for the complexity of a probwhich as far as is known, has not herefore been extensively investiga ted. Tconclusion is that the construction such a rou tine is not as com plex asoriginally seemed to be. Th e operatpracticali ty is as yet not established.

    MoncreiffAn Automatic Supervisor for the IBM 702 2