DE3907662A1 - Method and device to balance the load on data transmission paths - Google Patents
Method and device to balance the load on data transmission pathsInfo
- Publication number
- DE3907662A1 DE3907662A1 DE3907662A DE3907662A DE3907662A1 DE 3907662 A1 DE3907662 A1 DE 3907662A1 DE 3907662 A DE3907662 A DE 3907662A DE 3907662 A DE3907662 A DE 3907662A DE 3907662 A1 DE3907662 A1 DE 3907662A1
- Authority
- DE
- Germany
- Prior art keywords
- input
- control
- units
- output
- control units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Feedback Control In General (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Ausgleichen der Belastung von Datenübertragungswegen zwischen einer Gruppe von Steuereinheiten.The invention relates to a method and a device to balance the load on data transmission paths between a group of control units.
In der US-PS 4 403 286 (JP-A-57-157 68) ist ein System zum Ausgleichen von Belastungen beschrieben, bei dem eine Anzahl von Magnetbandkassetteneinheiten (im folgenden auch kurz als Kassetten bezeichnet) mit zwei Steuereinheiten mit jeweils einem Pufferspeicher über Datenübertragungswege verbunden sind. Die Pufferspeicher in den Steuereinheiten werden als Zwischenspeicher benutzt, so wie die jeweiligen Steuerein heiten dazu verwendet werden, den Datentransfer zwischen Hostsystemen und den Pufferspeichern und den Datentransfer zwischen den Puffernspeichern und den Kassetten parallel auszuführen. Wenn eine der Kassetten mit einer der Steuer einheiten Daten austauscht, können die anderen Kassetten keine Datenübertragung mit dieser Steuereinheit beginnen. Die Steuereinheiten laden anfänglich bzw. schreiben aufein anderfolgend Mehrfach-Datenblöcke in die jeweiligen Puffer speicher und Kassetten. Ein Block ist dabei als die Daten einheit definiert, die zwischen einem Hostsystem und einem Pufferspeicher übertragen wird. Die aus einer Kassette aus gelesenen Daten oder die in eine Kassette eingeschriebenen Daten werden davor bewahrt, auf die Pufferspeicher der Steuereinheiten verteilt zu werden, und eine Kassette ist jeweils unter die Kontrolle einer bestimmten Steuereinheit gestellt, und nur deren Pufferspeicher wird benutzt. Wenn eine der Kassetten aus der Gruppe von Kassetten, die sich unter der Kontrolle einer bestimmten Steuereinheit befinden, eine Datenübertragung zwischen einem Übertragungskanal und der bestimmten Steuereinheit beginnt, können die übrigen Kassetten der Gruppe nicht in einen Datentransfer zwischen dem Übertragungskanal und dieser Steuereinheit eintreten. Wenn eine Kassette einen Datentransfer zu einem Pufferspei cher beginnt, können die verbleibenden Kassetten gleicher maßen keine Datenübertragung beginnen. Wenn ein Ungleich gewicht zwischen den Ein/Ausgabebelastungen der jeweiligen Gruppen von Kassetten unter der Kontrolle der jeweiligen Steuereinheiten auftritt, bleibt daher ein Datenübertra gungsweg unbelegt, und die Leistungsfähigkeit des Gesamt systems ist herabgesetzt. Die Ein/Ausgabebelastungen werden daher zwischen den jeweiligen Steuereinheiten durch geeig netes Verschieben oder Umschalten der Kassetten zwischen den Steuereinheiten ausgeglichen.In U.S. Patent 4,403,286 (JP-A-57-157 68) is a system for Balancing loads described in a number of magnetic tape cassette units (hereinafter also briefly as Cassettes) with two control units each a buffer memory connected via data transmission paths are. The buffer memories in the control units are called Buffer used, like the respective tax units can be used to transfer data between Host systems and the buffers and data transfer parallel between the buffer stores and the cartridges to execute. If one of the cassettes with one of the tax units exchanges data, the other cartridges can do not start data transmission with this control unit. The control units initially load or write on subsequently multiple data blocks in the respective buffers memory and cassettes. One block is there as the data unit defined between a host system and a Buffer memory is transferred. That from a cassette read data or the data written in a cassette Data is saved from being stored in the buffer memory of the Control units to be distributed, and a cassette is each under the control of a specific control unit set, and only their buffer memory is used. If one of the cassettes from the group of cassettes that are are under the control of a particular control unit, a data transmission between a transmission channel and the particular control unit begins, the rest The group cartridges are not in a data transfer between enter the transmission channel and this control unit. When a cartridge is transferring data to a buffer memory starts, the remaining cassettes can be the same no data transmission begin. If an unequal weight between the input / output loads of the respective Groups of cassettes under the control of each Control units occurs, therefore, remains a data transfer unoccupied, and the overall performance systems is degraded. The input / output loads are therefore appropriate between the respective control units netes moving or switching the cassettes between the Control units balanced.
Die oben erwähnte US-Patentschrift betrifft die Auswahl der umzuschaltenden Kassetten. Bei diesem bekannten Verfahren wird die Häufigkeit der vergeblichen Versuche jeder der Kas setten festgestellt, eine Datenübertragung zu beginnen, sei es, weil eine andere Kassette unter der Kontrolle der Steu ereinheit bereits die Datenübertragung begonnen hat oder aus einem anderen Grund, wenn die Steuereinheit eine Ein/Ausga beanforderung von der ersterwähnten Kassette erhält. Diese Häufigkeiten werden für die Kassetten in der jeweiligen Gruppe summiert. Wenn der Unterschied zwischen zwei Gesamt häufigkeiten einen gegebenen Wert übersteigt, wird festge stellt, daß die Ein/Ausgabebelastungen zwischen den Steuer einheiten nicht ausgeglichen sind, und es erfolgt eine Um schaltung der Kassetten zwischen den Steuereinheiten. Die Kassette, die umgeschaltet wird, ist diejenige, deren Häu figkeit der vergeblichen Versuche, eine Datenübertragung zu beginnen, nahe an der Hälfte des Unterschiedes zwischen den jeweiligen Häufigkeitssummen solcher vergeblicher Versuche der Kassetten für den Beginn einer Datenübertragung der jeweiligen Steuereinheiten liegt. Es ist offensichtlich, daß eine Steuereinheit mit einer größeren Summe an erfolglosen Versuchen für den Beginn einer Datenübertragung eine höhere Belastung aufweist. Aber auch wenn die Kassette umgeschaltet wird, deren Häufigkeit für erfolglose Versuche nahe an der Hälfte des erwähnten Unterschiedes ist, ist es sehr unwahr scheinlich, daß die Belastungen dann ausgeglichen sind.The above-mentioned US patent relates to the selection of the cassettes to be switched. In this known method the frequency of unsuccessful attempts by each of the cas set to start a data transfer it because another cassette is under control of tax unit has already started or is off another reason when the control unit has an input / output request from the first-mentioned cassette. These Frequencies are shown for the cassettes in each Group sums up. If the difference between two total frequencies exceed a given value, is determined represents the I / O charges between the taxes units are not balanced and there is an order switching the cassettes between the control units. The Cassette that is switched is the one whose skin of unsuccessful attempts to transfer data start close to half the difference between the two respective frequency sums of such unsuccessful attempts of the cassettes for the start of a data transmission of the respective control units. It is obvious that a control unit with a larger sum of unsuccessful Try a higher one to start a data transfer Has load. But also when the cassette switched whose frequency for unsuccessful attempts is close to the Half of the difference mentioned is very untrue apparently that the burdens are then balanced.
Aufgabe der Erfindung ist es, ein Verfahren und eine Vor richtung zum Ausgleichen der Eingabe/Ausgabebelastungen zu schaffen, das bzw. die die Ein/Ausgabeeinheiten wie Magnet bandkassetteneinheiten derart zuordnet und steuert, daß die Belastung der einzelnen Steuereinheiten ausgeglichen ist.The object of the invention is to provide a method and a direction to balance the input / output loads create that the input / output units like magnet assigns and controls tape cassette units so that the Load of the individual control units is balanced.
Die Erfinder haben festgestellt, daß das zuverlässigste Ver fahren zur Lösung dieser Aufgabe darin besteht, den Bela stungszustand der einzelnen Steuereinheiten nach einer Neu zuordnung der Ein/Ausgabeeinheiten vorherzubestimmen. Das heißt, daß die erfindungsgemäße Lösung obiger Aufgabe darauf beruht, daß die Voraussage über einen Wartewert wie einer Ein/Ausgabe-Wartezeit mit einem Ausmaß an Berechnungen mög lich ist, die durch die Verwendung analytischer Modelle nicht erheblich sind. Erfindungsgemäß wird daher die mitt lere Wartezeit, die Auslastung, die Ein/Ausgabe-Ansprechzeit usw. berechnet, die sich in dem Fall ergibt, daß Ein/Ausga beeinheiten wie Magnetbandkassetten unter der Kontrolle einer Steuereinheit mit hoher Belastung neu einer Steuerein heit mit geringerer Belastung zugeordnet werden, wobei die Berechnung für diejenigen Kombinationen aller Ein/Ausgabe einheiten erfolgt, die umgeschaltet werden können. Es werden dann diejenigen Ein/Ausgabeeinheiten umgeschaltet, die das vorausbestimmte Ergebnis eines optimalen Ausgleiches erbrin gen.The inventors have found that the most reliable ver driving to accomplish this task is the Bela condition of the individual control units after a new one Predetermine the assignment of the input / output units. The means that the solution of the above object is based on it is based on the prediction of a waiting value like one I / O waiting time with an amount of calculations possible is by using analytical models are not significant. According to the invention, the mitt lesser waiting time, the load, the input / output response time etc. calculated, which results in the case that input / output units such as magnetic tape cassettes under control a control unit with high load a control unit unit with a lower load, the Calculation for those combinations of all inputs / outputs units that can be switched. It will then switched those input / output units that the predetermined result of an optimal compensation gene.
Das erfindungsgemäße Steuerverfahren schließt zwei Vorgänge ein. Der erste Vorgang betrifft die Sammlung von Daten, bei spielsweise die für das Übertragen von Daten zwischen einem Übertragungskanal und einem Pufferspeicher erforderliche Zeit, oder das Zeitintervall vom Abschluß einer Anforderung einer Ein/Ausgabeeinheit an eine Steuereinheit bis zum Er halt der nächsten Anforderung, die für die Vorausberechnung während des Ein/Ausgabetriebes von Ein/Ausgabeeinheiten wie Magnetbandkassetten erforderlich sind. Der zweite Vorgang betrifft die Berechnung zur Vorhersage des Belastungszu standes nach einem Umschalten der Ein/Ausgabeeinheiten ent sprechend diesen gesammelten Daten und die Auswahl eines Schaltmusters, mit dem das vorhergesagte Ergebnis mit aus geglichenen Eingabe/Ausgabebelastungen erhalten wird.The control method according to the invention closes two processes a. The first process concerns the collection of data, at for example the one for transferring data between one Transmission channel and a buffer memory required Time, or the time interval from the completion of a request an input / output unit to a control unit until Er stop the next requirement for the pre-calculation during the input / output operation of input / output units such as Magnetic tape cartridges are required. The second process concerns the calculation for predicting the load increase after switching the input / output units speaking of this collected data and choosing one Switching pattern with which the predicted result with off equal input / output loads is obtained.
Ausführungsbeispiele für den Ausgleich der Belastungen auf Datenübertragungswegen werden im folgenden anhand der Zeichnung näher erläutert. Es zeigen:Embodiments for balancing the loads Data transmission paths are described below using the Drawing explained in more detail. Show it:
Fig. 1 ein Flußdiagramm für den Hauptvorgang beim Ausgleich der Belastung; Figure 1 is a flow chart for the main process in balancing the load.
Fig. 2 eine schematische Darstellung einer Rechneranordnung; Fig. 2 is a schematic representation of a computer arrangement;
Fig. 3 ein Blockschaltbild von Steuereinheiten für Magnet bandeinheiten; Fig. 3 is a block diagram of control units for magnetic tape units;
Fig. 4 eine Darstellung der Informationen in einer Magnet bandeinheit; Fig. 4 is a representation of the information in a magnetic tape unit;
Fig. 5 ein Flußdiagramm für den Vorgang beim Erhalt einer Ein/Ausgabeanforderung; Fig. 5 is a flowchart for the process of receiving an input / output request;
Fig. 6 ein Flußdiagramm für den Vorgang, der beim Beginn einer Datenübertragung ausgeführt wird; Fig. 6 is a flowchart of the process performed at the start of a data transfer;
Fig. 7 ein Flußdiagramm für den Vorgang, der beim Abschluß einer Datenübertragung ausgeführt wird; Fig. 7 is a flowchart of the process performed upon completion of a data transfer;
Fig. 8 eine Darstellung der Informationen in einer Steuer einheit; und Figure 8 is a representation of the information unit in a control. and
Fig. 9 ein Flußdiagramm für den Vorgang, der bei der Über tragung der Informationen ausgeführt wird, die für eine andere Steuereinheit zur Annahme einer umzu schaltenden Magnetbandeinheit erforderlich sind. Fig. 9 is a flowchart for the process that is carried out in the transmission of the information that is required for another control unit to accept a magnetic tape unit to be switched.
Es wird nun ein Ausführungsbeispiel für den Ausgleich der Belastung von Datenübertragungswegen erläutert. Die Fig. 2 ist eine schematische Darstellung eines Rechnersystems, bei dem der Ausgleich ausgeführt wird. Das System weist eine Zentraleinheit (CPU) 20, Übertragungskanäle A, B 21 bzw. 22, Steuereinheiten A, B 23 bzw. 24 und eine Anzahl Magnetband kassetteneinheiten 25 1, 25 2,... 25 n auf. Die Ein/Ausgabe einheiten sind bei dieser Ausführungsform die Magnetband kassetteneinheiten, es können jedoch auch andere Ein/Ausga beeinheiten verwendet werden. Die Kassetten 25 1 bis 25 n sind mit den Steuereinheiten A 23 und B 24 verbunden, so daß sie physikalisch Daten zu beiden Steuereinheiten A, B 23 und 24 senden und davon erhalten können. Die jeweiligen Kassetten befinden sich jedoch dabei derart unter der Kontrolle einer der Steuereinheiten, daß sie nur mit einer dieser Steuerein heiten eine Datenübertragung ausführen.An exemplary embodiment for balancing the load on data transmission paths is now explained. Fig. 2 is a schematic representation of a computer system in which the compensation is carried out. The system has a central processing unit (CPU) 20 , transmission channels A , B 21 and 22 , control units A , B 23 and 24 and a number of magnetic tape cassette units 25 1, 25 2 , ... 25 n . In this embodiment, the input / output units are the magnetic tape cassette units, but other input / output units can also be used. The cassettes 25 1 to 25 n are connected to the control units A 23 and B 24 so that they can physically send and receive data from both control units A , B 23 and 24 . However, the respective cassettes are under the control of one of the control units in such a way that they carry out data transmission only with one of these control units.
Die Steuereinheit, die mit einer Kassette 25 Daten austau schen kann, wird diejenige Steuereinheit genannt, die das Kontrollrecht über die Kassette 25 hat. Zum Ausgleich der Ein/Ausgabebelastung zwischen den Steuereinheiten A 23 und B 24 wird daher das Kontrollrecht über die Kassette 25 zwi schen den Steuereinheiten ausgetauscht. The control unit that can exchange data with a cassette 25 is called the control unit that has the right of control over the cassette 25 . To compensate for the input / output load between the control units A 23 and B 24 , the control right over the cassette 25 is therefore exchanged between the control units.
Die Fig. 3 zeigt die Steuereinheiten A 23 und B 24 genauer. Ein Prozessor A 300 steuert die Datenübertragung der Kasset ten, die sich unter der Kontrolle der Steuereinheit A 23 be finden. Ein Pufferspeicher A 302 speichert anfänglich gela dene bzw. aufeinanderfolgend eingeschriebene Daten der Kas setten 25, die sich unter der Kontrolle der Steuereinheit A 23 befinden. Der Prozessor A 300 sammelt die Informationen, die zum Umschalten des Kontrollrechts über die Kassetten 25 erforderlich sind, mittels einer Funktion (einem Programm) A 313 zur Sammlung von Informationen für die Vorhersage und bestimmt mittels einer Funktion (einem Programm) A 315 zur Berechnung der Vorhersage, wie das Kontrollrecht über die Kassetten 25 umzuschalten ist. Die anderen Funktionen des Prozessors A 300 außer der Funktion A 313 zur Sammlung von Informationen über die Vorhersage und der Funktion A 315 zur Berechnung der Vorhersage sind in der eingangs erwähnten US-PS 4 403 286 erläutert und werden hier nicht mehr be schrieben. Eine Datenübertragungseinheit CA 304 überträgt Daten zwischen dem Pufferspeicher A 302 und dem Übertra gungskanal A 21 oder B 22 für die Kassetten 25, die sich unter der Kontrolle der Steuereinheit A 23 befinden. Eine Datenübertragungseinheit DA 306 führt die Datenübertragungen zwischen dem Pufferspeicher 302 und den Kassetten 25 aus, die sich unter der Kontrolle der Steuereinheit A 23 befin den. Ein Prozessor B 301, ein Pufferspeicher B 303, eine Datenübertragungseinheit CB 305 und eine Datenübertragungs einheit DB 307 führen die entsprechenden Vorgänge für die Kassetten 25 aus, die sich unter der Kontrolle der Steuer einheit B 24 befinden (der Prozessor B 301 führt auch die Funktion B 314 zur Sammlung von Informationen zur Vorhersage und die Funktion B 316 zur Berechnung der Vorhersage aus). Steuertabellen A 308 und B 309 enthalten Daten der in der Fig. 8 gezeigten Art, über die die entsprechenden Steuerein heiten verfügen. Kassettentabellen A 310 und B 311 beinhal ten Daten der in der Fig. 4 gezeigten Art, über die jede Kassette 25 verfügt. In diesem Fall sind die Daten, über die jede Kassette 25 verfügt, in der Kassettentabelle A 310 oder der Kassettentabelle B 311 in der Steuereinheit gespeichert, die die jeweilige Kassette 25 kontrolliert. Ein Datenweg (Bus) 312 für Steuerinformationen wird dazu verwendet, Steu erinformationen zwischen den Prozessoren A 300 und B 301 auszutauschen. Fig. 3 shows the control units A 23 and B 24 in more detail. A processor A 300 controls the data transmission of the cassettes th, which are under the control of the control unit A 23 be. A buffer memory A 302 stores initially loaded or sequentially written data of the Kas set 25 , which are under the control of the control unit A 23 . The processor A 300 collects the information required to switch the right of control over the cassettes 25 by means of a function (a program) A 313 for collecting information for the prediction and determines by means of a function (a program) A 315 for calculating the Prediction of how the control right over the cassettes 25 is to be switched. The other functions of the processor A 300 besides the function A 313 for collecting information about the prediction and the function A 315 for calculating the prediction are explained in the aforementioned US Pat. No. 4,403,286 and are no longer described here. A data transfer unit CA 304 transfers data between the buffer memory A 302 and the transfer channel A 21 or B 22 for the cassettes 25 , which are under the control of the control unit A 23 . A data transfer unit DA 306 carries out the data transfers between the buffer memory 302 and the cassettes 25 , which are under the control of the control unit A 23 . A processor B 301 , a buffer memory B 303 , a data transfer unit CB 305 and a data transfer unit DB 307 carry out the corresponding operations for the cassettes 25 , which are under the control of the control unit B 24 (the processor B 301 also performs the function B 314 for collecting information about the prediction and the function B 316 for calculating the prediction). Control tables A 308 and B 309 contain data of the type shown in FIG. 8, which the corresponding control units have. Cassette tables A 310 and B 311 contain data of the type shown in FIG. 4 that each cassette 25 has. In this case, the data which each cassette 25 has are stored in the cassette table A 310 or the cassette table B 311 in the control unit which controls the respective cassette 25 . A data path (bus) 312 for control information is used to exchange control information between processors A 300 and B 301 .
Zur Erläuterung wird nun ein einfacher Vorgang beschrieben. Wenn der Prozessor A 300 eine Ein/Ausgabeanforderung vom Übertragungskanal A 21 erhält, prüft er, ob die Ein/Ausgabe anforderung für eine Kassette 25 ausgegeben ist, die unter der Kontrolle der Steuereinheit A 23 steht, und zwar durch Vergleich mit den Kontrollrechten für alle Kassetten, die sich unter der Kontrolle der Steuereinheit A 23 befinden. Wenn ja, so prüft der Prozessor A 300, ob die Datenübertra gungseinheit CA 304 eine Datenübertragung über den Übertra gungskanal B 22 ausführt. Wenn die Datenübertragungseinheit A 304 keine Datenübertragung ausführt, kann der Prozessor A 300 sofort in die Übertragung von Daten für die Ein/Ausgabe anforderung eintreten, die er gerade erhalten hat. Wenn die Datenübertragungseinheit CA 304 bereits eine Datenübertra gung begonnen hat, wird die Bearbeitung der erhaltenen Ein/ Ausgabeanforderung hinausgeschoben. Wenn die Bearbeitung verzögert wird, gibt der Prozessor A 300 vorübergehend die Verbindung mit dem Kanal A 21 frei. Wenn die Steuereinheit A 23 feststellt oder erkennt, daß die Ein/Ausgabeanforderung, die von dem Kanal A 21 erhalten wurde, für eine Kassette 25 ausgegeben wurde, die sich unter der Kontrolle der Steuer einheit B 24 befindet, übermittelt der Prozessor A 300 diese Anforderung an den Prozessor B 301 über den Weg 312 für Steuerinformationen. A simple process will now be described for explanation. When the processor A 300 receives an input / output request from the transmission channel A 21 , it checks whether the input / output request is issued for a cassette 25 which is under the control of the control unit A 23 , by comparison with the control rights for all Cassettes that are under the control of the A 23 control unit. If so, processor A 300 checks whether data transmission unit CA 304 is carrying out data transmission via transmission channel B 22 . If the data transfer unit A 304 does not perform data transfer, the processor A 300 can immediately start transferring data for the input / output request that it has just received. If the data transfer unit CA 304 has already started a data transfer, the processing of the received input / output request is postponed. If processing is delayed, processor A 300 temporarily releases connection to channel A 21 . If the control unit A 23 determines or detects that the input / output request received from the channel A 21 has been issued for a cassette 25 which is under the control of the control unit B 24 , the processor A 300 transmits this request to processor B 301 via path 312 for control information.
Wenn eine Ein/Ausgabeanforderung für eine Kassette 25 ausge geben wird, die sich über den Kanal B 22 unter der Kontrolle der Steuereinheit A 23 befindet, erhält zuerst die Steuer einheit B 24 diese Anforderung, woraufhin die Anforderung über den Weg 312 für Steuerinformationen an die Steuerein heit A 23 gegeben wird. Wenn die Steuereinheit A 23 die An forderung erhält, prüft sie, ob die Datenübertragungseinheit CA 304 Daten über den Kanal A 21 überträgt. Wenn nicht, be ginnt die Steuereinheit A 23 sofort mit der Datenübertra gung. Wenn die Datenübertragungseinheit CA 304 bereits einen Datentransfer begonnen hat, muß die Bearbeitung der erhalte nen Ein/Ausgabeanforderung hinausgeschoben werden.When an I / O request is issued for a cassette 25 which is under control of the control unit A 23 via the channel B 22 , the control unit B 24 first receives this request, whereupon the request is sent via path 312 for control information to the Control unit A 23 is given. When control unit A 23 receives the request, it checks whether data transmission unit CA 304 is transmitting data over channel A 21 . If not, the control unit A 23 starts the data transfer immediately. If the data transfer unit CA 304 has already started a data transfer, the processing of the received input / output request must be postponed.
Wenn die Ein/Ausgabebelastungen für die jeweiligen Gruppen von Kassetten unter der Kontrolle der entsprechenden Steuer einheiten nicht ausgeglichen sind, so braucht nur der Daten transfer in der Gruppe der Kassetten 25 verzögert zu werden, die sich unter der Kontrolle einer Steuereinheit befinden. Die Ein/Ausgabebelastungen sind daher zwischen den Steuer einheiten A 23 und B 24 durch Austausch des Kontrollrechts für die Kassetten 25 auszugleichen.If the input / output loads for the respective groups of cassettes are not balanced under the control of the corresponding control units, then only the data transfer need be delayed in the group of cassettes 25 which are under the control of a control unit. The input / output loads are therefore to be balanced between the control units A 23 and B 24 by exchanging the control right for the cassettes 25 .
Bei der vorliegenden Ausführungsform werden die Kontroll rechte für die Kassetten geeignet umgeschaltet, um die Be lastung der Steuereinheiten A 23 und B 24 auszugleichen.In the present embodiment, the control rights for the cassettes are switched appropriately to compensate for the load on the control units A 23 and B 24 .
Das Verfahren dafür wird nun genauer erläutert. Eine quanti tative Definition der auszugleichenden Belastungen beinhal tet den Ausgleich von Lastfaktoren wie Datenübertragungs wartezeiten, Datenübertragungsansprechzeiten, Datenausnut zung und den Durchsatz für jede der beiden Steuereinheiten. Die folgende Ausführungsform ist auf eine Vergleichmäßigung der Datenübertragungswartezeiten bezogen. In diesem Fall werden daher die mittleren Datenübertragungswartezeiten der jeweiligen Gruppen von Kassetten 25 unter der Kontrolle der Steuereinheiten A 23 und B 24 gemessen. Wenn diese Wartezei ten unterschiedlich sind, wird das Kontrollrecht für geeig nete Kassetten 25 zwischen den Steuereinheiten zum Ausgleich der Belastung ausgetauscht. Das Problem liegt daher darin, wie die Belastungen zu verschieben sind, um die mittleren Datenübertragungswartezeiten für die Gruppen von Kassetten 25 unter der Kontrolle der beiden Steuereinheiten auszuglei chen. Wenn eine Verschiebung ausgeführt wird, können die mittleren Datenübertragungswartezeiten für die Gruppen von Kassetten 25 unter der Kontrolle der jeweiligen Steuerein heiten, die sich aus der Verschiebung der Belastung ergibt, vorhergesagt werden. Es gibt mehrere bekannte Prozeduren zur Vorherbestimmung der mittleren Wartezeit usw. mittels analy tischer Modelle. Bei der vorliegenden Ausführungsform werden die zur Vorhersage der mittleren Wartezeiten erforderlichen Daten während des Betriebs einer jeden Kassette 25 gemessen, und es wird vorherbestimmt, wie lange die mittlere Wartezeit für die jeweilige Gruppe von Kassetten 25 für den Fall sein wird, daß das Kontrollrecht über die Kassetten 25 zwischen den Steuereinheiten ausgetauscht wird. Als Ergebnis wird ein Umschaltmuster gewählt, bei dem der Unterschied zwischen den vorbestimmten Ergebnissen für die mittlere Datenübertra gungswartezeit der jeweiligen Gruppen von Kassetten 25 unter der Kontrolle der jeweiligen Steuereinheiten minimal ist.The procedure for this will now be explained in more detail. A quantitative definition of the loads to be balanced includes the balancing of load factors such as data transmission waiting times, data transmission response times, data utilization and the throughput for each of the two control units. The following embodiment relates to an equalization of the data transmission waiting times. In this case, therefore, the average data transmission waiting times of the respective groups of cassettes 25 are measured under the control of the control units A 23 and B 24 . If these waiting times are different, the control right for suitable cassettes 25 is exchanged between the control units to compensate for the load. The problem is therefore how to shift the loads to compensate for the average data transfer latencies for the groups of cartridges 25 under the control of the two control units. When a shift is carried out, the average data transfer waiting times for the groups of cartridges 25 can be predicted under the control of the respective control units resulting from the shift of the load. There are several known procedures for predicting the mean waiting time, etc. using analytical models. In the present embodiment, the data required to predict the average waiting times is measured during the operation of each cartridge 25 , and it is predetermined how long the average waiting time will be for the respective group of cartridges 25 in the event that the right of control over the Cassettes 25 is exchanged between the control units. As a result, a switching pattern is selected in which the difference between the predetermined results for the average data transmission waiting time of the respective groups of cassettes 25 is minimal under the control of the respective control units.
Die für die Berechnung zur Vorhersage der mittleren Warte
zeiten erforderlichen Daten sind in Abhängigkeit von dem
jeweiligen analytischen Modell verschieden. Da die Kassetten
25 gewöhnlich mit einem einzigen Programm belegt sind, soll
te ein analytisches Modell der Art verwendet werden, bei der
die Anzahl der Fortsetzungsanforderungen in dem Modell
gleich der Anzahl aktiver Kassetten und damit eine Konstante
ist, um die Eigenschaften der Kassetten wiederzugeben.
Solche Arten analytischer Modelle sind etwa asymptotische
Modelle und Maschinenreparaturmodelle. Wenn diese Modelle
verwendet werden, ist die mittlere Wartezeit, die mittlere
Ansprechzeit, der Durchsatz, die Auslastung usw. durch Mes
sen der Anzahl aktiver Kassetten 25, der jeweiligen Zeit
intervalle zwischen dem Abschluß und der Ankunft von Ein/
Ausgabeanforderungen der Kassetten 25 und der mittleren
Datenübertragungszeit vorhersagbar. Beispielsweise kann ge
mäß dem asymptotischen Modell die mittlere Wartezeit, die
mittlere Ansprechzeit, die Auslastung und der Durchsatz über
die folgenden Gleichungen erhalten werden, die dem Artikel
der Erfinder "Bottleneck Analysis of Multiprogrammed Com
puter Systems with Scheduling Disciplines" in "Transaction
on Information Processing" (Japan), Band 23, Nr. 5, Seiten
562 bis 569 (1982) entnommen sind:
Mittlere Wartezeit = MAX (0, (Anzahl der Kassetten - 1)
× (mittlere Datenübertragungszeit) - (mittleres Zeit
intervall zwischen der Beendigung und der Ankunft einer
Ein/Ausgabeanforderung));
mittlere Ansprechzeit = MAX (mittlere Datenübertra
gungszeit, (Anzahl der Kassetten) × (mittlere Daten
übertragungszeit)- (mittleres Zeitintervall zwischen
der Beendigung und der Ankunft einer Ein/Ausgabeanfor
derung));
Auslastung = MIN ((Anzahl von Kassetten) × (mittlere
Datenübetragungszeit)/(mittleres Zeitintervall zwischen
der Beendigung und der Ankunft einer Ein/Ausgabeanfor
derung + mittlere Datenübertragungszeit), 1); und
Durchsatz = MIN (Anzahl der Kassetten)/(mittleres Zeit
intervall zwischen der Beendigung und der Ankunft einer
Ein/Ausgabeanforderung + mittlere Datenübertragungs
zeit), 1/(mittlere Datenübertragungszeit)).The data required for the calculation to predict the mean waiting times differ depending on the respective analytical model. Since the cartridges 25 are usually populated with a single program, an analytical model of the type in which the number of continuation requests in the model is equal to the number of active cartridges and thus a constant to reflect the properties of the cartridges should be used. Such types of analytical models are, for example, asymptotic models and machine repair models. When these models are used, the average waiting time, the average response time, the throughput, the load, etc. is measured by measuring the number of active cartridges 25 , the respective time intervals between the completion and arrival of input / output requests of the cartridges 25 and mean data transmission time predictable. For example, according to the asymptotic model, the mean waiting time, the mean response time, the load and the throughput can be obtained via the following equations, which are described in the inventors' article "Bottleneck Analysis of Multiprogrammed Computer Systems with Scheduling Disciplines" in "Transaction on Information Processing.""(Japan), Volume 23, No. 5, pages 562 to 569 (1982) are taken from:
Average waiting time = MAX (0, (number of cartridges - 1) × (average data transfer time) - (average time interval between completion and arrival of an input / output request));
average response time = MAX (average data transfer time, (number of cartridges) × (average data transfer time) - (average time interval between completion and arrival of an input / output request));
Utilization = MIN ((number of cartridges) × (average data transfer time) / (average time interval between completion and arrival of an input / output request + average data transfer time), 1); and
Throughput = MIN (number of cassettes) / (average time interval between the completion and arrival of an input / output request + average data transfer time), 1 / (average data transfer time)).
Wenn die obigen Gleichungen einen negativen Wert annehmen, ist die mittlere Wartezeit gleich Null. Wenn das asymptoti sche Näherungsmodell verwendet und die mittlere Datenüber tragungszeit sowie das mittlere Zeitintervall zwischen der Beendigung und dem Erhalt einer Ein/Ausgabeanforderung der jeweiligen Kassetten 25 gemessen werden, können die mitt leren Datenübertragungswartezeiten für die jeweiligen Grup pen von Kassetten, die neu unter die Kontrolle einer der Steuereinheiten gestellt wurden, vorhergesagt werden, da die Anzahl der Kassetten 25, die sich anfänglich unter der Kon trolle der jeweiligen Steuereinheiten befinden, bekannt sind.If the above equations take a negative value, the mean wait time is zero. If the asymptotic approximation model is used and the average data transfer time and the average time interval between the completion and receipt of an input / output request of the respective cartridges 25 are measured, the average data transfer waiting times for the respective groups of cartridges can be newly under control one of the control units were predicted, since the number of cassettes 25 , which are initially under the control of the respective control units, are known.
Es werden nun die Vorgänge beschrieben, die bei der vorlie genden Ausführungsform ablaufen, wobei als Beispiel ein analytisches Modell in der Art des asymptotischen Modells oder des Reparaturmodelles verwendet wird, wobei die mitt lere Datenübertragungswartezeit der Kassetten 25 durch Be stimmen der Anzahl der Kassetten 25, der Datenübertragungs zeit und dem mittleren Zeitintervall zwischen der Beendigung und der Ankunft einer Ein/Ausgabeanforderung für die Kasset ten vorausberechnet wird.There will now be described the operations that take place in the present embodiment, using an analytical model such as the asymptotic model or the repair model as an example, the mean data transfer waiting time of the cassettes 25 by determining the number of the cassettes 25 , the data transmission time and the mean time interval between the completion and arrival of an input / output request for the cassettes is calculated in advance.
Die Fig. 8 zeigt das Format der Steuertabellen A 308 und B 309, die die Anzahl 80 der Kassetten 25 speichern, die der zeit aktiv sind und sich unter der Kontrolle der jeweiligen Steuereinheit befinden. Kontrolldaten 81 bezeichnen die Gruppe von Kassetten, die sich derzeit unter der Kontrolle der jeweiligen Steuereinheit befinden. Die Fig. 4 zeigt das Format der Kassettentabellen A 310 und B 311, deren Daten in der jeweiligen Steuereinheit gespeichert sind, die diese Tabellen kontrolliert. Ein Abschnitt 40 für die Ein/Ausgabe verarbeitungsabschlußzeit speichert Daten über den Zeit punkt, an dem die letzte Übertragung der verarbeiteten Ein/Ausgabedaten beendet wurde. Ein Abschnitt 41 für die Datenübertragungsstartzeit speichert den Zeitpunkt, an dem die Datenübertragung begonnen wurde. Ein Datenübertragungs wartebit 42 geht auf einen hohen Pegel, wenn die zugehörige Steuereinheit, die von einer Kassette 25 unter ihrer Kon trolle eine Ein/Ausgabeanforderung erhält, die Datenübertra gung nicht beginnen kann, da die Steuereinheit bereits eine Datenübertragung mit einer anderen Kassette begonnen hat, und/oder da keine Anfangsdaten geladen sind usw. Ein Ab schnitt 43 für die Datenübertragungswartezeit speichert Daten über den Zeitpunkt, zu dem das Bit 42 auf den hohen Pegel geht. Fig. 8 shows the format of control tables A 308 and B 309 store the number 80 of the cassette 25, which are the active time and are under the control of the respective control unit. Control data 81 designate the group of cassettes which are currently under the control of the respective control unit. Fig. 4 shows the format of the cassette tables A 310 and B 311 , the data of which are stored in the respective control unit which controls these tables. A section 40 for the I / O processing completion time stores data about the time when the last transfer of the processed I / O data was completed. A data transfer start time section 41 stores the time at which the data transfer was started. A data transfer wait bit 42 goes high when the associated control unit, which receives an input / output request from a cassette 25 under its control, cannot start the data transfer because the control unit has already started data transfer with another cassette, and / or since no initial data is loaded, etc. A data transfer wait time section 43 stores data about when the bit 42 goes high.
Ein Abschnitt 44 über die Anzahl von Ein/Ausgabeanforde rungen speichert Daten über die gesamte Anzahl von Ein/Aus gabeanforderungen, die zu jeder Kassette 25 ausgegeben wur den, nachdem die letzte Vorausberechnung erfolgt ist. Ein Abschnitt 45 für die akkumulierte Datenübertragungswarte zeit, ein Abschnitt 46 für die akkumulierte Datenübertra gungszeit und ein Abschnitt 47 für das akkumulierte Ein/Aus gabegenerationszeitintervall stellen die jeweiligen akkumu lierten Werte für die Datenübertragungswartezeit, die Daten übertragungszeit und das Zeitintervall zwischen der Beendi gung und dem Erhalt einer Ein/Ausgabeanforderung für die Kassette dar, nachdem die Vorausberechnung ausgeführt worden ist.A section 44 on the number of I / O requests stores data on the total number of I / O requests issued to each cartridge 25 after the last prediction has been made. A section 45 for the accumulated data transmission waiting time, a section 46 for the accumulated data transmission time and a section 47 for the accumulated on / off output generation time interval set the respective accumulated values for the data transmission waiting time, the data transmission time and the time interval between the completion and the Receiving an I / O request for the cartridge after the prediction has been performed.
Anhand der Fig. 5 bis 7 wird nun das Sammeln dieser Daten unter Verwendung der Vorhersageinformations-Sammelfunktionen (Programmen) A 313 und A 314 beschrieben. Die Fig. 5 zeigt den Ablauf der Vorgänge, die ausgeführt werden, wenn eine Steuereinheit eine Ein/Ausgabeanforderung erhält. Zuerst wird im Schritt 500 die Ein/Ausgabeabschlußzeit 40 einer Kassette 25, an die eine Ein/Ausgabeanforderung ausgegeben wird, von der gegenwärtigen Zeit subtrahiert, und diese subtrahierte Zeit wird zu dem akkumulierten Ein/Ausgabe abgabezeitintervall 47 für diese Kassette addiert. Im Schritt 501 wird die Anzahl der Ein/Ausgabeanforderungen 44 um eins erhöht. Im Schritt 502 wird geprüft, ob diese Ein/ Ausgabeanforderung in eine Datenübertragung übergeführt werden kann. Wenn ja, wird der Vorgang angeschlossen, ohne daß eine weitere Verarbeitung stattfindet. Wenn nicht, wird im Schritt 503 das Datentransfer-Wartebit 42 auf den hohen Pegel gebracht und die gegenwärtige Zeit in den Abschnitt 43 für die Datenübertragungswartezeit gegeben.Collecting these data using the predictive information collection functions (programs) A 313 and A 314 will now be described with reference to FIGS. 5 to 7. Fig. 5 shows the flow of the operations which are carried out when a control unit receives an input / output request. First, in step 500, the I / O completion time 40 of a cartridge 25 to which an I / O request is issued is subtracted from the current time, and this subtracted time is added to the accumulated I / O delivery time interval 47 for that cartridge. In step 501 , the number of input / output requests 44 is increased by one. In step 502 it is checked whether this input / output request can be converted into a data transmission. If so, the process is connected without further processing taking place. If not, in step 503 the data transfer wait bit 42 is brought high and the current time is given in section 43 for the data transfer wait time.
Die Fig. 6 zeigt ein Flußdiagramm für den Vorgang, wenn eine Datenübertragung begonnen wird. Im Schritt 600 wird geprüft, ob das Datenübertragungswartebit 42 für die Kassette 25, die eine Datenübertragung beginnt, auf dem hohen Pegel ist. Wenn nicht, wird zu dem Schritt 603 weitergegangen. Wenn ja, wird im Schritt 601 die Datenübertragungswartezeit 43 von der gegenwärtigen Zeit subtrahiert, und die subtrahierte Zeit wird dann zu dem akkumulierten Ein/Ausgabegenerationszeit intervall 47 für diese Kassette addiert. Im Schritt 602 wird das Datenübertragungswartebit 42 auf den niedrigen Pegel ge setzt. Im Schritt 604 werden Daten über die gegenwärtige Zeit im Abschnitt 41 für die Datenübertragungsstartzeit ge speichert und es wird der Vorgang abgeschlossen. Fig. 6 shows a flow chart for the process when data transfer is started. In step 600 it is checked whether the data transfer waiting bit 42 for the cassette 25 , which is starting a data transfer, is at the high level. If not, go to step 603 . If so, in step 601 the data transfer waiting time 43 is subtracted from the current time, and the subtracted time is then added to the accumulated I / O generation time interval 47 for this cartridge. In step 602 , the data transfer wait bit 42 is set to the low level. At step 604 , current time data is stored in the data transfer start time section 41, and the process is completed.
Die Fig. 7 zeigt ein Flußdiagramm für den Vorgang, wenn die Datenübertragung abgeschlossen wird. Im Schritt 700 wird die Datenübertragungsstartzeit 41 für eine Kassette 25 von der gegenwärtigen Zeit subtrahiert, wenn die Kassette 25 die Da tenübertragung abgeschlossen hat, und die subtrahierte Datenübertragungszeit wird zu der akkumulierten Datenüber tragungszeit 46 dieser Kassette addiert. Im Schritt 701 wird die gegenwärtige Zeit in den Abschnitt 40 für die Ein/Aus gabeverarbeitungsabschlußzeit eingegeben. Fig. 7 shows a flowchart for the process when the data transfer is completed. At step 700 , the data transfer start time 41 for a cartridge 25 is subtracted from the current time when the cartridge 25 has completed data transfer, and the subtracted data transfer time is added to the accumulated data transfer time 46 of that cartridge. In step 701 , the current time is input to the section 40 for the input / output processing completion time.
Die Vorgänge für die Vorausberechnungsfunktionen A 315 und B 316, über die eine umzuschaltende Kassette 25 auf der Basis dieser Daten ausgewählt wird, werden nun beschrieben. Die Steuereinheit A 23 oder die Steuereinheit B 24 kann das Kon trollrecht der umzuschaltenden Kassette auswählen. Unter dem Gesichtspunkt des Belastungsausgleiches usw. können die Steuereinheiten A 23 und B 24 abwechselnd verwendet werden. Die in den Fig. 8 und 4 gezeigten Daten sollten alle in der Steuereinheit gesammelt werden, die das Kontrollrecht über die umzuschaltende Kassette 25 übernimmt.The operations for the prediction functions A 315 and B 316 , by which a cartridge 25 to be switched over is selected on the basis of this data, will now be described. The control unit A 23 or the control unit B 24 can select the control right of the cassette to be switched. From the point of view of load balancing etc., the control units A 23 and B 24 can be used alternately. The data shown in FIGS. 8 and 4 should all be collected in the control unit which assumes the right of control over the cassette 25 to be switched .
Die Fig. 1 zeigt den Ablauf der Vorgänge für die Steuerein heit, die das Kontrollrecht der umzuschaltenden Kassete 25 übernimmt. Diese Vorgänge werden ausgeführt, wenn eine vor bestimmte Zeit verstrichen ist. Eine solche periodische be stimmte Zeit wird als Steuerzyklus bezeichnet. Fig. 1 shows the sequence of operations for the Steuerein unit, which takes over the control right of the cassette 25 to be switched . These operations are performed when a certain time has elapsed. Such a periodic be certain time is called a control cycle.
Im Schritt 100 gibt eine Empfangssteuerung an eine Sende steuerung eine Anforderung aus, mit der die Übertragung von Daten angefordert wird, die für die Übernahme des Kontroll rechtes über die umzuschaltende Kassette 25 erforderlich sind. Danach wartet im Schritt 101 die Empfangssteuerung die Ankunft dieser Daten von der anderen Steuereinheit ab. Die übertragenen Daten schließen die Anzahl 80 der Kassetten, die Anzahl von Ein/Ausgabeanforderungen 44, die akkumulierte Datenübertragungswartezeit 45, die akkumulierte Datenüber tragungszeit 46 und das akkumulierte Ein/Ausgabegenerations zeitintervall 47 der jeweiligen Kassetten 25 ein. Im Schritt 102 wird geprüft, ob die Ein/Ausgabebelastungen für die Kas setten 25 unter der Kontrolle der beiden Steuereinheiten zwischen den Steuereinheiten ausgeglichen sind. Zuerst wird die betreffende Anzahl von Ein/Ausgabeanforderungen 44 und die betreffenden akkumulierten Datenübertragungswartezeiten 45 für die Kassetten 25 der jeweiligen Gruppe unter der Kon trolle der entsprechenden Steuereinheiten getrennt aufad diert. Die sich ergebende Gesamt-Datenübertragungswartezeit 45 für die jeweiligen Gruppen von Kassetten wird durch die entsprechende Gesamtzahl von Ein/Ausgabeanforderungen 44 dividiert, um für die jeweiligen Gruppen die mittlere Daten übertragungswartezeit zu erhalten. Wenn der Unterschied zwischen den beiden mittleren Datenübertragungswartezeiten kleiner als ein vorgegebener Wert ist, so wird die Belastung als ausgeglichen betrachtet, und die Kontrollrechte über die Kassetten 25 werden nicht umgeschaltet.In step 100 , a reception controller issues a request to a transmission controller with which the transmission of data is requested, which are required for the transfer of the control right over the cassette 25 to be switched. Then in step 101, the reception controller waits for the arrival of this data from the other control unit. The transferred data include the number 80 of cartridges, the number of input / output requests 44 , the accumulated data transfer waiting time 45 , the accumulated data transfer time 46, and the accumulated input / output generation time interval 47 of the respective cartridges 25 . In step 102 it is checked whether the input / output loads for the cassette 25 are balanced between the control units under the control of the two control units. First, the respective number of input / output requests 44 and the respective accumulated data transfer waiting times 45 for the cassettes 25 of the respective group are added separately under the control of the corresponding control units. The resulting total data transfer latency 45 for the respective groups of cartridges is divided by the corresponding total number of input / output requests 44 to obtain the average data transfer latency for the respective groups. If the difference between the two mean data transfer waiting times is less than a predetermined value, the load is considered to be balanced and the control rights over the cassettes 25 are not switched.
Es wird nun der Fall beschrieben, daß die Kontrollrechte über die Kassetten umgeschaltet werden. Im allgemeinen sollten zum vollständigen Ausgleich der mittleren Datenüber tragungswartezeiten für beide Steuereinheiten die Kontroll rechte über die Kassetten 25 umgeschaltet werden. Wenn je doch eine Umschaltung der Kontrollrechte von n Kassetten vorausgesetzt wird, steigt die Anzahl von Umschaltmustern schnell an, so daß sich das Problem ergibt, daß der Gesamt aufwand für die Vorausberechnungen zu groß wird. Es wird daher im folgenden Beispiel der Fall betrachtet, daß die Anzahl der umzuschaltenden Kontrollrechte gleich eins ist. In diesem Fall wird aus der Gruppe von Kassetten 25 unter der Kontrolle einer Steuereinheit, die eine größere mittlere Datenwartezeit aufweist, eine einzige Kassette 25 ausge wählt. Das Kontrollrecht über diese Kassette 25 wird dann umgeschaltet. Im Schritt 103 der Fig. 1 wird eine Magnet bandkassette aus einer Gruppe von Kassetten 25 unter der Kontrolle einer Steuereinheit mit einer größeren mittleren Datenwartezeit ausgewählt, um eine Voraussageberechnung auszuführen. Im Schritt 104 werden die jeweiligen mittleren Datenübertragungswartezeiten der Gruppen von Kassetten 25 unter der Kontrolle der betreffenden Steuereinheiten für den Fall berechnet, daß das Kontrollrecht über eine solche Kas sette umgeschaltet wird, und der Unterschied zwischen beiden mittleren Wartezeiten wird festgestellt. Da die Anzahl von Ein/Ausgabeanforderungen 44, die akkumulierte Datenübertra gungszeit 46 und das akkumulierte Ein/Ausgabegenerations zeitintervall 47 für jede Kassette 25 vorher bekannt sind, können die mittlere Datenübertragungszeit und das mittlere Ein/Ausgabegenerationszeitintervall für die jeweiligen Grup pen von Kassetten 25 unter der Kontrolle der beiden Steuer einheiten nach der Umschaltung berechnet werden. Der erste Wert wird durch Dividieren der Summe der jeweiligen akkumu lierten Übertragungszeiten der betreffenden Gruppen von Kassetten 25 durch die Summe der Anzahl von Ein/Ausgabean forderungen für diese Gruppe erhalten. Der zweite Wert wird durch Dividieren der Summe der jeweiligen akkumulierten Ein/Ausgabeanforderungsausgabezeitintervalle für die jewei ligen Gruppen von Kassetten 25 durch die Summe der Anzahl von Ein/Ausgabeanforderungen für diese Gruppe erhalten. Da die jeweilige Anzahl von Kassetten, die nach der Umschaltung des Kontrollrechts zu den entsprechenden Gruppen gehören, aus der Anzahl 80 von Kassetten bekannt ist, kann die mitt lere Datenübertragungswartezeit durch Verwendung des asymp totischen Modells oder des Reparaturmodells wie oben erwähnt berechnet werden.The case where the control rights are switched over the cassettes will now be described. In general, the control rights should be switched over the cassettes 25 to completely balance the average data transmission waiting times for both control units. However, if a switchover of the control rights of n cassettes is required, the number of switchover patterns increases rapidly, so that the problem arises that the total expenditure for the precalculations becomes too great. It is therefore considered in the following example that the number of control rights to be switched is equal to one. In this case, a single cassette 25 is selected from the group of cassettes 25 under the control of a control unit which has a longer mean data waiting time. The control right over this cassette 25 is then switched. In step 103 of FIG. 1, a magnetic tape cassette is selected from a group of cassettes 25 under the control of a control unit having a larger mean data waiting time to perform a prediction calculation. In step 104 , the respective average data transmission waiting times of the groups of cassettes 25 are calculated under the control of the respective control units in the event that the control right is switched over such a cassette, and the difference between the two average waiting times is determined. Since the number of I / O requests 44 , the accumulated data transfer time 46, and the accumulated I / O generation time interval 47 for each cartridge 25 are known in advance, the average data transfer time and the average I / O generation time interval for the respective groups of cartridges 25 may be less than that Control of the two control units can be calculated after the switchover. The first value is obtained by dividing the sum of the respective accumulated transfer times of the respective groups of cassettes 25 by the sum of the number of input / output requests for that group. The second value is obtained by dividing the sum of the respective accumulated I / O request issue time intervals for the respective groups of cartridges 25 by the sum of the number of I / O requests for that group. Since the respective number of cassettes that belong to the corresponding groups after the change of control rights is known from the number 80 of cassettes, the mean data transmission waiting time can be calculated by using the asympic model or the repair model as mentioned above.
Im Schritt 105 wird geprüft, ob es Kassetten 25 gibt, bei denen eine Vorausberechnung eine größere mittlere Datenüber tragungswartezeit ergibt, wenn keine Umschaltung der Kon trollrechte erfolgt. Wenn ja, kehrt der Prozeß zum Schritt 103 zurück. Wenn für alle Kassetten 25 die Vorausberech nungen erfolgt sind, wird das Kontrollrecht für die Kassette 25, für die der Unterschied zwischen dem vorhergesagten Er gebnis der mittleren Datenübertragungswartezeit am kleinsten ist, als dasjenige Kontrollrecht ausgewählt, das im Schritt 106 umzuschalten ist. Im Schritt 107 wird die Anzahl der Ein/Ausgabeanforderungen 44, die akkumulierte Datenübertra gungszeit 45, die akkumulierte Datenübertragungswartezeit 46 und das akkumulierte Ein/Ausgabegenerationszeitintervall 47 für jede Kassette gelöscht. Danach beginnt die Umschaltung des Steuerrechtes für die ausgewählte Kassette 25. Diese Umschaltung kann wie beim oben genannten Stand der Technik ausgeführt werden. Wenn der Vorgang beendet ist, wird die Tabelle, die die Anzahl 80 der Kassetten und die Anzahl 81 der kontrollierten Kassetten anzeigt, erneuert.In step 105 , it is checked whether there are cassettes 25 in which a pre-calculation results in a longer average data transmission waiting time if the control rights are not switched. If so, the process returns to step 103 . When the predictions have been made for all of the cassettes 25 , the control right for the cassette 25 for which the difference between the predicted result of the average data transfer waiting time is smallest is selected as the control right to be switched in step 106 . At step 107 , the number of input / output requests 44 , the accumulated data transfer time 45 , the accumulated data transfer waiting time 46, and the accumulated input / output generation time interval 47 for each cartridge are cleared. Thereafter, the switching of the tax law for the selected cassette 25 begins. This switchover can be carried out as in the prior art mentioned above. When the process is finished, the table showing the number of 80 cartridges and the number of 81 cartridges checked is updated.
Die Fig. 9 ist ein Flußdiagramm für die Steuereinheit, die nicht das Kontrollrecht der umzuschaltenden Kassette 25 übernimmt. Dieser Vorgang wird ausgeführt, wenn diese Steu ereinheit eine Anforderung zum Übertragen der Daten, die zur Übernahme des Kontrollrechtes über eine umzuschaltende Kas sette 25 erforderlich sind, von der anderen Steuereinheit erhält. Im Schritt 900 sendet die erste Steuereinheit Daten über die Anzahl 80 von Kassetten, die Anzahl von Ein/Ausga beanforderungen 44, die akkumulierte Datenübertragungswarte zeit 45, die akkumulierte Datenübertragungszeit 46 und das akkumulierte Ein/Ausgabegenerationszeitintervall 47 für die Kassetten 25, die sich unter der Kontrolle dieser Steuerein heit befinden, zu der zweiten Steuereinheit, die das Kon trollrecht über die umzuschaltende Kassette 25 übernimmt. Im Schritt 901 werden die Daten über die Anzahl der Ein/Ausga beanforderungen 44, die akkumulierte Datenübertragungswarte zeit 45, die akkumulierte Datenübertragungszeit 46 und das akkumulierte Ein/Ausgabegenerationszeitintervall 47 ge löscht. Danach erfolgt eine Umschaltung der Kassette 25 entsprechend dem Ergebnis der Vorausberechnung. Wenn diese Umschaltung ausgeführt ist, werden die Werte für die Anzahl 80 an Kassetten und die Anzahl 81 der kontrollierten Kasset ten erneuert. Fig. 9 is a flowchart for the control unit which does not take control of the cassette 25 to be switched . This process is carried out when this control unit receives a request from the other control unit for the transfer of the data which are necessary for taking over control rights via a cassette 25 to be switched . In step 900 , the first control unit sends data about the number 80 of cartridges, the number of input / output requests 44 , the accumulated data transfer waiting time 45 , the accumulated data transfer time 46 and the accumulated input / output generation time interval 47 for the cartridges 25 , which are under the Control this Steuerein unit are to the second control unit, which takes over the control right over the cassette 25 to be switched . In step 901 , the data on the number of input / output requests 44 , the accumulated data transfer waiting time 45 , the accumulated data transfer time 46 and the accumulated input / output generation time interval 47 are deleted. The cassette 25 is then switched over in accordance with the result of the preliminary calculation. When this switching is carried out, the values for the number of 80 cassettes and the number 81 of the checked cassettes are renewed.
Claims (18)
- (a) des Sammelns von Ein/Ausgabeaktivitätsinformationen über die Ein/Ausgabeeinheiten;
- (b) des Vorausberechnens des Ein/Ausgabebelastungszustandes der jeweiligen Gruppen von Ein/Ausgabeeinheiten, die sich unter der Kontrolle der jeweiligen Steuereinheiten befinden werden, auf der Basis der gesammelten Ein/Aus gabeaktivitätsinformationen unter der Annahme, daß wenigstens eine Ein/Ausgabeeinheit von einer Steuerein heit zu einer anderen Steuereinheit umgeschaltet wird;
- (c) des Bestimmens eines Umschaltmusters in Übereinstimmung mit dem Ergebnis der Vorausberechnung; und
- (d) des erneuten Anordnens der jeweiligen Gruppen von Ein/ Ausgabeeinheiten, die sich unter der Kontrolle der je weiligen Steuereinheiten befinden, zwischen den Steuer einheiten entsprechend dem Umschaltmuster.
- (a) collecting I / O activity information about the I / O devices;
- (b) predicting the input / output load status of the respective groups of input / output units that will be under the control of the respective control units based on the collected input / output activity information assuming that at least one input / output unit is from a control unit is switched to another control unit;
- (c) determining a switching pattern in accordance with the result of the prediction; and
- (d) the rearrangement of the respective groups of input / output units, which are under the control of the respective control units, between the control units according to the switching pattern.
- (a) des Sammelns von Ein/Ausgabeaktivitätsinformationen über die Ein/Ausgabeeinheiten;
- (b) des Vorausberechnens des Ein/Ausgabebelastungszustandes der jeweiligen Gruppen von Ein/Ausgabeeinheiten, die sich unter der Kontrolle der jeweiligen Steuereinheiten befinden werden, auf der Basis der gesammelten Ein/Aus gabeaktivitätsinformationen unter der Annahme, daß eine Ein/Ausgabeeinheit von einer Steuereinheit zu einer anderen Steuereinheit umgeschaltet wird;
- (c) der Auswahl einer in jedem Steuerzyklus umzuschaltenden Ein/Ausgabeeinheit in Übereinstimmung mit dem Ergebnis der Vorausberechnung und des Bestimmens eines Umschalt musters; und
- (d) des erneuten Anordnens der jeweiligen Gruppen von Ein/ Ausgabeeinheiten, die sich unter der Kontrolle der je weiligen Steuereinheiten befinden, zwischen den Steuer einheiten entsprechend dem Umschaltmuster.
- (a) collecting I / O activity information about the I / O devices;
- (b) predicting the input / output load state of the respective groups of input / output units that will be under the control of the respective control units based on the collected input / output activity information assuming that an input / output unit is from a control unit another control unit is switched;
- (c) selecting an input / output unit to be switched in each control cycle in accordance with the result of the prediction and the determination of a switching pattern; and
- (d) the rearrangement of the respective groups of input / output units, which are under the control of the respective control units, between the control units according to the switching pattern.
- - des Steuerns der Anzahl von Steuereinheiten derart, daß die Anzahl von Magnetbandeinheiten sich jeweils unter der Kontrolle einer Steuereinheit befinden und Datenübertra gungen mit dieser einen Steuereinheit ausführen;
- - des Vorausberechnens der Ein/Ausgabebelastungszustände von Gruppen der Ein/Ausgabeeinheiten unter der Kontrolle der jeweiligen Steuereinheiten unter Verwendung eines analyti schen Modells unter der Annahme, daß geeignete Ein/Ausga beeinheiten zu anderen Steuereinheiten umgeschaltet wer den, um die Ein/Ausgabebelastungen der jeweiligen Steuer einheiten auszugleichen; und
- - des Auswählens einer Magnetbandeinheit entsprechend einem Umschaltmuster, das ein vorausbestimmtes Ergebnis anzeigt, bei dem ein optimaler Ausgleich der Ein/Ausgabebelastungen erreicht wird, durch Sammeln von Informationen für die Vorausberechnung.
- - The control of the number of control units such that the number of magnetic tape units are each under the control of a control unit and data transmissions with this control unit;
- - Predicting the input / output load states of groups of the input / output units under the control of the respective control units using an analytical model, assuming that suitable input / output units are switched to other control units, to the input / output loads of the respective tax equalize units; and
- - The selection of a magnetic tape unit according to a switching pattern, which indicates a predetermined result in which an optimal compensation of the input / output loads is achieved, by collecting information for the pre-calculation.
- (a) eine Einrichtung (310, 311, 313, 314) zum Sammeln von Ein/Ausgabeaktivitätsinformationen über die Ein/Aus gabeeinheiten;
- (b) eine Einrichtung (315, 316) zum Vorausberechnen des Ein/Ausgabebelastungszustandes der jeweiligen Gruppen von Ein/Ausgabeeinheiten, die sich unter der Kontrolle der jeweiligen Steuereinheiten befinden werden, auf der Basis der gesammelten Ein/Ausgabeaktivitätsinformationen unter der Annahme, daß wenigstens eine Ein/Ausgabeein heit von einer Steuereinheit zu einer anderen Steuer einheit umgeschaltet wird;
- (c) eine Einrichtung (308, 309) zum Bestimmen eines Um schaltmusters in Übereinstimmung mit dem Ergebnis der Vorausberechnung; und
- (d) eine Einrichtung (310, 311) zum erneuten Anordnen der jeweiligen Gruppen von Ein/Ausgabeeinheiten, die sich unter der Kontrolle der jeweiligen Steuereinheiten be finden, zwischen den Steuereinheiten entsprechend dem Umschaltmuster, so daß die Belastungen von Datenübertra gungswegen zwischen den Steuereinheiten ausgeglichen sind.
- (a) means ( 310 , 311 , 313 , 314 ) for collecting input / output activity information about the input / output units;
- (b) means ( 315 , 316 ) for predicting the I / O load state of the respective groups of I / O units that will be under the control of the respective control units based on the collected I / O activity information assuming that at least one Input / output unit is switched from one control unit to another control unit;
- (c) means ( 308 , 309 ) for determining a switching pattern in accordance with the result of the prediction; and
- (d) means ( 310 , 311 ) for rearranging the respective groups of input / output units, which are under the control of the respective control units, between the control units according to the switching pattern, so that the loads on data transmission paths between the control units are balanced are.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63053527A JPH01229351A (en) | 1988-03-09 | 1988-03-09 | Load balance control method |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3907662A1 true DE3907662A1 (en) | 1989-09-28 |
Family
ID=12945282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3907662A Ceased DE3907662A1 (en) | 1988-03-09 | 1989-03-09 | Method and device to balance the load on data transmission paths |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH01229351A (en) |
DE (1) | DE3907662A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4403286A (en) * | 1981-03-06 | 1983-09-06 | International Business Machines Corporation | Balancing data-processing work loads |
US4697232A (en) * | 1984-11-30 | 1987-09-29 | Storage Technology Corporation | I/O device reconnection in a multiple-CPU, dynamic path allocation environment |
GB2192078A (en) * | 1986-06-30 | 1987-12-31 | Hitachi Ltd | Scheduling method for input/output units |
-
1988
- 1988-03-09 JP JP63053527A patent/JPH01229351A/en active Pending
-
1989
- 1989-03-09 DE DE3907662A patent/DE3907662A1/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4403286A (en) * | 1981-03-06 | 1983-09-06 | International Business Machines Corporation | Balancing data-processing work loads |
US4697232A (en) * | 1984-11-30 | 1987-09-29 | Storage Technology Corporation | I/O device reconnection in a multiple-CPU, dynamic path allocation environment |
GB2192078A (en) * | 1986-06-30 | 1987-12-31 | Hitachi Ltd | Scheduling method for input/output units |
Also Published As
Publication number | Publication date |
---|---|
JPH01229351A (en) | 1989-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69322985T2 (en) | Input / output control system and input / output control method in the system | |
DE68924954T2 (en) | Transmission system for distributed databases. | |
DE69825355T2 (en) | ATM cell allocation method | |
DE69716565T2 (en) | Storage system with the ability to move data | |
DE69423834T2 (en) | PRODUCTION CONTROL SYSTEM THAT CHOOSES AN OPTIMUM ALLOCATION RULE | |
DE69417874T2 (en) | PROCESS ASSIGNMENT BETWEEN TWO ARMS USED ON THE SAME MAGNETIC DISK ON A SINGLE DISK DRIVE | |
DE69523386T2 (en) | Buffering for load balancing in on-demand video servers | |
DE69619213T2 (en) | System and method for load balancing a file server | |
DE3300263C2 (en) | ||
DE3200761C2 (en) | ||
DE3300260C2 (en) | ||
DE69327892T2 (en) | Method and system for searching data in a data processing system | |
DE69114763T2 (en) | Distributed database system. | |
DE69724846T2 (en) | Multi-way I / O storage systems with multi-way I / O request mechanism | |
DE2912738A1 (en) | SYSTEM WITH DIRECT TRANSFER BETWEEN SUBSYSTEMS | |
DE2917441A1 (en) | MULTIPROCESSOR SYSTEM | |
DE19607531A1 (en) | Multi-cluster computer system | |
DE3642324A1 (en) | MULTIPROCESSOR SYSTEM WITH PROCESSOR ACCESS CONTROL | |
DE69130935T2 (en) | Information service system and procedure for responding to an inquiry | |
DE112010003594T5 (en) | Dynamic resource allocation for distributed group storage networks | |
DE68920028T2 (en) | Method and device for multiple access with cyclical reservation in a communication system. | |
DE10234138A1 (en) | Manage storage competition in automated storage systems | |
EP0141247B1 (en) | Multiprocessor controller, especially a multiprocessor control unit of a telephone switching unit | |
DE3907662A1 (en) | Method and device to balance the load on data transmission paths | |
DE19901792C2 (en) | Data processing device and data processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE |
|
8131 | Rejection |