DE69031862T2 - Verfahren zum Lastausgleich für Kanälen und Verwendung desselben in einem Datenverarbeitungssystem - Google Patents

Verfahren zum Lastausgleich für Kanälen und Verwendung desselben in einem Datenverarbeitungssystem

Info

Publication number
DE69031862T2
DE69031862T2 DE69031862T DE69031862T DE69031862T2 DE 69031862 T2 DE69031862 T2 DE 69031862T2 DE 69031862 T DE69031862 T DE 69031862T DE 69031862 T DE69031862 T DE 69031862T DE 69031862 T2 DE69031862 T2 DE 69031862T2
Authority
DE
Germany
Prior art keywords
load
data
channels
volume
volumes
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.)
Expired - Lifetime
Application number
DE69031862T
Other languages
English (en)
Other versions
DE69031862D1 (de
Inventor
Gregory Edward Mcbride
Jerry Wayne Pence
Hise David Gregory Van
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69031862D1 publication Critical patent/DE69031862D1/de
Publication of DE69031862T2 publication Critical patent/DE69031862T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

    TECHNISCHER BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Lastausgleich für Kanäle und die Verwendung desselben in einem Datenverarbeitungssystem und insbesondere auf den Lastausgleich für Kanäle während langer Durchläufe.
  • HINTERGRUND DER ERFINDUNG
  • Moderne Computer brauchen einen Wirtsrechner, der eine oder mehrere zentrale Verarbeitungseinheiten und eine Speichereinrichtung enthält. Der Prozessor verarbeitet im Speicher gespeicherte Daten gemäß den Befehlen, die er erhält. Der Speicher muß deshalb in der Lage sein, die von dem Prozessor benötigten Daten zu speichern, und die Daten mit einer Geschwindigkeit an den Prozessor zu übertragen, der den Gesamtbetrieb des Computer ermöglicht. Kosten und Leistung des Computerspeichers ist somit für den kaufmännischen Erfolg eines Computersystems entscheidend.
  • Da die Computer heute eine große Speicherkapazität benötigen, ist der Computerspeicher in vielen Formen erhältlich. Eine schnelle aber teuere Form des Speichers ist der Hauptspeicher, der normalerweise Mikrochips enthält. Andere lieferbare Speicherausführungen sind als periphere Speicher bekannt und enthalten magnetische Direktzugriffsspeicher (DASD), Magnetbandspeicher, optische Aufzeichnungsgeräte und magnetische oder optische Massenspeicherbibliotheken. Jeder dieser Speicher hat eine größere Speicherdichte und ist somit kostengünstiger als der Hauptspeicher. Diese anderen Speicher bringen jedoch nicht die Leistung, die vom Hauptspeicher bereitgestellt wird. Die Zeit, die beispielsweise erforderlich ist, um das Band oder die Platte richtig unter der Lese-/Schreibvorrichtung des Geräts zu positionieren, kann nicht mit der schnellen, rein elektronischen Datenübertragungsgeschwindigkeit des Hauptrechners verglichen werden. Es ist nicht effizient, alle Daten in einem Computersystem in einer einzelnen Speicherausführung zu speichern. Alle Daten im Hauptspeicher zu speichern, ist zu kostspielig, und alle Daten in einem peripheren Speicher zu speichern, reduziert die Leistung.
  • Ein normales Computersystem enthält sowohl den Hauptspeicher als auch eine oder mehrere periphere Speicher, die in einer Datenspeicherhierarchie angeordnet sind. Die Datenspeicherhierarchie ist auf die Leistung und die Kostenanforderungen des Benutzers zugeschnitten. In einer solchen Hierarchie wird der Speicher oft als sekundärer Datenspeicher usw. bezeichnet. Im allgemeinen hat die höchste Hierarchieebene die niedrigste Speicherdichte, die höchste Leistung und die höchsten Kosten. Geht man in der Hierarchie nach unten, steigt die Speicherdichte im allgemeinen an, Leistung und Kosten werden im allgemeinen gesenkt. Durch das Übertragen von Daten zwischen den verschiedenen Hierarchieebenen werden die Speicherkosten reduziert und die Leistung erhöht. Die Daten werden im Hauptspeicher nur so lange gespeichert, wie der Prozessor diese voraussichtlich benötigt. Die Hierarchie kann verschiedene Formen haben, einschließlich einer Anzahl von Datenspeichern oder Speicherebenen und in der Lage sein, Daten direkt zwischen zwei deutlichen Speicherebenen zu übertragen. Für die Übertragung können E/A-Kanäle, Steuereinheiten oder Cachespeicher, die im Stand der Technik bekannt sind, benutzt werden.
  • In einem typischen Computer, der den Hauptspeicher als primären Datenspeicher und die peripheren Speicher als sekundäre Speicher benutzt, kann der Prozessor nur auf Daten zur Ausführung der Befehle zugreifen, wenn die Daten im Hauptspeicher gespeichert sind. Wenn der Prozessor für die Arbeit, die er durchführen muß, auf Daten zurückgreifen muß, die nicht im Hauptspeicher enthalten sind, wird der Prozessor Daten aus dem peripheren Speicher in den Hauptspeicher abrufen oder befördern. Ein Prozessor kann Daten einfach abrufen, um auf diese Daten zuzugreifen oder um diese zu ändern, oder aus anderen Gründen, z.B. zur Datenspeicherverwaltung. Beispiele zur Datenspeicherverwaltung enthalten die Datenwanderung auf eine niedrigere Ebene der Datenspeicherhierarchie und das Kopieren eines Datensatzes, um eine "Backup"-Kopie des Datensatzes zu erstellen. Der Zugriff auf die Daten erfolgt, indem ein Kanal oder mehrere Kanäle, die zwischen dem Prozessor und dem peripheren Speicher angeschlossen sind, benutzt werden.
  • Im allgemeinen ist es wünschenswert, die Last von Datenübertragungen auf die Kanäle (Verteilung wird hier nachstehend "Ausgleich" genannt) zu verteilen, um effiziente Operationen durchzuführen. So wäre es beispielsweise nicht effizient, die vorerwähnten Datenübertragungen mit einer Vielzahl von verfügbaren Kanälen durchzuführen. Der eine benutzte Kanal würde übertrieben überlastet, während die restlichen freien Kanäle vergeudet würden. Außerdem könnte eine Fehlfunktion des benutzten Kanals in einer signifikanten Verzögerung bei der Verarbeitung liegen. Indem die Last auf die Kanäle verteilt wird, wird die Verarbeitung mit weniger Last pro Kanal durchgeführt, und der Umfang der Fehlfunktion eines Kanals wird reduziert.
  • Verschiedene Techniken sind bekannt, um die Benutzung von Ressourcen in Datenverarbeitungssystem auszugleichen. Dieser Ausgleich unter Ressourcen wird gewöhnlich in einer zeitzuordnung durchgeführt. Das heißt, bevor eine Verarbeitung erfolgt, bestimmt ein Steuermechanismus, welche der Ressourcen die Aufgabe bearbeiten sollte. Beispiele von dem Aufgabenzuordnungsausgleich sind im IBM Technical Disclosure Bulletin, Vol 20, No. 3, August, 1977, pp. 937-38, im IBM Technical Disclosure Bulletin, Vol 14, No. 11, April, 1972, pp. 3458-3459, in der US Patentschrift Nr. 3,648,253 und der US Patentschrift Nr. 4,032,899 enthalten.
  • Der Lastausgleich kann durch die Überwachung der Aktivität der Systemressourcen verbessert werden. Die Überwachung der Ressourcen erlaubt dem System, nacheinander die Benutzung von solchen Ressourcen neu zuzuordnen. Normalerweise wird die Ressourcenaktivität über einen Zeitraum überwacht, um zu bestimmen, welche Ressourcen zu viel und welche zu wenig benutzt werden. Der Lastausgleich wird während der nachfolgenden Aufgabenzuordnung durchgeführt. Ein Beispiel für diese Überwachung ist im IBM Technical Disclosure Bulletin, Vol 24, No. 18, June, 1981, pp. 707-09 und in der US Patentschrift Nr. 3,588,837 enthalten.
  • Es wird nicht der gesamte Lastausgleich in der Aufgabenzuordnungszeit durchgeführt. Durch Überwachung der Ressourcen nach der Aufgabenzuordnung, wie diese zuvor beschrieben wurde, wird der dynamische Lastausgleich durchgeführt. Die Aufgaben, welche die "Übernutzung" einer bestimmten Ressource verursachen, sind nicht fortlaufend oder wurden anderen Ressourcen neu zugeordnet. Ein Beispiel für diesen Lastausgleich ist im IBM Technical Disclosure Bulletin, Vol 24, No 3, August 1981, page 1411 enthalten. Die US Patentschrift Nr. 4,633,387 beschreibt ein System, in dem Ressourcen sich selbst überwachen. Eine kleine, beschäftigte Quelle fordert von einer Ressource, die noch beschäftigter ist, Arbeit an, wenn ihre Arbeit unter einen Schwellwert fällt. Die beschäftigtere Ressource versorgt dann die anfordernde Einheit mit Arbeit, um die jeweiligen Lasten auszugleichen.
  • Die vorerwähnten Verfahren des Lastausgleichs führen dies nicht über eine verlängerte Dauer aus. Dies ist das Ergebnis eines Fehlers, die Dauer einer zugehörigen Last bei der Zuordnung einer Aufgabe oder eines Fehlers zu berücksichtigen, um die Lastdauer während der Überwachung der Ressourcen vorauszusehen.
  • Es gibt einen kleinen Vorteil, wenn eine Aufgabe einer Ressource mit geringer Aktivität zugeordnet wird und von kurzer Dauer ist. Während der Verarbeitung einer solchen Aufgabe können sonst andere Aufgaben von längerer Dauer (ohne die zugeordnete Aufgabe von kurzer Dauer) aktiveren Ressourcen zugeordnet werden, was in einem kurzfristigen Lastausgleich und einem langfristigen Ungleichgewicht resultiert. Ebenso sollte die erwartete Dauer von verschiedenen Ressourcenaktivitäten überwacht werden und nicht nur deren Spitzen- oder Durchschnittslast.
  • Die vorerwähnten Verfahren berücksichtigen auch nicht bestimmte Situationen, die aktuell einen Grad an Lastungleichgewicht erfordern. Ressourcen, die mit Einheiten verbunden sind, die zur Durchführung einer Verarbeitung eine Vorliebe für einen bestimmten Host haben, sollten vorzugsweise zur Verarbeitung in diesem Host ausgewählt werden, und nicht Ressourcen, die von jedem Host verarbeitet werden können. Wenn die Verfügbarkeit von Ressourcen in einem Bereich auch von ihrem Mangel an Benutzung abhängt, kann es wünschenswert sein, diese Ressourcen zuzuordnen, um diesen Mangel an Benutzung beizubehalten. Schließlich sollte der Lastausgleich vorzugsweise bei Systemanschlüssen berücksichtigt werden, um die maximale Verfügbarkeit von Ressourcen, die mit den meisten Systemeinheiten verbunden sind, beizubehalten.
  • BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung versucht, ein verbessertes Verfahren zum Ausgleich von Lasten in Ressourcen in Datenverarbeitungssystemen bereitzustellen. In einem Aspekt der Erfindung wird deshalb ein Verfahren zum Lastausgleich für I/O-Kanäle während eines Anwendungsprozesses in einem Datenverarbeitungssystem bereitgestellt, in dem relativ kurze und relativ lange Betriebsanwendungen verarbeitet werden, wobei das Datenverarbeitungssystem zu denen gehört, die eine Vielzahl von Kanälen enthalten, die zwischen mindestens einem Wirtsrechner und einer Vielzahl von Datenspeicherträgern angeschlossen sind, wobei das Verfahren Schritte enthält, um die Last in jedem Kanal aufzuzeichnen, die nur aus relativ langen Betriebsanwendungen resultiert; für jeden nicht-ausgewählten Datenträger, der als der nächste zu verarbeitende Datenträger zur Auswahl in Betracht gezogen wurde, die Last in den Kanälen zwischen dem Wirtsrechner und dem Datenträger zu berechnen, die nur aus relativ langen Betriebsanwendungen resultiert; und als nächsten Datenträger, der verarbeitet werden soll, den Datenträger unter den für die Auswahl in Betracht gezogenen auszuwählen, der die niedrigste, berechnete Last auf seinen jeweiligen, angeschlossenen Kanälen hat.
  • Es wird bevorzugt, daß der Schritt zur Berechnung der Last das Wichten nach den verschiedenen Lastgrößen enthält, die aus den verschiedenen Anwendungen resultieren.
  • Es ist ein weiterer Vorzug, daß die Erfindung Mittel und Verfahren zum Ausgleich der Lasten in Kanälen bereitstellt, die auch die Vorliebe von Datenträgern berücksichtigen, die über diese Kanäle mit bestimmten Hosts verbunden sind.
  • Es wird außerdem bevorzugt, daß das Verfahren und die Mittel zum Lastausgleich der vorliegenden Erfindung die Notwendigkeit berücksichtigen, die Verfügbarkeit von bestimmten Kanälen für die Verarbeitung erhalten.
  • Es ist ein weiterer, zu der Erfindung gehörenden Aspekt, daß ein Datenverarbeitungssystem bereitgestellt wird, das eine Vielzahl von Kanälen enthält, die zwischen mindestens einem Wirtsrechner und einer Vielzahl von Datenspeicherträgern angeschlossen sind, wobei das Datenverarbeitungssystem Mittel enthält, um die Lasten in den Kanälen während der Betriebsanwendung auszugleichen, wobei die Lastausgleichsmittel Mittel enthalten, um die Last in jedem Kanal aufzuzeichnen, die nur aus relativ langen Betriebsanwendungen resultiert; Mittel, um die Last in den jeweiligen, angeschlossenen Kanälen zu berechnen, die nur aus relativ langen Betriebsanwendungen für jeden nichtausgewählten Datenträger resultiert, der zur Auswahl als der nächste Datenträger in Betracht gezogen wurde, der zu verarbeiten sein würde, wobei die Mittel zum Berechnen mit den Mitteln zum Aufzeichnen verknüpft sind; und Mittel, um als nächsten Datenträger, der verarbeitet werden soll, den Datenträger unter den für die Auswahl in Betracht gezogenen auszuwählen, der die niedrigste, berechnete Last in seinen jeweiligen angeschlossenen Kanälen hat, wobei die Mittel zum Auswählen mit den Mitteln zum Berechnen verknüpft sind.
  • In einem bevorzugten Ausführungsbeispiel der Erfindung wird nur die Last, die zu relativ langen Anwendungen gehört, überwacht. Für jeden Datentrager mit Daten, die zur Verarbeitung geeignet sind, wird die Auswahl der Datenträger zuerst unter denen getroffen, die von dem anfordernden Host bevorzugt werden. Für diese Datenträger wird eine repräsentative Durchschnittslast über die jeweils angeschlossenen Kanäle berechnet. Die Berechnung wird gewichtet, um die verschiedenen Größen der Last zu berücksichtigen, die aus den verschiedenen Anwendungen resultieren, und um die Auswahl von Datenträgern zu bevorzugen, die mit den am wenigsten nicht benutzten Kanälen verbunden sind, so daß die aktuelle Verarbeitung des ausgewählten Datenträgers die maximale Anzahl von nicht benutzten Kanälen beibehalten wird. Der optimale Datenträger wird als Datenträger ausgewählt, der als nächster verarbeitet werden wird. Wenn zwei oder mehr Datenträger gleichermaßen bevorzugt werden, wird der Datenträger, der mit der Anzahl von Kanälen verbunden ist, die am wenigsten nicht benutzt werden, ausgewählt. Die überwachte Last wird dann in jedem Kanal aktualisiert, um die Last aufzunehmen, die mit zu dem neu ausgewählten Datenträger gehört, wobei angenommen wird, daß die Last, die zur Verarbeitung des Datenträgers gehört, gleichmäßig über die jeweils angeschlossenen Kanäle verteilt wird. Die Auswahl des folgenden Datenträgers basiert dann auf der aktualisierten Lastinformation, und das Verfahren fährt zyklisch mit der nachfolgenden Auswahl der restlichen Datenträger fort, die zur Verarbeitung vorgesehen sind.
  • Ein bevorzugtes Ausführungsbeispiel der Erfindung wird nun anhand von nur einem Beispiel mit Bezug auf die beiliegenden Zeichnungen beschrieben.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Figur 1 zeigt ein allgemeines Schema einer Datenspeicherhierarchie, in der die Erfindung benutzt werden kann.
  • Figur 2 zeigt ein Schema mit relevanten Teilen einer Datenspeicherhierarchie (Muster).
  • Die Figuren 3 bis 7 bilden zusammen ein Flußdiagramm der Erfindung.
  • Figur 8 zeigt ein spezifischeres Ausführungsbeispiel von der in Figur 3 dargestellten Logik.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Es wird nun insbesondere Bezug auf die Zeichnungen genommen, und die Erfindung wird praktisch in einer aus mehreren Wirtsrechner bestehenden Datenverarbeitungsumgebung beschrieben, die eine Vielzahl von peripheren Datenspeichern in unterschiedlichen Ausführungen und Leistungen hat. Es sollte klar sein, daß die Erfindung auch in einer Umgebung mit nur einem einzelnen Wirtsrechner praktisch eingesetzt werden kann, die eine kleinere Anzahl von peripheren Datenspeichern hat oder mit einer Vielzahl von verschiedenen Systemstrukturen.
  • Es wird Bezug auf Figur 1 genommen und eine Datenspeicherhierarchie in einer Umgebung mit mehreren Wirtsrechnern beschrieben. Das System enthält zwei oder mehr Wirtsrechner, einen Wirtsrechner 10 und einen Wirtsrechner 11, die in der Figur abgebildet sind, wobei jeder Wirtsrechner die üblichen Bauteile eines Wirtsrechners enthält, wie z.B. die arithmetisch-logische Einheit, den Hauptspeicher und Ein-/Ausgangskanäle (sind in Figur 1 nicht gekennzeichnet). Jeder Wirtsrechner kann entweder ein Uni-Prozessor oder ein Multi-Prozessor sein. Die Wirtsrechner benutzen verschiedene Betriebssysteme, die nicht zum Verständnis der vorliegenden Erfindung gehören. Es kann beispielsweise in der Datenspeicherhierarchie ein Wirtsrechner benutzt werden, wie der Großrechner IBM 3090. In jedem Wirtsrechner ist ein Computerprogramm, mit dem die vorliegende Erfindung ausgeführt werden kann, wie dies ausführlich beschrieben werden wird.
  • Die Wirtsrechner 10 und 11 werden mit einem gemeinsamen DASD 12 verbunden. Der gemeinsame DASD (Direktzugriffsspeicher) 12 besteht aus einem hochleistungsfähigen Plattenspeicher. In dem gemeinsamen DASD 12 werden solche Steuerdatenstrukturen (ohne Abbildung) gespeichert, die für Koordinationsoperationen der Wirtsrechner 10 und 11 bei Ausführung eines Datenspeicher-Verwaltungsprogramms wünschenswert sind. Ein hochleistungsfähiger DASD 14, der mit L0 DASD gekennzeichnet ist, speichert die Datensätze, auf die direkt von den Wirtsrechnern 10 und 11 zugegriffen wird und empfängt Datensätze zur Speicherung, die von den Wirtsrechnern 10 und 11 generiert wurden. Ein DASD 15 mit niedrigerer Leistung, der mit L1 DASD gekennzeichnet ist, speichert solche Datensätze, auf die von den Wirtsrechnern 10 und 11 weniger häufig als auf die zugegriffen wird, die im hochleistungsfähigen DASD 14 gespeichert sind. Wenn die Datensätze, die im DASD 14 gespeichert sind, durch Nichtzugriff durch die Wirtsrechner 10 und 11 veralten, verschiebt das Datenspeicher- Verwaltungsprogramm automatisch die Datensätze aus dem DASD 14 in den DASD 15, so daß der Zugriff auf die Datensätze durch die Wirtsrechner 10 und 11 verbessert wird, indem nur die Datensätze behalten werden, auf die häufig von den Wirtsrechnern in DASD 14 zugegriffen wird. DASD 14 und DASD 15 stellen die ersten beiden Ebenen der Datenspeicherhierarchie dar, die von dem Datenspeicher-Verwaltungsprogramm erstellt wurde. Ein Beispiel eines DASDS, der in der abgebildeten Datenspeicherhierarchie benutzt werden kann, ist der IBM 3380 DASD. Jeder DASD ist dazu bestimmt, einen Datenträger zu speichern.
  • Eine noch niedrigere Ebene in der Datenspeicherhierarchie wird durch ein Massenspeichersystem (MSS) 16 dargestellt, das mit MSS gekennzeichnet ist, und einer Bandstation 17, TAPE genannt. MSS 15 und die DASDs 12, 14 und 15 sorgen für automatischen Zugriff auf alle dort gespeicherten Datensätze. Das MSS 16 enthält ein oder mehrere Mittel, um aus Aufzeichnungsmedien zu lesen und auf diese zu schreiben sowie automatisierte Mittel, um diese Medien zwischen Speicherzellen, die sich im MSS 16 befinden und den Mitteln zum Lesen und schreiben, zu übertragen. Die Aufzeichnungsmedien können Magnetbänder, Magnet- oder Bildplatten sein, und die Mittel zum Lesen und Schreiben können je nachdem Bandstationen oder Magnetplatten- oder Bildplattenlaufwerke sein. Das MSS 16 kann auch Mittel enthalten, um dort Aufzeichnungsmedien einzusetzen oder daraus zu entfernen. Ein Beispiel für ein MSS, das in der abgebildeten Datenspeicherhierarchie benutzt werden kann, ist das IBM 3850 MSS. Die Bandstation 17 wird zur Archivierung oder zur langfristigen Datenspeicherung, zum Backup u.ä. benutzt, Vorgänge, auf die wahrscheinlich nicht zugegriffen werden kann, und normalerweise der Bediener eingreifen muß, um Bänder ein- und auszubauen. Ein Beispiel für eine Bandstation, die in der dargestellten Datenspeicherhierarchie benutzt werden kann, ist eine Magnetplatte IBM 3480. Der Systemoperator und die Systemkonsole sind in Figur 1 aus Gründen der Vereinfachung nicht abgebildet.
  • In der abgebildeten Datenspeicherhierarchie stellen die gepunkteten und gestrichelten Linien die Möglichkeit von zusätzlichen Systemkomponenten dar. In jeder Hierarchieebene könnten mehrere Wirtsrechner in Folge (siehe Abbildung) mit mehreren Speichern verbunden werden. Die Fähigkeit, zusätzliche Systemkomponenten einzusetzen, wird nur durch die Vernetzung von jeder Komponente begrenzt. Aus Gründen der Vereinfachung wurden Komponenten zwischen den Ebenen der Datenspeicherhierarchie, z.B. Kanäle und Steuereinheiten, nicht in Figur 1 abgebildet.
  • Es wird nun Bezug auf Figur 2 genommen, die eine Musterkonfiguration einer Datenspeicherhierarchie, in der die Erfindung benutzt werden kann, beschreibt. Die Wirtsrechner 21 und 22 sind mit den DASDS 51-53 verbunden. Wie bei Figur 1 entsprechen die DASDS 51-53 jeweils einem anderen L0 DASD 14. Die Wirtsrechner 21 und 22 sind über die Kanäle 41-43 mit den DASDS 51-53 verbunden. Der Kanal 41 verbindet den Wirtsrechner 21 mit dem DASD 51 und dem DASD 52. Der Kanal 43 verbindet den Wirtsrechner 22 mit dem DASD 52 und dem DASD 53. Jede dieser Verbindungen ist im Stand der Technik bekannt, wie diese zum Beispiel in der IBM Großrechnerumgebung praktisch umgesetzt wird. Jeder der DASDs 51-53 enthält einen Datenträger, der nachstehend als Datenträger 51-53 bezeichnet wird.
  • Das bevorzugte Ausführungsbeispiel der Erfindung ist im Data Facility Hierarchical Storage Manager (DFHSM) enthalten, einer Dateneinrichtung zur Speicherverwaltung in der Multiple Virtual Storage (MVS) Operating System Environment. Eine allgemeine Beschreibung des DFHSMs ist in den US Patentschriften 4,771,375 und 4,638,424; im IBM Manual SH35-0085-3, DATA FACILITY HIERARCHICAL STORAGE MANAGER VERSION 2 RELEASE 4.0, "System Programmer's Guide"; IBM Manual SH35-0083-3, DATA FACILITY HIERARACHICAL STORAGE MANAGER VERSION 2 RELEASE 4.0, "System Programmer's Command Reference"; und im IBM Manual LY35-0098-1, DATA FACILITY HIERARCHICAL STORAGE MANAGER VERSION 2 RELEASE 4.0, "Diagnosis Guide"; und im IBM Manual SH35-009-3, DATA FACILITY HIERARCHICAL STORAGE MANAGER VERSION 2 RELEASE 4.0, "User's Guide" enthalten. Der DFHSM ist Teil des Data Facility System Managed Storage (DFSMS), der andere Einrichtungen enthält, die mit dem DFHSM zusammenarbeiten oder unabhangig von diesem arbeiten, beispielsweise das Storage Management Subsystem (SMS) und die Data Facility Data Set Services (DFDSS), die im IBM Manual SC26-4388-00, DATA FACILITY DATA SET SERVICES, "User's Guide" VERSION 2 RELEASE 4 und dem IBM Manual LY27-9538- 01, DATA FACILITY DATA SET SERVICES, "Diagnosis Guide" VERSION 2 RELEASE 4 beschrieben sind.
  • Ohne den DFSMS ist die Verwaltung von Daten eher manuell orientiert. Die Verwaltungskriterien werden zum Zeitpunkt der Datenträgeridentifikation oder -definition im DFHSM (ADDVOL) ausgewählt. Mit dem DFSMS werden die Kriterien einmal spezifiziert (wenn sie nicht zu einem späteren Zeitpunkt geändert werden) und auf alle SMS Daten angelegt. Selbst dort, wo SMS benutzt wird, können die Daten durch SMS verwaltet werden oder nicht. Der DFDSS kann vom DFHSM zum Verschieben dieser Daten benutzt werden oder nicht. Bei jeder Datenart wird der DFHSM benutzt, um die Daten (d.h. bei SMS Daten kann sich der DFHSM dem DFDSS beim aktuellen Verschieben der Daten beugen) zu verwalten.
  • Die Speicherverwaltung durch DFHSM enthält Anwendungen (oder Funktionen) zur Speicherplatzverwaltung in einem Datenverarbeitungssystem und zur Verfügbarkeitsverwaltung. Anwendungen zur Speicherplatzverwaltung enthalten die Datensatzwanderung und den Abruf. Die Datensatzwanderung (die in einem oder mehreren Intervallen, z.B. stündlich und täglich durchgeführt werden kann) ist die Bewegung eines Datensatzes in einer relativ niedrigeren Ebene der Datenspeicherhierarchie; Abruf ist die Verschiebung eines Datensatzes in einer relativ höheren Ebene der Datenspeicherhierarchie. Die Speicherplatzverwaltung wird benutzt, um Datensätze in einer Ebene der Datenspeicherhierarchie zu halten, die ihrer Zugriffshäufigkeit entspricht. Anwendungen zur Verfügbarkeitsverwaltung enthalten die fortlaufende Sicherung, die komplette Ausgabe des Datenträgerinhalts und die Wiederherstellung. Die fortlaufende Sicherung ist das Kopieren von kürzlich geänderten Datensätzen in eine relativ niedrigere Ebene der Datenspeicherhierarchie; die komplette Ausgabe des Inhalts des Datenträgers ist ähnlich der fortlaufenden Sicherung, bezieht sich jedoch auf komplette Datenträger und Daten und wird nur durch den DFDSS verschoben. Die Wiederherstellung beinhaltet das Kopieren einer Backup-Version oder Dump-Kopie eines Datensatzes oder eines Datenträgers in eine relativ höhere Ebene der Datenspeicherhierarchie. Backup und Dump dienen dazu, die Verfügbarkeit von besonders wichtigen Daten sicherzustellen, die Wiederherstellung wird benutzt, wenn die primäre Kopie der Daten nicht zur Verfügung steht. Jede der Anwendungen wird gemäß den zuvor bestimmten Kriterien oder den vom Benutzer angegebenen Kriterien durchgeführt, was im Stand der Stand der Technik bekannt ist. So können zum Beispiel alle Datensätze über eine bestimmte Zeit nachdem diese zuletzt im DASD 14 aufgerufen wurden, wandern.
  • Der DFHSM funktioniert normalerweise zu Zeiten von niedriger Systemaktivität, um so die Interferenz zu der anderen Verarbeitung zu minimieren, verbraucht jedoch eine große Menge Ressourcen und läuft in Wirklichkeit sehr lange. So sind zum Beispiel Anwendungen wie Wanderung, fortlaufende Sicherung und die vollständige Ausgabe eines Datenträgers Anwendungen, die sehr lange laufen, normalerweise zwischen 6 und 30 Minuten, um jeden Datenträger abzuschließen. Diese Anwendungen laufen aufgrund der Zeit, die zur Identifikation erforderlich ist, sehr lange und wirken dann nur auf bestimmte Datensätze ein und aufgrund der potentiell massiven Menge an Daten in einem Datenträger, bei dem die komplette Ausgabe von Daten erfolgt. Abruf und Wiederherstellung sind relativ kurz laufende Anwendungen, die normalerweise nur 4-15 Sekunden benötigen, da die Identifikation von Daten bereits erfolgt ist, und nur ein Datensatz verarbeitet wird. Jede Anwendung wird in einer oder in mehreren Aufgaben durchgeführt. Eine Aufgabe ist der Betrieb einer Anwendung in einem spezifischen Datenträger. Eine einzelne Aufgabe wäre z.B. die Identifikation und das aktuelle Verschieben von allen Datensätzen, für die eine Wanderung in einem einzelnen Datenträger erforderlich ist. Ein Datenträger kann über Multitask-Betrieb verarbeitet werden, wie dieser im Stand der Technik bekannt ist. Während die Datenträger identifiziert werden, werden sie zur Verarbeitung in einer bestimmten Reihenfolge ausgewählt, die in einer Last in den Kanälen resultiert, mit denen sie verbunden sind. Diese Last wird ausgeglichen (d.h. verteilt), um die Leistung zu verbessern.
  • Vor dem DFSMS konnte die Reihenfolge der zu verarbeitenden Datenträger manuell mit der Erwartung gesteuert werden, die Last über die Pfade von jedem Wirtsrechner auszugleichen. Des weiteren hatte der Kunde anzugeben, in welchem Wirtsrechner der Datenträger verarbeitet werden sollte. Die Reihenfolge der Verarbeitung wurde von dem Benutzer durch das Setzen von Prioritäten bestimmt, und zwar zu dem Zeitpunkt, als er den Datenträger einsetzte (ADDVOL). Die Reihenfolge der zu verarbeitenden Datenträger war die gleiche, wie die der Datenträgerdefinition. Unter den Zwängen des DFSMS ist die Information, die in der Datenträgerdefinition (für Datenträger, die von SMS verwaltet werden) empfangen wurde, nicht länger im DFHSM sichtbar. Der Lastausgleich von SMS Datenträgern muß deshalb durch einige andere Mittel erfolgen. In einer Datenspeicherhierarchie können Datenträger vorhanden sein, von denen einige von SMS verwaltet werden, und einige, die nicht von SMS verwaltet werden. Das bevorzugte Ausführungsbeispiel der Erfindung wird als Verfahren zum maschinengesteuerten Lastausgleich während der DFHSM Verarbeitung von Datenträgern beschrieben, wobei für die SMS Datenträger bei der Auswahl durch andere als manuelle Mittel beim Einsetzen des Datenträgers die entsprechenden Prioritäten gesetzt werden. Nicht-SMS Datenträger werden als solche beschrieben, bei denen die Prioritäten manuell gesetzt werden, um für den Lastausgleich zu sorgen.
  • Der Lastausgleich erfolgt durch Überwachung der Last, die nur zu der lang laufenden Verarbeitung des DFHSM Datenträgers gehört (d.h. lang laufende DFHSM Anwendungen). Die Last aus anderen Anwendungen, DFHSM oder andere, wird ignoriert, da dies keine zuverlässige Angabe der Last sein kann, die in einem bestimmten Kanal für mehr als eine kurze Dauer (d.h. Sekunden) gehalten wird, während die Last, die zu der DFHSM Datenträger- Verarbeitung gehört, eine projizierte Dauer (d.h. Minuten) ist. Die "Last" bezieht sich somit auf das, was nur aus lang laufenden DFHSM Anwendungen resultiert. Außerdem erfolgt die Auswahl der Datenträger gemäß der Erfindung nur während der Verarbeitung von lang laufenden Anwendungen. Der Lastausgleich von anderen, relativ kurz laufenden Anwendungen ist nicht notwendig, da die Last, die aus solchen Anwendungen resultiert, von kürzerer Dauer ist und deshalb von geringer Bedeutung ist.
  • Zwei signifikante Datenstrukturen sind die mounted volume table (MVT) und der current channel bad control block (CCL). Auf die Abbildung dieser Strukturen in den Figuren 1-2 wurde aus Gründen der Vereinfachung verzichtet, sind aber für jeden Wirtsrechner in ihren jeweiligen Hauptspeichern vorhanden. Eine MVT ist für jeden Datenträger vorhanden, der für die Verarbeitung in dem jeweiligen Host vorgesehen ist und bestimmte Informationen uber diesen Datenträger enthält. Die Eingaben werden durch Zeiger miteinander verkettet, um zwei deutliche Informationsketten zu erstellen, eine für SMS gesteuerte Datenträger und eine für Datenträger, die nicht von SMS gesteuert werden. Die Felder in einer MVT-Eingabe nennen die Kanäle, die mit dem Host verbunden sind, an den der Datenträger angeschlossen ist (CHPID), für welche.jang laufenden DFHSM Anwendungen der zu verarbeitende Datenträger geeignet ist, ob der Datenträger für die Anwendung einen bestimmten Host bevorzugt, ob der Datenträger für die Verarbeitung in diesem Host bereits ausgewählt/serialisiert wurde, ob der Datenträger kürzlich in einem angegebenen Zeitraum und in einem gewissen Grad von einem Host verarbeitet wurde, ob der Datenträger aktuell von diesem Host verarbeitet wird, ob der Datenträger die maximale Anzahl von Malen erneut versucht hat und welche Skip-Zählung für den Datenträger ermittelt wurde. Diese Felder werden benutzt, um den Datenträger zur Verarbeitung auszuwählen, wie dies später erklärt werden wird. Während ein Datenträger verarbeitet wird, enthält die MVT-Eingabe auch die Last in den Kanälen, mit denen der Datenträger verbunden ist.
  • Der CCL ist ein Steuerblock, der benutzt wird, um die aktuelle Last, die in den Kanälen durch die lang laufenden DFHSM Anwendungen plaziert wird, aufzuzeichnen. Der CCL enthält eine Tabelle mit 256 Elementen, von denen jedes 31 Bits enthält. Die CHPIDs werden in der CCL-Tabelle als Index benutzt, um die vorhandene Last in jedem Kanal zu bestimmen. Im allgemeinen wird jeder Datenträger zur Verarbeitung durch eine lang laufende Anwendung ausgewählt, die Durchschnittslast pro Kanal wird für den ausgewählten Datenträger zu dem Lastwert hinzugezählt, der im CCL für jeden Kanal, der mit dem ausgewählten Datenträger verbunden ist, gespeichert ist, um diesen ggf. zu aktualisieren. Ebenso wird am Ende der Verarbeitung des Datenträgers die gleiche Last, die zuvor zu dem Datenträger hinzugezählt wurde, von dem Lastwert für jeden der Kanäle abgezogen, die mit dem Datenträger verbunden sind. Es sollte klar sein, daß bei der CCL Initialisierung und der Aktualisierung CCL serialisiert, geändert und parallelisiert wird, was im Stand der Technik bekannt ist.
  • Der Fluß der Erfindung wird nun mit Bezug auf die Figuren 3-7 beschrieben. Im allgemeinen werden SMS Datenträger für die Auswahl zur Verarbeitung über Nicht-SMS Datenträger bevorzugt. Ebenso können SMS und Nicht-SMS Datenträger während der primären Auswahl oder während der wiederholten Auswahl, die später beschrieben werden wird, ausgewählt werden. SMS Datenträger werden somit zuerst während der primären SMS Datenträgerauswahl ausgewählt, dann werden die Nicht-SMS Datenträger während der primären Nicht-SMS Datenträgerauswahl, und dann werden sowohl SMS als auch Nicht-SMS Datenträger während der Wiederholungsauswahl ausgewählt. Ein Datenträger oder beide, SMS und Nicht-SMS Datenträger, können mittels der Lastausgleichskriterien für Kanäle ausgewählt werden, was beschrieben werden wird.
  • Der CCL wird initialisiert, wenn der DFHSM gestartet wird. In Schritt 60 beginnt der Fluß, wenn eine lang laufende Anwendung beginnt, und die erforderlichen Datenstrukturen werden mittels der Information von den Steuerdatenstrukturen initialisiert. Wenn die aktuelle Anwendung die einzige, derzeit aktive DFHSM Anwendung ist, werden die Lastwerte im CCL für jeden CHPID auf null gesetzt, da derzeit keine DFHSM Last vorhanden ist. Wenn andere DFHSM Anwendungen derzeit aktiv sind, wird der CCL nicht auf null gesetzt. Jeder Dateneingang, sowohl in die SMS MVT Kette als auch die Nicht-SMS MVT Kette, wird initialisiert. Wenn ein Datenträger für die aktuelle Anwendung geeignet ist (d.h. die Verarbeitung ist erforderlich), wird der Eignungsmerker gesetzt, und die Verarbeitungsmerker in der MVT werden rückgesetzt Die CHPIDs werden dann aus dem System wiederhergestellt und in der MVT plaziert.
  • Bei den Schritten 61-a-61c beginnt die Datenträgerauswahl. Die Schritte 61a-61 bestimmen, ob die letzte Rückkehr aus dem Fluß, sofern vorhanden, während der primären SMS Datenträgerauswahl, der primären Nicht-SMS Datenträgerauswahl oder der Wiederholungs-Datenträgerauswahl ausgelassen wurde, und ob die Lastausgleichskriterien für die Kanäle in den Schritten 62-78 zu benutzen sind. Eine solche Bestimmung erlaubt eine Rückkehr zum richtigen Schritt im Gesamtfluß, wenn die Auswahl von noch einem anderen Datenträger (wegen der letzten Rückkehr aus dem Fluß in den Schritten 78, 84 oder 104) erforderlich ist. Schritt 61a bestimmt, ob die primäre SMS Datenträgerauswahl neu eingegeben werden sollte. Schritt 61b bestimmt, ob die primäre Nicht-SMS Datenträgerauswahl neu eingegeben werden sollte. Wenn nichts neu einzugeben ist, wird der Fluß zu der Wiederholungs- Datenträgerauswahl bei Schritt 87 geleitet. Wenn die primäre Datenträgerauswahl erforderlich ist, bestimmt Schritt 61c, ob die jeweilige Art der primären Datenträgerverarbeitung (SMS oder Nicht-SMS) vom Benutzer angegeben wurde, diese gemäß den Lastausgleichskriterien für den Kanal zu verarbeiten. Andernfalls wird der Fluß zu Schritt 79 geleitet. Falls ja, fährt der Fluß bei Schritt 62 fort.
  • Im folgenden Ausführungsbeispiel wird angenommen, daß der Lastausgleich für den Kanal nur für die Auswahl des primären SMS Datenträgers angegeben wurde. Somit wird die Auswahl des Nicht-SMS Datenträgers ohne Lastausgleich beschrieben. Das Ausführungsbeispiel wurde so ausgewählt, um die Beschreibung der primären Datenträgerauswahl sowohl gemäß den Lastausgleichskriterien für den Kanal als auch gemäß den Nicht-Lastausgleichkriterien zu ermöglichen. Es sollte klar sein, daß ein Benutzer bevorzugen kann, die Auswahl anders zu bestimmen (z.B. den Lastausgleich sowohl für die Auswahl des primären SMS Datenträgers als auch für die Auswahl des primären Nicht-SMS Datenträger festzulegen).
  • Wenn SMS aktiv ist, und eine SMS MVT Kette vorhanden ist, beginnt die Auswahl der SMS Datenträger für aktuelle Anwendungsverarbeitung bei Schritt 62 im oberen Teil (Anfang der Kette) der SMS MVT Kette. Bei Schritt 63 wird die erste Eingabe in die Kette geprüft, um zu bestimmen, ob der Datenträger, mit dem diese verbunden ist, für die aktuelle Anwendungsverarbeitung geeignet ist, wie dies durch das Bit (oder den Merker) in dem entsprechend Feld (wie zuvor erwähnt) angezeigt wird. Wenn der Datenträger für die Verarbeitung nicht geeignet ist, springt der Fluß zu Schritt 72 nach unten, um mit der Suche nach einem anderen SMS Datenträger zu beginnen. Wenn der Datenträger für die aktuelle Anwendungsverarbeitung geeignet ist, wird die MVT- Eingabe auf Host Vorlieben bei den Schritten 64 und 67 geprüft.
  • Die Auswahl des primären SMS Datenträger wird gemäß den Vorlieben des Hosts vorrangig behandelt. DFHSM kann Datenträger verarbeiten, die einem bestimmten Host zugeordnet werden, oder Datenträger, die von jedem Host verarbeitet werden können. Der Benutzer kann Datenträger, die nur von einem bestimmten Host zu bearbeiten sind, was hier als Host "Vorlieben" bezeichnet wird, einschränken oder zuordnen. Der Datenträger 52 kann z.B. entweder Host 21 oder Host 22 oder keinem von beiden zugeordnet werden. Es ist zu beachten, daß sich der Begriff "zugeordnet" hier auf die Vorlieben (Reservierung) eines Datenträgers in einem Host bezieht, während die zugehörige Technik den gleichen Begriff benutzte, um die aktuelle Auswahl von Ressourcen für die Verarbeitung einer Aufgabe zu bezeichnen. Ein Problem könnte auftreten, so daß durch die Verarbeitung eines zuerst nicht zugeordneten Datentrager in einem Host das Zeitfenster für die periodische DFHSM Verarbeitung in diesem Host ablaufen könnte, bevor die Datenträger, die diesen Host vorziehen, verarbeitet werden können. Da nicht zugeordnete Datenträger von einem anderen Host verarbeitet werden können, wird die Auswahl von zugeordneten Datenträgern gegenüber nicht zugeordneten Datenträgern bevorzugt. Der DFHSM zählt auch die Anzahl von Malen, bei denen ein Datenträger die Serialisierung versäumt hat, nachdem er ausgewählt worden ist, was als Skip-Zählung bekannt ist. Ein Datenträger, der die Serialisierung versäumt hat, da er z.B. bereits benutzt wurde, wird diese sehr wahrscheinlich wieder versäumen als ein Datenträger, der die Serialisierung zum ersten Mal versucht hat. Die Auswahl von zugeordneten Datenträgern, die vorher noch nicht für die Verarbeitung durch die aktuelle Anwendung ausgewählt worden sind, wird deshalb gegenüber denen bevorzugt, die ausgewählt wurden, aber die Serialisierung gerade einmal versäumt haben, die ihrerseits gegenüber nicht zugeordneten Datenträgern bevorzugt werden, die vorher zur Verarbeitung durch die aktuelle Anwendung nicht ausgewählt worden sind. Die drei zuvor erwähnten Datenträger werden gegenüber den zugeordneten Datenträgern bevorzugt, welche die Serialisierung mehr als einmal versäumt haben und gegenüber den nicht zugeordneten Datenträgern, welche die Serialisierung einmal oder mehrmals versäumt haben. Somit wird der Vorrang zwischen zwei Datenträgern durch den Vergleich ihrer jeweiligen Vorlieben und Skip-Zählungen bestimmt.
  • Während der Schritte 62-72 wird die SMS MVT Kette Eingabe für Eingabe geprüft, wobei jede Eingabe einmal geprüft wird, und die aktuelle Eingabe in die Kette wird ständig mit der vorhandenen, besten Eingabe von den Eingaben verglichen, die zuvor während der aktuellen Abtastung (d.h. während dem aktuellen, einzelnen Lauf durch die Kette) geprüft wurden. Die Adresse der besten Eingabe von den Eingaben, die zuvor während der aktuellen Abtastung geprüft wurden, wird immer im Hauptspeicher für künftige Vergleiche mit den verbleibenden Eingaben in der Kette gespeichert. Der Begriff "Eingabe" wird hier benutzt, um den Datenträger zu bezeichnen, der zu dieser Eingabe gehört, und der Begriff "beste Eingabe" wird benutzt, um die vorhandene, beste Eingabe zu bezeichnen.
  • Bei Schritt 64 wird die Vorliebe und die Skip-Zählung der aktuellen Eingabe - wie zuvor beschrieben - bestimmt. Wenn die aktuelle Eingabe zugeordnet wird, und die Serialisierung mehr als einmal versäumt wurde, oder wenn die aktuelle Eingabe nicht zugeordnet wurde und die Serialisierung einmal oder mehrmals versäumt wurde, springt der Fluß zu Schritt 72. Eine solche Suche gibt an, daß die Eingabe bei der Auswahl von niedrigster Priorität ist und nur für die Verarbeitung während der Wiederholung ausgewählt werden kann (d.h. nach der Auswahl von allen SMS und Nicht-SMS Datenträgern mit höherer Priorität). Bei den Schritten 65 und 68 werden die verbleibenden Eingaben anhand des Vergleichs der Vorlieben und der Skip-Zählung der besten Eingabe und der aktuellen Eingabe mit Vorrang behandelt.
  • Bei Schritt 65 wird bestimmt, ob die beste Eingabe und die aktuelle Eingabe, die gleiche Priorität haben. Andernfalls wird bei Schritt 68 bestimmt, ob die beste Eingabe von niedrigerer Priorität ist als die aktuelle Eingabe. Wenn dies nicht der Fall ist, wird die beste Eingabe nicht geändert, und der Fluß springt zu Schritt 72. Wenn die beste Eingabe von niedrigerer Priorität ist als die aktuelle Eingabe, werden einige Berechnungen durchgeführt, und die aktuelle Eingabe wird in den Schritten 69 und 71 als beste Eingabe gespeichert. Wenn, bei Schritt 65, die beste Eingabe und die aktuelle Eingabe die gleiche Priorität haben, werden bei Schritt 66 einige Berechnungen durchgeführt, um bei Schritt 67 zu vergleichen und zu bestimmen, ob die aktuelle Eingabe als beste Eingabe gespeichert werden sollte, oder ob die beste Eingabe bleiben soll wie sie ist. Falls die aktuelle Eingabe die allererste Eingabe in der Kette ist oder zumindest die erste Eingabe in die Kette ist, um Schritt 65 zu erreichen, fährt der Fluß mit Schritt 68 fort (d.h. die Prioritäten sind nicht die gleichen) und dann mit Schritt 69 (d.h. die Priorität von der höchsten Prioritätseingabe wird als niedriger angesehen als die der aktuellen Eingabe).
  • Bei den Schritten 66 und 69 werden identische Berechnungen in bezug auf die aktuelle Eingabe durchgeführt. Es werden zwei Faktoren benutzt, um eine repräsentative, durchschnittliche Kanallast, oder "R-Wert" für die aktuelle Eingabe zu berechnen. Zuerst wird ein Lastwert, der zur Verarbeitung eines Datenträgers in der aktuellen Anwendung bestimmt. Die Lastwerte sind zufällig; ausgenommen, daß sie proportional gemäß der Last, die aktuell durch die Verarbeitung eines Datenträger in der aktuellen Anwendung verursacht wird, gewichtet werden. Für den DFHSM ist der volle Speicherinhalt des Datenträgers zweimal stärker als die Kanallast der Datenträgerwanderung und der fortlaufenden Sicherung. Somit ist der Lastwert, der zum vollen Speicherinhalt des Datenträgers gehört, proportional zu dem für Datenwanderung und fortlaufende Sicherung. Außerdem wird der Lastwert gemäß der Wirkung von den verschiedenen DFDSS I/O Pufferoptionen in den Lasten gewichtet. Der Lastwert wird auch für die durchschnittliche Last pro Kanalfeld in der MVT benutzt.
  • Der andere Faktor ist die Anzahl von Kanälen, die mit jedem Datenträger verbunden ist, wie dies im MVT angegeben ist.
  • Wie zuvor angegeben, wird die durchschnittliche Last pro Kanal für jeden Datenträger im MVT gespeichert. Diese durchschnittliche Last wird bestimmt, indem die aktuelle Last durch die Anzahl von Kanälen geteilt wird, mit dem der Datenträger verbunden ist. Die Summe aus all diesen Berechnungen für jeden Kanal ist die repräsentative Kanallast, die in dem CCL als Eingabe CCLI gespeichert ist. Die CCL Eingaben werden für jeden aktuellen Datenträger gemäß der Formel
  • addiert, wobei n die Anzahl der Kanäle ist, mit denen ein Datenträger verbunden ist, und C eine Konstante ist, so daß
  • wenn CCLI = 0, dann C
  • CCLI = 0, dann C/CCLI = 2C
  • und
  • wenn CCLI+a = 0, dann C/CCLI+a bei a = 1, 2, 3...
  • Einfacher ausgedrückt, bei Datenträgern, die mit mehreren Kanälen mit Nullast verbunden sind, wird der erste Kanal mit Nullast einem Wert zugeordnet, der zweimal der Wert von der Konstanten in der Gleichung 1 ist, und die nachfolgenden Kanäle mit Nullast werden dem Wert der Konstanten zugeordnet. Die Summe R ist für jeden Datenträger die repräsentative, durchschnittliche Kanallast für den Datenträger über den jeweiligen, angeschlossenen Kanälen. Der Datenträger mit dem höchsten R- Wert ist der mit der "niedrigsten" Kanallast (d.h. gemäß der vorerwähnten Formel, die von dem einfachen Durchschnitt der Lastwerte abweichen kann) und wird für die Verarbeitung ausgewählt. Die Verwendung der repräsentativen, durchschnittlichen Kanallast resultiert in einem Vorzug für die Auswahl des Datenträgers, der mit dem wenigsten aktiven CHPID (d.h. obwohl der einfache, numerische Durchschnitt der Lastwerte in einer Auswahl resultierte) verbunden ist. Die Verwendung der repräsentativen, durchschnittlichen Kanallastergebnisse resultiert auch in einer Präferenz für die Auswahl von Datenträgern mit der niedrigsten Anzahl von angeschlossenen, aber ruhigen Kanälen, wobei die größere Anzahl der angeschlossenen, aber ruhigen Kanäle zur späteren Verwendung erhalten wird. Für Datenträger mit gleichen R-Werten wird der Datenträger, der mit der niedrigsten Anzahl von Kanälen verbunden ist, ausgewählt. Ein solcher Tiebreakter gewährleistet, daß die aktuelle Verarbeitung des ausgewählten Datenträgers die niedrigste Anzahl von Kanälen beeinflußt, wodurch es wenig wahrscheinlich ist, daß ein ausgewählter Datenträger später nur einen Kanal hat, und daß der Kanal sehr beschäftigt ist.
  • Bei Schritt 67 wird der R-Wert, der für die aktuelle Eingabe berechnet wurde, mit dem vergleichen, der zuvor für die beste Eingabe (zum Zeitpunkt als die beste Eingabe eine wurde) berechnet wurde. Wie schon erwähnt, wird die aktuelle Eingabe, wenn die aktuelle Eingabe den höheren R-Wert hat, die beste Eingabe. Wenn die beste Eingabe den höheren R-Wert hat, bleibt die beste Eingabe unverändert, da Schritt 71 übersprungen wird. Bei Schritt 69 haben Vorliebe und Skip-Zählung der Eingaben bereits angegeben, daß die aktuelle Eingabe die beste Eingabe wird. Bei Schritt 71 werden die MVT Adresse und der R-Wert der aktuellen Eingabe als neue beste Eingabe gespeichert.
  • Das Vorhandensein von einigen verbleibenden Eingaben in die SMS MVT Kette während der aktuellen Abtastung wird in Schritt 72 bestimmt. Wenn eine andere, derartige Eingabe vorhanden ist, wird diese die aktuelle Eingabe, und Fluß zieht eine Schleife zu Schritt 63 zurück. Die "neue" aktuelle Eingabe wird wieder mit der gespeicherten Eingabe mit der höchsten Priorität verglichen, wie dies bereits beschrieben wurde. Die Schleifen werden fortgesetzt, bis alle Eingaben der SMS MVT Kette überprüft wurden. Wenn das Ende der SMS MVT Kette erreicht ist, springt der Fluß von Schritt 72 zu Schritt 74. Es ist möglich, daß die ganze Kette abgetastet wurde, und keine beste Eingabe erstellt wurde. Es kann z.B. sein, daß es in der Kette keine Eingaben gibt, die zur Verarbeitung durch die aktuelle DFHSM Anwendung geeignet sind. Unter diesen Umständen springt der Fluß von Schritt 74 zu Schritt 79, um zu versuchen, einen Datenträger aus der Nicht-SMS MVT Kette auszuwählen. Wenn jedoch eine beste Eingabe vorhanden ist, wird die Serialisierung in dem zugehörigen Datenträger versucht, indem die gespeicherte MVT Adresse in Schritt 75 benutzt wird. Die Serialisierung ist die Reservierung von Ressourcen, z.B. ein Datenträger, um die aktuelle Verarbeitung des ausgewählten Datenträgers zu ermöglichen.
  • Wenn die Serialisierung erfolgreich ist, wird der CCL aktualisiert, um die zusätzliche Last widerzuspiegeln, die aus der Verarbeitung des neu ausgewählten Datenträgers bei Schritt 77 resultiert. Diese enthält die Berechnung des durchschnittlichen Lastwert durch die Kanäle des serialisierten Datenträgers, wobei davon ausgegangen wird, daß die Last gleichmäßig über alle Kanäle, mit denen ein Datenträger verbunden ist, verteilt wird.
  • Diese Annahme kann nicht immer genau sein, ist jedoch einfacher, als die aktuelle Lastverteilung über die Kanäle zu überwachen. Die durchschnittliche Last wird zu den entsprechenden Eingaben für jeden Kanal in dem CCL hinzugefügt. Die Auswahl/Serialisierung im Host-Merker wird auch in der MVT gesetzt, um zu verhindern, daß der Datenträger bei der nachfolgenden Auswahl berücksichtigt wird. Schließlich wird die MVT Adresse des ausgewählten Datenträgers zur aktuellen Verarbeitung bei Schritt 78 an den Host zurückgeschickt, und das Programm verlassen.
  • Wenn die Serialisierung nicht erfolgreich ist, hängt die genaue Maßnahme von dem Grund des Versäumnisses ab. Wenn die Serialisierung versagt, weil nicht genug Zeit verstrichen ist, während der Datenträger zuletzt für diese Anwendung verarbeitet wurde, wird die Verarbeitung in einem anderen Host-Merker in der MVT gesetzt, um die Einbeziehung des Datenträgers während der nachfolgenden Auswahl zu verhindern.
  • Der DFHSM wartet diese Zeit ab, um zu vermeiden, daß ein Host einen Datenträger in einer Anwendung verarbeitet, und ein anderer Host unnötigerweise den Datenträger in der gleichen Anwendung kurz danach erneut verarbeitet. Wenn die Serialisierung mißlingt, weil der Datenträger bereits von einer anderen DFHSM Anwendung benutzt wurde, wird der Skip-Zähler inkrementiert. In beiden Fällen werden der gespeicherte R-Wert und die MVT Adresse gelöscht, und die Skip-Zählung für den Datenträger inkrementiert, der Fluß kehrt zur nachfolgenden SMS Datenträgerauswahl von Schritt 76 zu Schritt 62 zurück.
  • Wenn ein SMS Datenträger erfolgreich serialisiert wurde, und die Auswahl eines weiteren Datenträgers erforderlich ist, wird bei Schritt 61a wieder auf das Programm zugegriffen, und es wird dort fortgefahren, wo die Verarbeitung verlassen wurde, um die Auswahl unter den restlichen SMS Datenträgern zu treffen usw. Sobald Schritt 79 erreicht wurde, fährt der Auswahlprozeß mit den Nicht-SMS Datenträgern in der Nicht-SMS MVT Kette fort. Es wird daran erinnert, daß die Verwaltungskriterien für die Nicht-SMS Datenträger zum Zeitpunkt der Dateneingabe oder des Einsetzens des Datenträgers (ADDVOL) ausgewählt werden. Das heißt, daß die Reihenfolge der Eingabe in die Nicht-SMS MVT Kette (d.h. die Sequenz darin) die Reihenfolge der versuchten Datenträgerauswahl ist. Somit wird bei Schritt 79 die erste Eingabe in die Nicht-SMS MVT Kette die aktuelle Eingabe.
  • Bei Schritt 80 wird die Eignung der aktuellen Eingabe bestimmt, wobei die Bestimmung ähnlich erfolgt, wie dies in Schritt 63 angegeben ist. Wenn die aktuelle Eingabe geeignet ist, wird bei Schritt 81 die Serialisierung versucht, der Fluß fährt mit den Schritten 82-84 fort, die ähnlich der Schritte 75-78 sind. Wenn ein Nicht-SMS Datenträger erfolgreich serialisiert wird, und die Auswahl eines weiteren Datenträgers erforderlich ist, wird das Programm bei Schritt 61a neu aufgerufen, und wieder dort fortgefahren, wo die Verarbeitung verlassen wurde, um die Auswahl unter den restlichen Nicht-SMS Datenträger zu treffen. Wenn die aktuelle Eingabe für die aktuelle Anwendung nicht geeignet ist, oder wenn die Serialisierung nicht erfolgreich war, springt der Fluß zu den Schritten 85 und 86, die analog zu den Schritten 72 und 73 sind.
  • Das Vorhandensein von den restlichen Eingaben in die Nicht-SMS MVT Kette während der aktuellen Abtastung wird bei Schritt 85 bestimmt. Wenn eine weitere, derartige Eingabe existiert, wird diese die aktuelle Eingabe, und der Fluß zieht eventuell eine Schleife zu Schritt 80 zurück. Die Schleife fährt fort, bis alle Eingabe der Nicht-SMS MVT Kette geprüft wurden. Es ist möglich, daß die ganze Kette abgetastet wurde, und kein Datenträger serialisiert wurde. Wenn das Ende der Nicht-SMS MVT Kette erreicht ist, springt der Fluß von Schritt 85 zu Schritt 87, um zu versuchen, einen Datenträger auszuwählen, während die Auswahl des Datenträgers wiederholt wird.
  • Bei Schritt 87 beginnt die Wiederholung der Datenträgerauswahl, um zu versuchen, die Auswahl aus diesen Datenträgern zu treffen, die zuvor nicht serialisiert wurden. Während der wiederholten Datenträgerauswahl werden die SMS Datenträger vor den Nicht-SMS Datenträgern abgetastet, aber die Auswahl von keinem Datenträger wird gegenüber der anderen bevorzugt. Der verbleibende Datenträger, SMS oder Nicht-SMS, der die wenigsten Male übersprungen wurde, wird ausgewählt. Bei Schritt 87 beginnt der Prozeß der wiederholten Auswahl, indem bestimmt wird, ob SMS Datenträger übersprungen wurden. Andernfalls springt der Fluß zu Schritt 93, um zu bestimmen, ob die Nicht-SMS Datenträger übersprungen wurden.
  • Die wiederholte Auswahl fährt fort, jede nachfolgend übersprungene Eingabe in der entsprechenden MVT Kette zu prüfen. Bei Schritt 88 wird die erste Eingabe in die SMS MVT Kette die aktuelle Eingabe. Die Eignung der Eingabe für die Verarbeitung in der aktuellen Anwendung wird bei Schritt 89 bestimmt. Wenn die aktuelle Eingabe ungeeignet ist, springt der Fluß zu Schritt 91, da kein Bedarf besteht, eine Information über die Eingabe zu speichern. Wenn die aktuelle Eingabe geeignet ist, werden die MVT Adresse und die Skip-Zählung der Eingabe als beste Eingabe zur späteren Verwendung gespeichert.
  • Während der Rest (sofern vorhanden) der SMS MVT Kette abgetastet wird, wird die Skip-Zählung der aktuellen Eingabe in Schritt 90 kontinuierlich mit derjenigen der restlichen Eingabe verglichen, welche die niedrigste Skip-Zählung (die zuvor gespeichert wurde) hat. Die Eingabe mit der niedrigsten Skip-Zählung ist immer die eine Eingabe, für welche die Information wiederum als beste Eingabe gespeichert wird. Die Schritte 91 und 92 sind analog zu den Schritten 72-73 und den Schritten 85- 86 bei der Bestimmung, ob der Fluß die Schleife zurück zu Schritt 89 führt. Bei Schritt 93 werden die übersprungenen Nicht-SMS Eingaben mit der gespeicherten Information verglichen, wobei mit der Information von den übersprungenen SMS Eingaben begonnen wird. Die Schritte 94-98 sind analog zu den Schritten 88-92.
  • Das Vorhandensein einer wiederholten Datenträgerauswahl wird in Schritt 99 bestimmt. Wenn kein Datenträger für die Wiederholung ausgewählt wurde, kehrt die Steuerung zu dem anfordernden Host zurück und informiert diesen, daß das Auswahlprogramm beendet wurde. Wenn ein Datenträger für die Wiederholung ausgewählt wurde, wird bei Schritt 101 eine Serialisierung versucht. Wenn die Serialisierung erfolgreich ist, wird der CCL aktualisiert, und die Steuerung kehrt zu dem anfordernden Host zurück, wie in den Schritten 77-78 oder in den Schritten 83-84. Wenn die Auswahl eines weiteren Datenträgers erforderlich ist, wird das Programm bei Schritt 61a neu aufgerufen, und es wird wieder dort begonnen, wo die Verarbeitung zuletzt verlassen wurde, um die Auswahl unter den Datenträgern für die Wiederholung zu treffen usw. Wenn die Serialisierung nicht erfolgreich ist, wird die Skip-Zählung für den ausgewählten Datenträger inkrementiert, und der Fluß springt von Schritt 102 zu Schritt 105. Bei Schritt 105 wird bestimmt, ob für die Auswahl Datenträger übrig sind. Das Kriterium ist hier, ob alle Datenträger, die verfügbar sind, die Serialisierung versäumt haben. "Alle Datenträger verfügbar" bezeichnet die Datenträger, die nicht bereits serialisiert wurden und zur Verarbeitung geeignet sind. Der Begriff "Serialisierung verfehlt" bezieht sich auf ein solches Versäumnis, da das letzte Mal Schritt 107 erreicht wurde, es sei denn, daß Schritt 107 für die aktuelle Anwendung nicht vorher erreicht wurde und weniger als zehn derartige Versäumnisse aufgetreten sind. In dem bevorzugten Ausführungsbeispiel liegt die maximale Anzahl von Wiederholungen bei zehn. Wenn Datenträger zur Auswahl übrig sind, zieht der Fluß eine Schleife zurück zu Schritt 87 und fährt dort fort. Wenn keine Datenträger vorhanden sind, wird in Schritt 107 eine fünfminütige Verzögerung aufgerufen, und der Fluß zieht wiederum eine Schleife zu Schritt 87 zurück. Es bleiben gemäß der zuvor erwähnten Kriterien vielleicht keine Datenträger übrig, und die Steuerung wird über die Schritte 100 und 104 zum Host zurückgeschickt.
  • Es wird nun Bezug auf Figur 8 genommen, einem spezifischeren Ausführungsbeispiel der Logik, die in Figur 3 beschrieben wurde, wird erörtert. Die Schritte 200-211 können durch die Schritte 65-71 ersetzt werden. Das Ausführungsbeispiel kann mittels der SELECT Befehle, welche die Kombination von mehreren IF/THEN Verzweigungen in einen einzelnen Befehl erlauben, was im Stand der Technik bekannt ist, vollkommen implementiert werden.
  • Jeder der Verzweigungsschritte, die in Figur 8 abgebildet sind, werden nach der Vorliebe oder Skip-Zählung der aktuellen Eingabe oder besten Eingabe oder einer Kombination daraus verarbeitet. Die Bedingung in Schritt 200 ist, ob die beste Eingabe zugeordnet ist und eine Skip-Zählung von Null hat. Die Bedingung 201 ist, ob die aktuelle Eingabe zugeordnet ist und eine Skip-Zählung von Null hat. Die Bedingung in Schritt 202 ist, ob die aktuelle Eingabe einer Skip-Zählung von Null zugeordnet wurde, oder einer Skip-Zählung von Eins zugeordnet wurde. Die Bedingung in Schritt 203 ist, ob die beste Eingabe einer Skip- Zählung von eins zugeordnet wurde. Die Bedingung in Schritt 204 ist, ob die aktuelle Eingabe der Skip-Zählung von Null zugeordnet wurde, einer Skip-Zählung von Eins zugeordnet wurde, oder einer Skip-Zählung von Null nicht zugeordnet wurde. Schritt 205 ist analog der Schritte 66 und 69. Die Bedingung in Schritt 206 ist, ob die beste Eingabe einer Skip-Zählung von Null nicht zugeordnet wurde, und die aktuelle Eingabe einer Skip-Zählung von Eins zugeordnet wurde. Die Bedingung in Schritt 207 ist, ob die beste Eingabe einer Skip-Zählung von Eins zugeordnet wurde, oder nicht zugeordnet wurde, und die aktuelle Eingabe einer Skip-Zählung von Null zugeordnet wurde. Die Schritte 208 und 210 sind analog zu Schritt 67. Schritt 211 ist analog zu Schritt 71. Ein Versuchslauf durch jede Kombination mit den relevanten Vorlieben und Skip-Zählungen (Null, Eins oder mehr) in der besten Eingabe und der aktuellen Eingabe führen bei Figur 3 und Figur 8 zu den gleichen Ergebnissen.
  • Obwohl die Erfindung insbesondere mit Bezug auf ein bevorzugtes Ausführungsbeispiel dargestellt und beschrieben wurde, könnte der Benutzer in einer Alternative zu dem beschriebenen Prozeß bestimmen, daß die Kriterien für den Lastausgleich für die Kanäle in den Schritten 62-73 auch benutzt werden, um Nicht-SMS Datenträger anstelle von denjenigen auszuwählen, die in den Schritten 79-86 abgebildet wurden. Die Schritte 62-73 und die Schritte 79-86 könnten auch kombiniert werden, um die Präferenz für die Auswahl von SMS Datenträgern gegenüber Nicht-SMS Datenträgern aufzuheben. Ebenso könnte jedes einzelne Kriterium für die Präferenz der Auswahl eines spezifischen Datenträgers aufgehoben werden.

Claims (17)

1. Ein Verfahren zum Lastausgleich für I/O-Kanäle während eines Anwendungsprozesses in einem Datenverarbeitungssystem, in dem relativ kurze und relativ lange Betriebsanwendungen verarbeitet werden, wobei das Datenverarbeitungssystem zu denen gehört, die eine Vielzahl von Kanälen enthalten, die zwischen mindestens einem Wirtsrechner und einer Vielzahl von Datenspeicherträgern angeschlossen sind, wobei das Verfahren Schritte enthält, um
die Last in jedem Kanal aufzuzeichnen (in CCL), die nur aus relativ langen Betriebsanwendungen resultiert;
für jeden nicht-ausgewählten Datenträger, der als der nächste zu verarbeitende Datenträger zur Auswahl in Betracht gezogen wurde, die Last in den Kanälen zwischen dem Wirtsrechner und dem Datenträger zu berechnen (66), die nur aus relativ langen Betriebsanwendungen resultiert; und
als nächsten Datenträger, der verarbeitet werden soll, den Datenträger unter den für die Auswahl in Betracht gezogenen auszuwählen (74), der die niedrigste, berechnete Last auf seinen jeweiligen, angeschlossenen Kanälen hat.
2. Ein Verfahren, wie in Anspruch 1 angemeldet, wobei der Schritt zum Berechnen der Last, das Wichten gemäß den verschiedenen Größen der Last einschließt, die aus den verschiedenen Betriebsanwendungen resultiert.
3. Ein Verfahren, wie in Anspruch 1 oder Anspruch 2 angemeldet, wobei die nicht-ausgewählten Datenträger, die zur Auswahl als der nächste Datenträger in Betracht gezogen wurden, der verarbeitet werden würde, während dem Schritt zum Berechnen nur jene Datenträger sind, für welche die Verarbeitung mit relativ langen Betriebsanwendungen verbunden ist.
4. Ein Verfahren wie in irgendeinem vorhergehenden Anspruch angemeldet, wobei die nicht-ausgewählten Datenträger, die zur Auswahl als der nächste Datenträger in Betracht gezogen wurden, der verarbeitet werden würde, während dem Schritt zum Berechnen nur jene Datenträger sind, die Ähnlichkeit mit dem aufgerufenen Wirtsrechner haben.
5. Ein Verfahren, wie in irgendeinem vorhergehenden Anspruch angemeldet, wobei der Schritt zum Berechnen vorzugsweise das Auswählen der Datenträger mit der geringsten Anzahl von unbenutzten, jeweiligen, angeschlossenen Kanälen, einschließt.
6. Ein Verfahren, wie in irgendeinem vorherigen Anspruch angemeldet, wobei der Schritt zum Auswählen eines Datenträgers, die Auswahl des Datenträgers mit den geringsten, jeweiligen, angeschlossenen Kanälen einschließt, als nächsten Datenträger, der verarbeitet werden soll, innerhalb einer Vielfalt von Datenträgern, mit der gleichen, niedrigsten, berechneten Last in ihren jeweiligen, angeschlossenen Kanälen.
7. Ein Verfahren, wie in irgendeinem vorhergehenden Anspruch angemeldet, das außerdem den Schritt des zyklischen Wiederholens der Schritte, das Berechnen und dann das Auswählen aus den verbleibenden nicht-ausgewählten Datenträgern, enthält.
8. Ein Verfahren, wie in Anspruch 7 angemeldet, wobei der Schritt des zyklischen Wiederholens andauert, bis alle in Betracht gezogenen Datenträger ausgewählt und durchnumeriert worden sind und dann beginnt das Auswählen aus jenen Datenträgern, für die das Verarbeiten mit relativ langen Betriebsanwendungen verbunden ist.
9. Ein Verfahren, wie in irgendeinem vorhergehenden Anspruch angemeldet, wobei der Schritt zum Berechnen der Last in dem jeweiligen, angeschlossenen Kanal für jeden Datenträger, das Berechnen der repräsentativen Durchschnittskanallast umfaßt und außerdem die Schritte enthält:
für jeden, jeweiligen, angeschlossenen Kanal mit einer Nicht-Null-Last einer repräsentativen Kanallast zu berechnen;
für den ersten, jeweiligen, angeschlossenen Kanal mit einer Null-Last die repräsentative Kanallast auf eine im voraus bestimmte Anzahl festzusetzen;
für jeden nachfolgenden, jeweiligen Kanal mit einer Null- Last die repräsentative Kanallast auf eine zweite, im voraus bestimmte Anzahl wobei die erste vorbestimmte Anzahl größer ist als die zweite vorbestimmte Anzahl; und
einen Durchschnittswert der repräsentativen Kanallasten der jeweiligen, angeschlossenen Kanäle zu bestimmen, um eine repräsentative Durschnittskanallast zu erhalten.
10. Ein Datenverarbeitungssystem, das eine Vielzahl von Kanälen enthält, die zwischen mindestens einem Wirtsrechner und einer Vielzahl von Datenspeicherträgern angeschlossen sind, wobei das Datenverarbeitungssystem Mittel enthält, um die Lasten in den Kanälen während der Betriebsanwendung auszugleichen, wobei die Lastausgleichsmittel Mittel enthalten, um
(in CCL) die Last in jedem Kanal aufzuzeichnen, die nur aus relativ langen Betriebsanwendungen resultiert;
(66), um die Last in den jeweiligen, angeschlossenen Kanälen zu berechnen, die nur aus relativ langen Betriebsanwendungen für jeden nicht-ausgewählten Datenträger resultiert, der zur Auswahl als der nächste Datentrager in Betracht gezogen wurde, der zu verarbeiten sein würde, wobei die Mittel zum Berechnen mit den Mitteln zum Aufzeichnen verknüpft sind, und
(67,71), um als nächsten Datenträger, der verarbeitet werden soll, den Datenträger unter den für die Auswahl in Betracht gezogenen auszuwählen (74), der die niedrigste, berechnete Last in seinen jeweiligen angeschlossenen Kanälen hat, wobei die Mittel zum Auswählen mit den Mitteln zum Berechnen verknüpft sind.
11. Ein Datenverarbeitungssystem, wie in Anspruch 10 angemeldet, wobei die Mittel zum Berechnen Mittel des Wichten enthalten gemäß den verschiedenen Größen der Last, die aus den verschiedenen Anwendungen resultiert.
12. Ein Datenverarbeitungssystem, wie in Anspruch 10 oder Anspruch 11 angemeldet, wobei die nicht-ausgewählten Datenträger, die zur Auswahl als der nächste Datenträger in Betracht gezogen wurden, der verarbeitet werden würde, nur jene Datenträger sind, für welche die Verarbeitung mit relativ langen Betriebsanwendungen verbunden ist.
13. Ein Datenverarbeitungssystem, wie in irgendeinem der Ansprüche 10 bis 12 angemeldet, wobei die nicht-ausgewählten Datenträger, die zur Auswahl in Betracht gezogen wurden, als der nächste Datenträger, der von den Mitteln zum Berechnen verarbeitet werden würde, nur jene Datenträger sind, die Ähnlichkeit mit dem Wirtsrechner haben, der aufruft.
14. Ein Datenverarbeitungssystem, wie in irgendeinem der Ansprüche 10 bis 13 angemeldet, wobei die Mittel zum Berechnen vorzugsweise Datenträger mit der geringsten Anzahl der unbenutzten, jeweiligen, angeschlossenen Kanäle sind.
15. Ein Datenverarbeitungssystem, wie in irgendeinem der Ansprüche 10 bis 14 angemeldet, wobei die Mittel zum Auswählen eines Datenträgers Mittel zur Auswahl des Datenträgers, mit den geringsten, jeweiligen, angeschlossenen Kanälen einschließen, als dem nächsten Datenträger, der verarbeitet werden soll, innerhalb einer Vielfalt von Datenträgern, mit der gleichen, niedrigsten, berechneten Last auf ihren jeweiligen angeschlossenen Kanälen.
16. Ein Datenverarbeitungssystem, wie in irgendeinem der Ansprüche 10 bis 15 angemeldet, enthält außerdem Mittel (72) des zyklischen Wiederholens, Berechnens und Auswählens für die verbleibenden, nicht-ausgewählten Datenträger.
17. Ein Datenverarbeitungssystem, wie in irgendeinem der Ansprüche 10 bis 16 angemeldet, wobei die ziemlich langen Betriebsanwendungen Speicherverwaltungsanwendungen sind.
DE69031862T 1989-10-30 1990-10-22 Verfahren zum Lastausgleich für Kanälen und Verwendung desselben in einem Datenverarbeitungssystem Expired - Lifetime DE69031862T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/428,542 US5239649A (en) 1989-10-30 1989-10-30 Channel path load balancing, through selection of storage volumes to be processed, for long running applications

Publications (2)

Publication Number Publication Date
DE69031862D1 DE69031862D1 (de) 1998-02-05
DE69031862T2 true DE69031862T2 (de) 1998-06-25

Family

ID=23699332

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69031862T Expired - Lifetime DE69031862T2 (de) 1989-10-30 1990-10-22 Verfahren zum Lastausgleich für Kanälen und Verwendung desselben in einem Datenverarbeitungssystem

Country Status (4)

Country Link
US (1) US5239649A (de)
EP (1) EP0426354B1 (de)
JP (1) JPH0766355B2 (de)
DE (1) DE69031862T2 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459864A (en) * 1993-02-02 1995-10-17 International Business Machines Corporation Load balancing, error recovery, and reconfiguration control in a data movement subsystem with cooperating plural queue processors
US5745915A (en) * 1995-03-17 1998-04-28 Unisys Corporation System for parallel reading and processing of a file
US5644696A (en) * 1995-06-06 1997-07-01 International Business Machines Corporation Recovering multi-volume data sets during volume recovery
US6173306B1 (en) 1995-07-21 2001-01-09 Emc Corporation Dynamic load balancing
WO1997004384A1 (en) * 1995-07-21 1997-02-06 Emc Corporation Dynamic load balancing
US5923875A (en) * 1995-08-28 1999-07-13 Nec Corporation Load distributing job processing system
JPH09179820A (ja) * 1995-12-26 1997-07-11 Mitsubishi Electric Corp 負荷分散方式及び方法
US5872972A (en) * 1996-07-05 1999-02-16 Ncr Corporation Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors and the migration of a process from an affinitized processor to another available processor is limited
US6055604A (en) * 1997-08-26 2000-04-25 Hewlett-Packard Company Forced transaction log posting using a least busy storage media without maintaining redundancy of the transaction log
US6061761A (en) * 1997-10-06 2000-05-09 Emc Corporation Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing
US6088766A (en) * 1997-10-06 2000-07-11 Emc Corporation Method for exchanging data blocks on disk storage devices utilizing disk access statistics and testing for the effect of a change
US6711649B1 (en) 1997-10-06 2004-03-23 Emc Corporation Load balancing on disk array storage device
US6189071B1 (en) 1997-10-06 2001-02-13 Emc Corporation Method for maximizing sequential output in a disk array storage device
US6341333B1 (en) 1997-10-06 2002-01-22 Emc Corporation Method for transparent exchange of logical volumes in a disk array storage device
US6917569B1 (en) * 1997-10-06 2005-07-12 Emc Corporation Method for determining seek times in a disk array storage device
US6442650B1 (en) 1997-10-06 2002-08-27 Emc Corporation Maximizing sequential output in a disk array storage device
US6405282B1 (en) 1997-10-06 2002-06-11 Emc Corporation Method for analyzine disk seek times in a disk array storage device
US6237063B1 (en) 1997-10-06 2001-05-22 Emc Corporation Load balancing method for exchanging data in different physical disk storage devices in a disk array storage device independently of data processing system operation
US6279074B1 (en) 1998-06-01 2001-08-21 International Business Machines Corporation Contention handling for task requests to storage devices within a host system
US6272605B1 (en) * 1998-06-01 2001-08-07 International Business Machines Corporation System using priority data of a host recall request to determine whether to release non-volatile storage with another host before processing further recall requests
US6341356B1 (en) 1999-03-25 2002-01-22 International Business Machines Corporation System for I/O path load balancing and failure which can be ported to a plurality of operating environments
US6611896B1 (en) 1999-08-25 2003-08-26 Emc Corporation Dynamic mirror service policy with seek adjustment in a non-physical mirrored storage environment
US7568052B1 (en) * 1999-09-28 2009-07-28 International Business Machines Corporation Method, system and program products for managing I/O configurations of a computing environment
US6986137B1 (en) 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6728770B1 (en) * 1999-12-03 2004-04-27 Storage Technology Corporation Method and apparatus for workload balancing along multiple communication paths to a plurality of devices
US6658473B1 (en) 2000-02-25 2003-12-02 Sun Microsystems, Inc. Method and apparatus for distributing load in a computer environment
US6980533B1 (en) * 2000-04-19 2005-12-27 Lucent Technologies Inc. Load balancing technique for a wireless internet access system
US6950874B2 (en) * 2000-12-15 2005-09-27 International Business Machines Corporation Method and system for management of resource leases in an application framework system
US6687787B1 (en) * 2001-03-05 2004-02-03 Emc Corporation Configuration of a data storage system
TW576061B (en) * 2001-08-13 2004-02-11 Via Tech Inc Device and method for load balancing of packet switching
US7451209B1 (en) 2003-10-22 2008-11-11 Cisco Technology, Inc. Improving reliability and availability of a load balanced server
US7421695B2 (en) * 2003-11-12 2008-09-02 Cisco Tech Inc System and methodology for adaptive load balancing with behavior modification hints
US7900206B1 (en) 2004-03-31 2011-03-01 Symantec Operating Corporation Information technology process workflow for data centers
JP4643198B2 (ja) * 2004-07-28 2011-03-02 株式会社日立製作所 負荷分散コンピュータシステム、経路設定プログラム及びその方法
JP4504134B2 (ja) 2004-08-16 2010-07-14 富士通株式会社 システム制御装置、投機フェッチ方法および情報処理装置
JP4609848B2 (ja) * 2005-04-06 2011-01-12 株式会社日立製作所 負荷分散コンピュータシステム、経路設定プログラム及びその方法
US8037169B2 (en) 2005-05-18 2011-10-11 Oracle International Corporation Determining affinity in a cluster
US8326990B1 (en) * 2005-07-15 2012-12-04 Symantec Operating Corporation Automated optimal workload balancing during failover in share-nothing database systems
US7814065B2 (en) * 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
JP5250955B2 (ja) * 2006-10-05 2013-07-31 富士通株式会社 データ処理システムのバックアップ制御装置及びシステム
WO2011043114A1 (ja) * 2009-10-07 2011-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の記憶装置を含む記憶システム、方法、及びプログラム
EP3069475A4 (de) * 2013-11-12 2017-07-05 Pivotal Software, Inc. Streaming-ereignisdatensammlung
WO2016067339A1 (ja) * 2014-10-27 2016-05-06 株式会社日立製作所 ストレージシステム、及び、記憶制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588837A (en) * 1968-12-30 1971-06-28 Comcet Inc Systems activity monitor
US3648825A (en) * 1969-06-10 1972-03-14 Conveyor Heat Products Corp Conveyor belt tensioning device for tunnel cooker
CH584488A5 (de) * 1975-05-05 1977-01-31 Ibm
US4310883A (en) * 1978-02-13 1982-01-12 International Business Machines Corporation Method and apparatus for assigning data sets to virtual volumes in a mass store
US4262331A (en) * 1978-10-30 1981-04-14 Ibm Corporation Self-adaptive computer load control
US4403286A (en) * 1981-03-06 1983-09-06 International Business Machines Corporation Balancing data-processing work loads
US4435755A (en) * 1981-12-28 1984-03-06 International Business Machines Corporation Balanced channel finding method
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer
JPS61253572A (ja) * 1985-05-02 1986-11-11 Hitachi Ltd 疎結合マルチプロセツサ・システムの負荷配分方式
DE3741953A1 (de) * 1986-12-19 1988-06-30 Nippon Telegraph & Telephone Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
US4920487A (en) * 1988-12-12 1990-04-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method of up-front load balancing for local memory parallel processors
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems

Also Published As

Publication number Publication date
EP0426354A2 (de) 1991-05-08
EP0426354B1 (de) 1997-12-29
US5239649A (en) 1993-08-24
EP0426354A3 (de) 1994-02-09
DE69031862D1 (de) 1998-02-05
JPH03147047A (ja) 1991-06-24
JPH0766355B2 (ja) 1995-07-19

Similar Documents

Publication Publication Date Title
DE69031862T2 (de) Verfahren zum Lastausgleich für Kanälen und Verwendung desselben in einem Datenverarbeitungssystem
DE3587398T2 (de) Datenspeicherhierarchie und deren Betriebsverfahren.
DE69029210T2 (de) Verwaltungsverfahren und Vorrichtung zur Datenspeicherung
DE60313783T2 (de) Bewegen von daten zwischen speichereinheiten
DE3587400T2 (de) Datenspeicherungsanordnung.
DE69132139T2 (de) Effiziente nicht-virtuelle hauptspeicherverwaltung
DE10055603B4 (de) Verfahren zum Zugriff auf eine Datei in einer Vielzahl von Datenspeicherbibliotheken und Datenspeicherbibliothek-System
DE4218025C2 (de) Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem
DE69329047T2 (de) Verfahren und System zur Verminderung der Speicherzuordnungsanforderungen
DE60016283T2 (de) Arbeitsbelastungsverwaltung in einer rechnerumgebung
DE69716565T2 (de) Speichersystem mit der Fähigkeit zur Datenumsiedlung
DE69423853T2 (de) Ein-/Ausgabeobjekte in einem Betriebssystemkern
DE69127132T2 (de) Einrichtung und Verfahren zum Datenzugriff in einem Datenverarbeitungssystem mit einer automatischen Datenspeicherungsbibliothek
DE3751446T2 (de) Multiprozessor-Speicherbetriebsverfahren und -vorrichtung.
DE69738159T2 (de) Anordnung und Verfahren zur Wiederzuteilung von logischen an physikalische Plattengeräte unter Verwendung eines Speichersteuergerätes
DE69032337T2 (de) Multiprozessorsystem verwendendes Datenbasisverarbeitungssystem
DE3650333T2 (de) Verfahren zur Zustandsverwaltung gemeinsamer Betriebsmittel für ein komplexes Rechnersystem.
DE60224432T2 (de) Dynamische und automatische speicherverwaltung
DE3852997T2 (de) Rechnersystem und Verfahren für die Überwachung von nichtstationären Datenstrukturen in einem Rechnersystem.
DE69534616T2 (de) System und Verfahren zum Verarbeiten von E/A-Anfragen über einen Schnittstellenbus zu einer Speicherplattenanordnung
DE4221073A1 (de) Datenspeichersystem und -verfahren mit geraeteunabhaengigen dateiverzeichnissen
DE69033064T2 (de) Verfahren zur Zuordnung von reellen Seiten zu virtuellen Seiten mit davon verschiedenen Seitengrössen
DE69429777T2 (de) System zur dezentralen massenspeichersteuerung eines rechners mit virtuellem speicher
DE10062063B4 (de) Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7