




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The problems and solutions related to real time message processing systems in a multiprogramming environment. It covers the design considerations, the use of a communication-based computer system, and the implementation of multiprogramming systems. The document also proposes a mathematical model for analyzing data processing in real time systems.
Typology: Study notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!





WEI CHANG ANn DONALD J. WONG International Business Machines Co~p.,* Ki~gston, New York
Abstract. The problems associated with a real time message processing system i~ the multi- programming environment are described. The basic philosophy of multiprogrammi~lg is com- pared with that of seque~tiaI processiilg in order to put the concepts ia their proper perspec- tive. A mathematical model was developed based on the theory of priority queues. The queue size and its variability within the CPU Ready List, the Real Tithe List and the Non Real Time List can then be computed with the enclosed formulation. In turn, the core requirement for the central processor can be determined.
A major application of the communication-based computer system is message processing, which provides immediate access to a huge centralized filing system. A current picture of the overall situation can be maintained, made possible b y the rapid updating capability, hi these systems, rapid response is usmdly required and the volume of the file is such that it may not be economicaqly feasible to ret~i~l the file in core storage. Random access storage provides the necessalT stor~ge media at lower cost but requires longer access times. The technique of multiprogramming has been devised and is ideM for these applications. Multiprogramming enables several programs to be in progress within a single computer. When a program must wait for the completion of an I/O (Input/Output) access, control is given to another program which is ready to start or resume processing. This technique improves throughput, response times and system utilization. Alttmugh there are m a n y ways of implementing a real time multiprogramming system, the method described here is quite common, particularly iu the message processing environment. A communication-based computer system complex for this area of interest gen- erally consists of a communication network, a multiplexor, a central processor and auxilial T storage devices such as drums, disk files, magnetic tape units, etc. (see t~igure 1). Simulation techniques play an active role ia the a~alysis of central processors. Simulations require relatively long run times due to the complex nature of operation in the CPU (Central Processing Unit). The data obtained is also subject to sta- tistical variations of random samples. In this report, a mathematical model to analyze the data processing unit for a real time system is proposed as an alternative to standard simulation techniques. The reasons for interest in such an effort are: (1) to provide a reasonableness check on the simulation results, (2) to develop less costly techniques to analyze a real time data processing center, and (3) to allow the generation of tables or characteristic curves for synthesis or optimization purposes.
In the past, commercial applications of computer systems have generally been restricted to batch-type processing such as payroll, inventory, etc. The largest job
and the number of jobs to be processed within a specified time period generally de- fined the capability requirements of the desired computer complex. The processing time was not critical although unneeessaiT delays could impose certain hardships and inconveniences. The introduction of real time processing to computer applications has created new problems and restrictions for the system engineer. Since the nature of real time input is unpredictable (the order and time of arrival are random), the system must be de- signed on a probabilistic basis. A detailed study and data collection must be made to provide a foundation for the system design effort. In many cases, the data reduc- tion must be translated to co,fform with the nature of the new system. Based on the specific functional requirements, the system engineer must decide upon the nature of processing within the CPU. There are basically two methods currently in use, namely, sequenltial processing and multiprogramming. The purpose of this report is to place the multiprogramming concept in the proper perspective and to provide some equations for mathematical fo~nulation.
age arriving while one is Mready in progress must wait in a queue until the processing has been completed. Based upon the volmne of traffic and the ent~w message length, the queueing may be done within the CPU core storage or out on an auxiliary stor- age device. Since only one entry can be processed at any one time, complex house- keeping requirements are virtually eliminated. At discrete intervals while processing an entry, the CPU is programmed to check for items in the queues and make the necessary decisions. The principle design problem for the system engineer is the specification of sufficient equipment to enable the system to process the worst-ease condition and still remain within a certain price range. In addition, it must be able to accept and queue the additional messages without hampering the message in progress. For small systems with noncritical response times, the concept of sequen- tim processing cau be used effectively.
where the throughput and/or response times are critical. The effective speed of processing and throughput are increased by interleaving the individual processing requirements. Generally the vast amounts of information required and the different types of processing in message processing systems make it impossible or unfeasible to store all of the records and programs in core; consequently during the course of processing an entry, the central processor must wait until the required records and/or programs are read in. During this period in which the CPU would otherwise be idle (as in sequential processing), other entries can be processed. Certainly this ability provides for improved throughput and response times, but it also imposes a heavy burden on the central processor. In this situation a monitor or supervisor type
CPU Ready List, the Real Time List, and the Non Real Time List in the indicated order. The discussion here presents one way of maintaining scheduling tables in multi- programming systems. A number of other techniques are also possible. Some com- mand and control systems, for example, do scheduling by using a lattice of con- straints to indicate which tasks have priority over others. This program also takes items from these lists, and transfers control to the appro- priate Operational Program. After the item has been served, it transfers the control back to the CPU Loop Program. If the three lists are empty, the CPU Loop Pro- gram may continue to cycle in a closed loop waiting for any further arrival. The CPU Ready List assumes the highest priority and the Non Real Time Ready List assumes the lowest. The whole operation can be described by Figure 2. The core storage in the computer is often divided into the following categories:
tire real time operation. The programs will be mainly Control Programs and some of the most frequently accessed Operational Programs.
tional Program currently in use and the message currently being processed with all the working data needed.
it2 ( Is CPU Ready ~ Transfer to List Empty? / [ Operational [ Program
_1' ~ R e a d y List E m p t y ~ r - - - - ~ l Operational I Program
FIo. 2. CPU Loop
ANALYSISOF REALTIME MULTIPROGRAMMING 5~
queues have been referred to as lists.) The data storage is usually divided into fixed length blocks and may contain programs as well as data. Note that there exist real time multiprogra~m~ing systems which divide core storage into more or fewer categories. An interesting problem is to find how much data storage is required for a real time system. This can be measured if one can compute the queue size and its variability within each list. Additional core must be added to contain system entries with out- standing I / O requests.
Since the time required to check whether there is any item in a queue list is vel~ fast (involving a few microseconds), the whole CPU operation is equivalent to priority queueing system. Allowing for interrupts, the aforementioned CPU loop can be approximated by Figure 3. In many large systems, the CPU's interface to the exterual devices is through interrupts. Whenever these devices require attention, a signal will cause the CPU to temporarily suspend its processing and service the request. Within the example, the interrupts are said to be cruised by completions of CPU requests to an auxilary storage device such as drums and files and by the arrival of new messages from the message exchange. The traffic densities to the system are X~, X~, X3and ~. The peak-hour real time traffic density to the Real Time Ready List (X~) can be measured directly. The non real time jobs to be executed during the peak hour (M) can also be obtained di- rectly. The traffic density of interrupts (X~) and the traffic density to the CPU Ready List (X2) are generated by the traffic of X~ and M and can be measured in- directly. For instance, the traffic density in the CPU Ready List consists of I / O commands, file requests, etc. which are directly proportional to X3 and M. The
X 1
X 3
X 4
Interrupts~ .....i
CPUReadyList ~ o o r t t y
Real-Time:~Ready
NonReal-Time Ready~List
Fro. 3. CPU Operation
Single Server
~f Computer I
....
ANALYSIS OF REAL TIME MULTIPROGIIAMMING 5 ~
The ~verage queue size (including service) L~1) and its second moment l;~~) can be evaluated approximately as:
L~2) (^) = ^ ~ - k,2rrr(2) + 2X 2IV(1)a(1)k k k +Xk2~ ~).' '
3. Service Time Evaluation. What is left then is to compute the service time distribution Hk(x) and its moments a~j). Bearing in nfind that the service time is defined as the length of time between I/O departures, let us assume an item in kth priority acquires control of the CPU and takes x amount of t.ime to process. Let Ps be the probability which indicates how often this type of item occurs. The~ the service time density is
Hk(x) = ~ Psj)(x) dx j where f / x ) is the probability of processing time x for j items and x Hk(x) = Jl ~ j PJJ'/Y) gy"
~fhe average service time and moments for the kth priority are:
ak = x dHk(x), aJ 2) ~ -- xs Jo
4. Data Storage. Since the queue size associated with each list can be computed by the aforementioned formulas, it is possible to estimate the core storage require- mcnt for the computer itself. Prior to any computation, one must know how many data blocks are required to store one item and its information in each of the lists; or a distribution of occupancy for each item can be specified. Let B~') and B~~ be the average and second moment of core blocks required to store a kth priority item. Then from the compound generation function we have C~l) (^) ~- r1~/; Dk (1)~(1)
where C~1) and C~(2) are the average and second moments of core storage require- ment for the ]cth priority queue. L~l) and L~2) are the queue length moments. The average core storage for the queue of the service of the computer can then be com- puted as
C (1) = ~ Ck(1). k=l
Note: This analysis does not include the queues for the I/O channels.
Conclusions The previous mathematical formulation is an attempt to reduce existing theories to practice. The approximation that the interrupts are pre-emptive postponable at the C P U should be valid, as long as the interrupts arc small compared with the normal processing service times and the computer utilization due to interrupts is not excessive. The arrivals at the CPU Ready List and the occurrence of inter-
5 8 8 WEI CHANG AND DONALD J. WONG
rupts are not completely statistically independent. However, the effects are rela- tively small if the output of I/O devices can be considered as independent to their input. The multiprogramming concept with all of its advantages has certain definite disadvantages such as the requirement of a relatively large control program, the increased implementation requirements, etc. It may be more feasible to employ the sequential processing concept if the system requirements can be satisfied. Recently, the development of larger processors, large memory units, fast input and output devices, etc., has created a market for large scale real time systems. It has also introduced new methods and concepts of multiprogramming. Recent developments in time sharing systems, control systems and command systems have demonstrated this point. In this paper, we have merely discussed the multipro- gramming problems in a message processing environment and presented a mathe- matical model and its analysis.
RECEIVED NOVEMBER, 1964; ~EVISED JUNE, 1965