Remembering RESQ

    T-Shirt Martin Reiser made for me

Ed MacNair and I published two books based on The Research Queueing Package, RESQ. Those books, previously published by Pearson Education, Inc. are now out of print. We are making PDF copies of lightly edited versions available under a Creative Commons license, at Simulation of Computer Communication Systems and Elements of Practical Performance Modeling. Though we have written two prior articles about RESQ history1,2, those did not cover subsequent development, so another recap seems appropriate now.

Pre-History

In the early 1970s, when computing capabilities were tiny, tiny, tiny compared to even a cell phone today, and those resources were typically time-shared across multiple users, queueing network models became a primary tool to analyze and improve system performance. Queueing models had been studied for years before regarding communication systems and other systems, but networks of queues seemed especially apropos for understanding time-sharing systems. Several of my fellow graduate students and I, students of Professors J.C. Browne and K.M. Chandy, decided we needed a queueing network simulation environment to accompany models solved by numerical and approximate methods. We defined and implemented QSIM3 for this purpose, including abstractions such as “passive servers”.

Approximate solution of queueing network models was a major aspect of my dissertation research. My supervisor, Professor K.M. Chandy, suggested that QSIM was too unwieldy to use to validate my approximate solutions and suggested I develop a more focused simulation environment. That environment, APLOMB, was first disclosed in chapter VI of my dissertation4. APLOMB featured the provision of statistical output analysis techniques (including confidence interval estimation and stopping rules).

Software for numerical analysis of queueing network models was pioneered by a number of researchers, particularly Martin Reiser’s QNET4 at IBM Thomas J. Watson Research Center.

RESQ

In the spring of 1976, QNET4 and APLOMB were provided with a common user interface implemented by Ed MacNair. The three programs became collectively known as RESQ. This prototype version of RESQ used the APL QNET4 with the interface implemented in APL. In the spring of 1977, a new version of RESQ, RESQ1, was developed. RESQ1 was implemented entirely in PL/I, though some components were duplicated in APL for users who preferred that environment to CMS or TSO.

RESQ became important and influential because of (1) the “extended”  queueing networks associated with RESQ, (2) the diagram language used to informally represent queueing networks to be handled by RESQ, (3) the user language and machine interfaces used to formally represent queueing networks and their solutions, and (4) the multiple solution methods of RESQ, including the research effort that went into their design and implementation.

The iconic network element of the RESQ extended queueing networks is the “passive queue”, inspired but refined/renamed from the QSIM “passive server”. (We refer to traditional queues as “active queues.”)

RESQ2

In the summer of 1978, an entirely new user interface was designed to overcome a number of fundamental limitations of the original interface. This new version was known as “RESQ2.” It became operational in July 1980. The objective in the language redesign was to provide a language similar in appearance to the RESQ1 dialogues but providing the features and flexibility of a block-structured programming language.

In addition to the widespread use of RESQ within IBM, and special access for a few universities, there was a strong interest outside of IBM for access to RESQ. IBM was not in the practice of licensing software developed in the Research Division, but implemented a mechanism for licensing such software, “Research Developed Programs”. RESQ was one of the first instances of such licensing5.

RESQME

RESQ models were almost always initially defined as diagrams, so it was natural to want to use a graphical interface to enter, modify, and evaluate model results. In the early 1980s, the cost of appropriate hardware was prohibitive for most RESQ users, but the advent of personal computers and workstations enabled the development of robust graphical capabilities for RESQ, the RESQ Modeling Environment (RESQME). RESQME became available in OS/2 for personal computers and AIX for RS/6000 systems. Eventually, animation capabilities were provided in RESQME6.

(If I recall correctly, Martin Reiser was responsible for the name “RESQ”. I’m not sure who came up with RESQME, but my 1970 band had the Fontella Bass song in our repertoire.)

Rescue Me – Fontella Bass

Contributors & Managers

RESQ would not have succeeded without the help of many contributors and support of managers, including, A. Aggarwal, L. Berger, A. Blum, K. C. Chang, W.-M. Chow, W.D. Frazer, E. Jaffe, K.J. Gordon, R.F. Gordon, P. Heidelberger, H. Kobayashi, J.F. Kurose, S.S. Lavenberg, P.G. Loewner, K. Plochinski, H. Richards, P. Rosenfeld, S. Salza, D.T. Tang, S. Tucci, P.D. Welch, and L.S. Woo.

Citations

  1. C.H. Sauer, E.A. MacNair and J.F. Kurose, “The Research Queueing Package: Past, Present and Future,” Proceedings 1982 National Computer Conference. Reprinted in K.S. Trivedi, editor, Effectiveness of Fault-Tolerant Multiple Processor Systems, IEEE Computer Society, 1984.
  2. C.H. Sauer and E.A. MacNair, “The Evolution of the Research Queueing Package“, IBM Research Report RC-10376 (February 1984). Proceedings of the International Conference on Modelling Techniques and Tools for Performance Analysis, North-Holland, Paris, May 1984. (Invited Paper)
  3. D.V. Foster, P.F. McGehearty, C.H. Sauer and C.N. Waggoner, “A Language for Analysis of Queueing Models“, Proceedings Fifth Annual Pittsburgh Modeling and Simulation Conference, University of Pittsburgh, April 1974.
  4. C.H. Sauer, Configuration of Computing Systems: An Approach Using Queueing Network Models, Ph.D. 1975, computer sciences, University of Texas at Austin.
  5. C.H. Sauer and E.A. MacNair, “The Research Queueing Package: Availability Notice,” IBM Research Report RA-144 (August 1982).
  6. A. Aggarwal, K.J. Gordon, J.F. Kurose, R.F. Gordon and E.A. MacNair. 1989. “Animating simulations in RESQME“, In Proceedings of the 1989 Winter Simulation Conference, ed. E.A. MacNair, K.J. Musselman and P. Heidelberger, 612-620. Institute of Electrical and Electronics Engineers, Washington, District of Columbia.
  7. Performance Modeling and Analysis

RESQ Bibliography

Comments are closed.