Hopped on a 'plane to London, hopped off, hopped on another to Chicago O'Hare. Sat for some hours reading, squinting at the film, fiddling with the dreadful earphones, eating a meal off a postage stamp sized tray and dozing fitfully. Arrived in Chicago to realise I'd forgotten my driving license: one hour cab ride later and sixty dollars poorer I checked in at the Best Western near Fermilab.
An impressive building poking up from a featureless plain. Inside, the offices are all open\plan, and no conversation is 'private'. I met Judy Nicholls (User Support Group Leader), Uday Pabrai, Dave Ritchie (VAX Systems Group Leader), Jeff Kroma, Randy Heckelsberg (who handed in his notice while I was there ... I hope that was just coincidence), Frank Nagy (a self\professed VAX Guru and Wizard) and Jeff Mack.
The cluster of seven VAXen at Fermilab is the main user system. A recently installed
Amdahl is used almost exclusively for batch work. There are hundreds of ACP devices, used
as event processing farms and controlled by microVaxes. 68000 code is downloaded from the
controller to each ACP, and then each ACP is fed with an event to reconstruct. Heavy use
is made of Video\8 tapes for data; these are a very convenient media due to their small
size and easy handling. Although there is no explicit standard for reading/writing this is
not considered a problem as a
A new computer building has just been constructed, and this already houses the Amdahl. The VAXen will be moved there in the near future, out of the main building whose computer rooms are extremely crowded, to say the least.
I asked for an account on the VAX, and this was created within a few hours, although I gained the impression that some strings had been pulled to get such a quick response. Having brought a reel tape with me I asked how I would, as a normal user, go about having it mounted and reading the files off it. I was advised not to take the normal user route, as this entailed a delay of a day or so! Instead I went and mounted the tape myself on a free drive.
As the VAX is the main system, the printing of files comes predominantly via requests initiated there. Sensibly, and as opposed to the situation at CERN, there are many printers directly accessible from the VAX via print queues. The printer naming convention used is simple and effective; the printer is identified by its location. Hence, for the printer in Wilson Hall, on the 8th. floor, at the South East end of the building, one uses the command
Fermilab are new users of Interlink, and were interested to learn how we utilise its facilities at CERN. In general, we tend to use Interlink in a fetching mode, in other words we sit on, say, the VAX and "pull" the file we want over from VM. This avoids us using either network validation information in the form of username/password pairs, or a proxy database. They seem to have the opposite approach. In fact, they have a large proxy database on the VAX to validate "NFT SEND" requests from VM. I am under the strong impression that this is undesirable from a performance point of view, and, indeed, there was evidence to that effect at Fermilab.
Another striking difference was the VMS environment. At CERN we define in the login procedures all the symbols and logical names that we believe the user will need in his session. These include all the utilities such as XPRINT, RDRLIST, EAN, CERNLIB and so on. At Fermilab one is supposed to decide, for instance, that one is going to use Interlink to VM, and then define the utilities with a foreign command. This command is called SETUP (no relation to the CERN SETUP command for tapes). Hence I might type
Speaking with some users of the VAX at Fermilab I was left with the impression that a) it is even more grossly overloaded than ours, b) it is not too user\friendly, as VMS environments go. However, Fermilab is about as analogous to CERN as you are going to get, and we can certainly learn from them and them from us. To this end we have already created a VAX Notes conference called CERN_TOOLS to which members of both institutes regularly contribute, and we intend creating another for more specific system management issues which Dave Ritchie, his cohorts, Jamie Shiers, myself and anyone else interested should look at and contribute to.
This was the only notable meal I had while at Fermilab ... eaten in a little town called Geneva down the road. The wine was a fresh and fairly cheeky Chablis.
The DECUS Symposium was held at the Anaheim Convention Centre in Los Angeles. Approximately 10,000 people attended, many of them, I'm sure, to get a company\paid ticket to Disneyland for the tuesday evening (see below). Food was served on a large\scale. In fact it was alarming to calculate the size of the saucepan required to hold 10,000 chicken pieces.
For some reason my name had been entered as Bunn Julian (how anyone could believe someone with a first name of Bunn I can't imagine, particularly as all the coffee machines in the U.S. are BUNN\o\matics). This caused a slight rush of adrenalin when my name could not be found, and I faced the prospect of either coughing up the conference fees on the spot, or an early shower and trip back to Geneva. In the end the problem was resolved, and I sported a new name badge to prove it. Security was quite tight; anyone not wearing an official name badge would have found it quite difficult to get into any of the seminars.
The seminars were held in both the Convention Centre and the Marriott Hotel over the road. I summarise below those that I went to.
A presentation of current VMS and futures. Of note was the SYSMAN utility that for example allows a mount of a disk on all nodes in a cluster, but without logging on to each node separately. There were problems with two RTL routines; those for calculating double\precision cosine and sine. These gave incorrect results in some cases. They are called by high\level languages. In other words SIN and COS of double precision arguments in FORTRAN should be treated with suspicion. Some disks are now too small for VMS: an example is the RD52.
In the future:
Update Of a technical nature, this talk detailed changes to the pagefile system, new queue structure (including the new SHOW ENTRY command) which is 15 times faster to interrogate than before, new MONITOR command for RMS (using SET FILE/STATISTICS), removal of the NULL process (meaningless for multiple CPU machines). Overall, there has been a loss of around 5% in VMS performance, but a few facilities are much faster.
This was a user\presentation on how to use the $SNDJBC system service to submit jobs from a FORTRAN program to a queue. There was nothing mentioned that was clever or unavailable in the documentation.
A meeting of around forty people (twenty DEC and tewnty non\DEC) to discuss problems with VAX and PDP FORTRAN. This was very informal, with votes being asked for on each point. Some points made:
This seminar was being given by a huge man with an immensely powerful voice, who insisted on overloading the PA system. It was so well attended that there was standing room only; we were glad to be thrown out due to fire regulations.
This was a talk given by Kashtin, who previously worked for Sun. He had implemented NFS on a VAX/VMS system. In some detail:
The system is very fast; SUN\3 fileserver performance on a microVAX II! The performance is limited by the network interface. It can handle 20000 getattr's per second. The controllers are limited to 200 RPC's per second with DEQUNA. In the future a Client will be written for VMS, but this is hard. This NFS implementation is potentially faster than LAVC type interconnection, and raises the possibility of booting a VAXstation diskless, and running NFS as the file system!
A user presentation of a problem tracking system using text libraries in VMS. Used by the US Department of Defence. Not really very interesting except in one area; reminders are sent by electronic mail to people to whom problems have been assigned and no solution received. The whole system is paper\initiated, rather than electronic mail initiated.
The new version of VMS Fortran contains DIRECTIVES to the compiler. This is to take advantage of the possibilities with multi\processing, where one master and N slave sub\processes share data using global sections. There is thus a new Fortran qualifier /PARALLEL. New intrinsic functions such as
Apart from the SMP features, various others have been added:
This talk described Ethernet LANs, the use of repeaters, the limitations of LANs, the use of bridges, and so on. Bridge features such as storing and forwarding of packets, dynamic address learning, filtering were covered in some detail.
For managing an extended LAN it was pointed out how bridges were the key to success. The bridge software (such as RBMS) allows the examination of statistics and current configuration. One may also change the state of the bridge, set the spanning tree parameters, and alter information in the non\volatile RAM. Periodically polling bridges is a good idea; in case of abnormal conditions the LAN manager can be automatically sent electronic mail. If the network response is poor it is generally a good idea to add more bridges, so increasing the isolation between LAN segments. WAN to LAN connections (using a microwave link called the Metrowave bridge) were briefly touched on.
Or apparently difficult, depending on your point of view. Why parallel? Why not? The VAX 6200, 8300 and 8800 series machines provide you with the option. VAX Fortran V5 is the tool. You may expect shorter elapsed times for execution of your job, if it is compute intensive, and you parallelise it effectively. The key to making the code work faster is to fiddle about with the DO\loops. This is putting it baldly.
By data dependency is meant "if there are multiple accesses to one memory location, and if at least one of those accesses is a store". In other words, if one processor is writing a value in A(25), and the other processor is, at the same time, reading the value of A(25), then should the second processor get the new value or the previous value?
Resolving loop\carried data dependencies can be done.
Loop Alignment
In general one must maximise the workload in loops; multiple loops should be combined into one big loop, and the outermost loop should be run in parallel.
Each available processor has one cache that contains recently accessed memory addresses. It should be noted that, for example, for an array A(100,100), A(1,2) and A(1,1) are 4000 bytes apart. So to make efficient use of the cache, looping over values for A(i,j) with the index i running fastest is best; the values are adjacent in memory. For parallel considerations the caches of different processors are set far apart in memory, to minimise cache misses.
An easy talk to prepare; the speaker read out the names of about 50 VMS utilities. And then the audience applauded. It could only happen in America.
This talk was so complicated and incomprehensible I can only say that it addressed a rather esoteric method for sending information over DECnet. I have copies of the transparencies available for ADA masochists.
This talk addressed guidelines developed by DEC for window applications under the new DECwindows product. Very similar to other windowing systems. One particularly useful feature is the ability to define a default action for a particular filetype. This action is invoked by a click on the mouse. For example, one might define the default action for a .FOR file to be compile with debug.
This talk described the use of the VAX expert system tool Decision Expert. This is a development tool with windows, implemented in the C language. A fact database keeps track of available information, and a utility language facilitates the I/O to this database and its presentation. The system is backward goal\directed, using rules and/or a procedural decision tree. Priority factors may be assigned to facts if desired. The example used in the talk was analysing a problem with a hi\fi system.
The speaker (a DEC employee) did not turn up for this session. The guy sitting next to me reckoned Digital lost about 10 points on the stock market as a result. Incredibly, the chairman happened both to be a Prolog expert and have his tutorial transparencies with him. So he gave the talk.
The first commercial Prolog compiler was marketed by Quintus, and this followed the Clocksin and Mellish standard. Prolog stands for Programming in Logic, and it is a theorum prover. There are constants, variables and compund terms in the language. If the speaker's daughter, called Lori, was given a Barbie doll on a saturday, she was generally nice and sweet. (why only on saturday I'm not sure). This is expressed as a rule in Prolog thus:
There were so few people in the audience, coupled with the fact that only one of an advertised set of panellists turned up, that this session was abandoned.
The talk addressed the following areas:
It was directed at people who want their VAXstation tuned, i.e. not the casual user. By analogy the speaker mentioned the rich man who bought a Porsche; the first thing he did was sack his chaufeur.
PostScript is a Reverse Polish Notation interpreted language for the description of the
appearance of pages. It is a
The coordinate system used is (0,0) at the bottom left of the page, with y increasing vertically and x increasing horizontally. The default units are 1/72 of an inch! But this can easily be changed. The principle used is to paint opaquely on the page by defining areas and then painting them. Areas include lines (finite thickness) and text. A path is a line with zero width, used to outline an area. Clipping windows may be defined using paths. To draw a box:
Given by a woman from the Los Angeles Sherrif's Department. She described how she had noticed a hacker on her system and subsequently caught him and prosecuted him. All the poor guy was doing was running a program called NUISANCE.COM! Not a very interesting talk, and rather depressing how nasty people can get when they want to. As an aside, she was greatly aided in her investigations by having image accounting turned on. We do not enable image accounting on the Central Cluster, as the resulting accounting files become too large to handle.
A user presentation detailing the precautions taken to ensure password security on a VAX running ULTRIX. They made changes to the Login and Password commands to increase their security.
Why worry? Because it's the first line of defence to a system. Changes like this
require user cooperation, which is not always forthcoming! Enforcing the rules The password and login commands were changed (they had the source).
The command passwd -r gives 5 suggestions with phonetic spelling.
This talk was given by J.King, one of the US DECUS representatives on X3J3. (The other is R.Lauer.) He outlined what had happened with the draft standard up to the present time, mentioning that the official Digital position on the standard had been included in the May 1988 US DECUS Newsletter.
The public comment on the standard had not been "entirely negative". Overall, the negative reactions were
In response to the public comment eight (yes, 8) plans for action were generated by X3J3, and these were subsequently whittled down to three, which agreed on:
There was disagreement on:
Subsequently, WG5 of the ISO standards committee had met and sent a plan to X3J3, most similar to the original 8X proposal. This has the concept of deprecation removed, SET RANGE, ALIAS and IDENTIFY removed, internal procedures removed, pointers added, bit intrinsics added, significant blanks in source form added, INCLUDE added. The speaker felt that it would be a very painful process for X3J3 to deviate now from this plan.
The speaker was from the Battelle company, a scientific R. and D. establishment employing around 3500 people. She was in charge of user support. Machines and Systems in use: VAXes running VMS, IBM running VM, CDC running NOS/BE and NOS/VE, Cray running UNICOS. The CDCs were being phased out. Sounds like CERN, doesn't it? All the systems were networked together to allow file transfers. A very wide range of software was supported. The users were mainly scientific and engineering, but increasingly database/office/administrative users were being catered for. The typical scientific user wanted to know about running FORTRAN, mounting tapes and so on. Sounds even more like CERN. Most office systems were PC based. The local university also had access to the facilities, although these users were rather problematic in that there was no well\defined guidelines on who should support them.
The staff in the computer centre comprised: Systems Support, User Services, Telecommunications, Maintenance and Operations group members. There were separate grousp for Office Systems. The User Services group contained one manager, six consultants and one and a half librarians. The consultancy office was staffed for eight hours per day with one systems person and one general user consultancy person. Ninety five percent of problems were telephone\based, the remaining five percent came via electronic mail. A telephone answering machine allowed the 'phone to ring three times in the consultancy office. If there was no reply then it was routed to ring in all group members' offices for another three rings. If there was still no reply then the call was taken and recorded on tape on the answering machine.
Documentation came in the form of a monthly newsletter of about twenty pages with a distribution of around 1500. In addition periodic bulletins, of five to ten pages, describing programs, were circulated.
User\training took place in the user training centre, equipped mainly with PCs. The courses were for beginners to advanced. There were a variety of talented instructors. The courses were charged to the attendees department. On\line tutorials were also made available.
Members of the User Services group trained themselves by taking the internal courses, courses from vendors, attending conferences, running on\line tutorials, reading the (ever\dreaded) manuals and so on.
Interactions with the users were via user meetings, periodic demonstrations and via feedback sessions.
Planning of user services was achieved by responding to user feedback, looking at accounting data to see which programs were being used the most, and involving as many users as possible in the decision\making process.
Hiring new user services staff was made by taking the following features of candidates into consideration:
An amusing talk to finish the conference with. The speaker, a system manager, described various ways of configuring the system to make it as unpleasant as possible for the users. In other words "things you can and shouldn't do with VMS". Like the definition of a symbol called DIR, that executes a DCL procedure and produces a response just as if the user had typed DELETE *.*;*, but without actually doing anything. Subsequent calls to DIR would produce the message "No files found", even though they were there. He was enthusiastic about VMS Version 5: "In terms of a user hostile environment, I'm very excited about VMS V5.0", he said. In his experience, the worst and most deplorable users were those who had taken one, and only one, FORTRAN course as their computer training.
Scene: the system manager's office, with system manager slumped over terminal. 'Phone rings:
DEXPO was a parallel event to DECUS where manufacturers displayed their wares. What struck me here was the large number of Video\8 cassette drives being marketed. Also, there were some quite excellent colour terminals on display.
On the tuesday evening Disneyland was available exclusively for the use of DECUS attendees. What a bonus! After several rides around Alice in Wonderland, Peter Pan's Journey, Pinocchio's Adventure we tried some more hair\raising rides. For example the Thunder Express and Space Mountain \ a roller\coaster ride in complete darkness. Not advisable after cheeseburger and chips.
A ten dollar ride to LAX airport (duration one hour), a five hour wait looking at the departures board, a ten hour flight to Heathrow, and then a couple of hours later saw me back in Geneva.