March 17, 2000

A Preliminary History of Computing in the CBA

Houston H. Stokes

Introduction. Robert Abrams requested that I prepare some brief notes on the history of computing in the CBA. This report outlines what I think were some of the highlights of computing at UIC since 1967. These notes are by no means complete and stress my interest in software engineering and econometric research. After first outlining what has happened, I discuss some of the main objectives and goals. Finally I stress what is needed in the future.

Brief History. I came on the campus in the fall of 1967. At that time we had a IBM 360/50 running what was latter to become MVS. The IDS department was using two small stand-alone batch programs STEPRG and REGRE. During the period 1964-1967 Hudson Thornber at the University of Chicago had improved the old BIMED34 program to form B34T to run on the IBM 7040/7094 running the UC version of FORTRAN II. A major task was to convert this program (3,000 statements) to FORTRAN IV to run on the 360 using the G compiler. John Keck did the original conversion, but neglected to implement GLS. I made a big fuss and after some time Norm Hamilton, who was the associate director of the computer center, hired George Yanos to fix the program. I had obtained source decks from UC and George looked over the code with a SNOBOL program and found a STOP statement had been added just before the GLS procedure was called. Remember this was done in the days before editors. The source was in one card drawer. The Fortran deck had to be read in each time a compile was made. Once the STOP statement was removed, B34T GLS ran. The main attraction of B34T was that it did up to 9th order GLS. The best programs at that time only did 1st order GLS. SPSS could not lag a variable and SAS was not even invented. My early research was done with the B34T program. With Allen Sinai I used the second order GLS procedure in our early work on real money balances in the production function which was published in the series of articles by the RES.

The B34T program replaced STEPRG and REGRE in the undergraduate curriculum and was widely used in research. In 1973 when I went up for tenure, I started working on what later became the B34S. 3000 lines of FORTRAN running on MVS in 1973, became over 290,000 lines of code running on MVS, CMS, RS/6000, SUN UNIX, Linux and PC's in 2000.

In the late 70's a number of important developments took place. B34T was replaced by TSP as the program for the IDS basic courses since at that time it had an easier command language. In those days B34S was running with column dependent input. B34S continued to be used in research and in the advanced econometrics class. A number of new capabilities were added including PROBIT, TOBIT, LOGISTIC, Error Component, Markov Models as well as extensive time series capabilities. There was no time sharing at that time and the big problem became disk storage. Wally Wadycki took the lead for the college in obtaining the BUSANA disk which was a mountable 3330 drive. (I have a disk from this drive in my office today to remind me of how far we have come). BUSANA allowed us to save our programs and data. TSO was just starting to come in but was very expensive. The two card readers in SEL read only 600 cards per minute. This meant that to read in the 3000 cards of the B34S took 5 minutes if there were no card jams. By the end of the 70's B34S had become 6000 cards, or ten minutes of card reading. I can remember many times that there were 10-15 people backed up behind me waiting for me to fix a bent card! The computer center under Tom Brown and George Yanos decided that something had to be done. Since TSO was so expensive, their solution was to use WYLBUR as a kind of operating system running under TCAM. What was essentially happening was that current version of the 360 at that time saw one user (WYLBUR) that really was many users. This way we could get time sharing for the masses of faculty and students. At that time a number of the staff members of the UIC computer center were developing ACF or the access control facility that provided superior computer security. This product later became a major commercial success for the developers who had left the university at this time. Stan Cohen, the developer of SPEAKEASY, was given free time on our machine in exchange for zero cost licenses for SPEAKEASY for the university. SPSS also was given free time which they used to develop SCSS, a product that did not work well in the market place. Phil Burns of the UIC computer center staff wrote the analysis of variance code for SPSS and put in variable lagging!. Lyland Wilkinson was on the faculty at that time and was working on what became SYSTAT. This product was later sold to SPSS.

The conversion to time sharing, that was well underway in the fall of 1978, was not without problems along the way. The first major problem occurred when the computer center bought Hazeltine terminals. In the first week, 50% of them failed and it was left to Cliff Nelson and his team to fix them. In 1972 the SAS project was started at NCS. This superior product soon made big in-roads at UIC, quickly eclipsing SPSS. In my view this was due in part to the superior design of SAS. If one wanted to add a procedure to SPSS, the manual outlined how it was possible to relink a "custom" version of the program with the user procedure. The problem was that such a "custom" version was highly dangerous since the user's procedure could have subtle affects on other apparently unrelated SPSS commands. SAS and SPEAKEASY, on the other hand, had a design that allowed a dynamic link to a user procedure. If the user procedure was not called, then there was no danger that this procedure could ever impact anyone else. An added advantage was that many people could work on the program at once, all without knowledge of anyone else. In the early 80's I built the SAS PROC CB34S, BANK and later SCALINK and LINKSCA as well as 44 SPEAKEASY LINKULES to enhance these programs. I also build an interface into IDA for use on CMS that would allow IDA to read the NBER data banks. This way B34S, SAS and IDA could all access 5000 macro economic series. I continue to support this data bank which is now available from Estima, the developers of RATS. Now I use RATS to read the databank, and import the data into B34S from a RATS portable data file.

Interactive Computing. In the late 70's or early 80's the computer center obtained HP-2000 computers that allowed interactive computing. The CBA obtained IDA from Harry Roberts and LINDO and other interactive software. These programs were later placed on the 370 when the HP-2000 went away and CMS became the interactive environment. In this time period IDA became the software used in the CBA undergraduate business program. This change represented a major break with the past since now we were stressing interactive data analysis or data exploration, not just batch computing. In the 80's IDA was replaced by MINITAB which we used up until the late 90's when Excel became dominant. The 1980's also saw Lon-Mu Liu being hired into the CBA. In addition to research, Liu is known worldwide for his program SCA which has had wide acceptance. SCA is strong is time series analysis and statistical tools applied to quality analysis. I worked with Lon-Mu and developed 4 modules for this program (CPLOT, DPLOT, DTPLOT and X11ARIMA) and made sure that two way communication was possible between the B34S and SCA and SCA and SAS. The SAS linkup was enabled by the development of the SAS PROC SCALINK and LINKSCA.

CMS: In the 80's and early 90's, CMS has become the major operating system, having long replaced the HP-2000 machines and WYLBUR. E-mail became important. UIC was one of the founding members of BITNET and the IDS department was the first department in the college to use E-mail almost to the exclusion on paper. In this era UIC was substantially ahead of most universities in using these new capabilities. In the mid 80's the CBA, seeing the need for PC labs, obtained a grant from AT & T and set up a lab of around 100 286 class machines served by an A T & T 3B2 running UNIX. 3B2 servers were also setup in UH and a number of faculty had network connections. Wide acceptance of this setup was limited by the inherent limitations of the machines and the network software. The CBA replaced the 3B2 servers with IBM Model 95 servers maintained by the computer center and to this day the UH network continues to run IBM LAN manager. In an epic decision in the spring of 1995, the CBA decided not to upgrade their UH network but rather rely on the computer center for any servers desired.

Early UNIX: In the early 90's Liu obtained a SUN workstation for his research which he made available to a limited number of faculty needing UNIX access. A number of low end RS/6000 work stations were obtained by the finance department and the IDS department. These machines were used by a limited number of faculty, mainly for code development. These machines had limited disk capacity, were sporadically backed up and did not have SAS and other software installed. This state of affairs limited their usefulness. At that time I did limited computing under UNIX on the IBM 370 running AIX at Cornell and glueon at the computer center. In the fall of 1994 I made a major commitment to getting B34S up on the RS/6000 machine tigger which I then regarded as my primary computer center machine. In addition a Sun version was built for icarus. This became the main student machine for B34S.

CBA PC LAB: In 1992 the CBA computer lab was upgraded to 486DX33 machines and the final 286 class machines were upgraded to 486DX/2-50 machines in 1994. Al long last the lab began to really flourish since software formerly on CMS could now effectively be run in the lab. The increasing performance of the PC has had a revolutionary impact on the way research is done. In the early 8088/8087 days small jobs could be run and word processing and spreadsheets were a major application. Now substantial calculations can be done. The speed differences of modern machines is illustrated by the B34S test problem. On CMS using some ESSL code the jobs runs in 32 seconds. On a Pentium P5-90 machine with 40 megs of memory, the job runs in 49 seconds if SMARTDRV is enabled for readings and writing and 62 seconds if only reading is enabled. On tigger the speed is 16 seconds if OPT(3) is used and 50 seconds if optimization is not used. In the late 90 students that had been leaving the mainframes for PC labs, began to run their jobs on their home machines. The low cost of the Web allowed me to give each student in my class who wanted it a free b34s which they could obtain from my Web page once I gave them a small file to turn on the program.

Fortran on the PC: In 1991 I had obtained the Lehey FORTRAN compiler which was able to produce an executable to run in protected mode in extended memory. The B34S, which had been extensively upgraded in the late 80's, was ported to the PC and a graphical front end and high resolution graphics were added. After the fall of 1991, the PC became the preferred B34S development platform and finally the preferred B34S running environment. In 1994 I moved my time series classes (537-538) and the advanced econometrics class (535) to the PC lab. B34S was made available in this lab and on the computer center servers for all computer PC labs. While some students still run on CMS in those days because they could assess the machines from their homes, the PC lab was the way to go in that period. Students like the extended hours available in the SEL lab especially. To keep up with other PC software, the PC version of B34S soon had a GUI, thanks to the excellent subroutine library developed by Interacter than ran on RS/6000, Sun, Linux and Windows class machines. Once developed on the PC, this GUI found it way to the other machines.

Location of Computing: In the 90's research tape users continued to run on CMS. MVS, while a superior system for large tape jobs, was fast being dismantled by the computer center. In the 90's the new UNIX machines tigger and icarus for faculty and students now became the dominant platforms for all computing. With SAS, RATS and B34S on these machines, they had became far superior to the aging CMS machine.

It is an interesting question whether in the future UNIX or the PC will be the major platform. Based on what I see in business, I would have to go with the PC. For software development, the PC is far superior. On UNIX RS/6000 or SUN if an array gets out of bounds you get a core dump! This is like the 60's all over again. On the PC you get a line number where the error occurred. Modern students demand development tools that are easy to use. These can be found on PC's. Package use on UNIX machines is viable but I wonder how cost effective? In 1999 a new operating system came on the scene that further blurred the line between unix mainframes and PC’s. Linux was stable, cost effective and provided unix on a PC. It now became possible for the Economics department and the CBA to have their own machiunes. Lx1.econ.uic.edu was out first machine. It formerly had been a Dell 133 running Wincdows 95. In its new incarnation, it became the Economics Department print spooler and Economics Department mail address. RATS, B34S and Fortran compilers made this a real machine that was capable of real work. Added linux machines included cbal1..cba.uic.edu a Dell 550, Class1.econ.uic.edu a Dell 233 and class2.econ.uic.edu a Dell 600. Using the b34s tets case as an example, a job that ran in 5.9 seconds on tigger an RS/6000 ran in under 5 seconds on class2. The same job ran in 30 seconds on icarus. In class2 the students now had faster equipment than the mainframe. In early 2000 the Computer Center announced plans to offload web pages from tigger to be run on a cluster of Dell PC’s running Linux.