-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf ein Speichersystem zum Speichern
von Daten von Computern (oder Servern) und insbesondere auf ein Speichersystem
mit mehreren Speichervorrichtungen, die durch eine geschichtete
Struktur gebildet sind und jeweils mehrere Plattengeräte
aufweisen. Sie bezieht sich außerdem auf ein Verfahren
zur Datenübertragung zwischen den geschichteten Speichervorrichtungen
in dem Speichersystem, das mit einem an ein Netzwerk angeschlossenen
Speicher (NAS – Network Attached Storage) zur Ein/Ausgabe von
Dateien verbunden ist, und zur Zuordnung von durch die geschichteten
Speichervorrichtungen bereitgestellten Volumes zu den im NAS bereitgestellten
Verzeichnissen.
-
In
den vergangenen Jahren hat die Steigerung der Rechenleistung durch
den Einsatz von HPC-Computern (Hochleistungs-Computern) oder Supercomputern
einen bemerkenswerten Durchbruch erreicht. In wenigen Jahren wird
erwartet, dass es Supercomputer gibt, die eine Rechenleistung der Peta-FLOPS-Klasse
(Gleitkommaoperationen pro Sekunde) aufweisen, und etwa zehn Jahre
später wird eine noch höhere Rechenleistung der Exa-FLOPS-Klasse
erreicht sein. Angesichts dieser Stegerung wird auch erwartet, dass
die Größenordnung der Berechnungen, zum Beispiel
für mit Supercomputern durchgeführte wissenschaftliche
Berechnungen, zunimmt, und auch die Größe der
einzelnen Dateien, die in den Supercomputer eingegeben bzw. von
diesem ausgegeben werden, wird vom Gigabyte- (GB) zum Terabyte-Bereich
(TB) zunehmen. Daher wird vorhergesagt, dass ein Speichersystem,
das mit dem Supercomputer verbunden werden soll, eine Kapazität
im Bereich der Petabyte- (PB) bis Exabyte-Klasse (EB) erfordert.
Außerdem wird angenommen, dass die E/A-Verarbeitungsleistung
für die Speichervorrichtung gegenüber der gegenwärtigen Leistung
um ein bis zwei Größenordnungen verbessert werden
muss, weil es nötig ist, die Ein/Ausgabe von Dateien der
TB-Klasse mit hoher Geschwindigkeit durchzuführen.
-
Üblicherweise
werden im Falle eines für Supercomputer verwendeten Speichersystems
Speichervorrichtungen der mittleren Leistungsklasse mit einem guten
Kosten-Leistungs-Verhältnis entsprechend der Anzahl von
Knoten in dem Supercomputer bereitgestellt und parallel betrieben,
um eine E/A-Verarbeitungsleistung der Speichervorrichtungen zu erhalten,
die für die von Servern oder Computern verlangte E/A-Verarbeitungsleistung
geeignet ist.
-
Weiter
werden an die für Supercomputer verwendeten Speichervorrichtungen
unterschiedliche Leistungsanforderungen gestellt, das heißt
für die schnelle Ein/Ausgabe großer Dateien ist
eine hohe sequenzielle Leistung erforderlich, während für
die gleichzeitige Ein/Ausgabe mehrerer Dateien außerdem
eine hohe Transaktionsleistung nötig ist.
-
Als
Antwort auf die vorstehend beschriebenen Leistungsanforderungen
ist in
JP-A-2004-70403 ein
Verfahren beschrieben, bei dem Volumes zur Speicherung von Dateien
in Reaktion auf die von Computern oder Anwendungen verlangte Leistung verteilt
sind. Nach dem Verfahren in dem Dokument werden die Dateispeicherungsanforderungen
für alle geschäftlichen Anwendungen (Anforderungen
im Hinblick auf die Leistung, Zuverlässigkeit usw. an die Dateispeicher-Volumes)
im Voraus festgelegt. Weiter ist auf der Seite der Speichervorrichtungen
eine Tabelle mit einer Spezifikation der eigentlichen Leistung usw.
für ein Dateispeicher-Volume im Voraus vorgesehen. Diese
Tabelle wird dann für jede Datei in jeder Speicheranforderung
der Anwendung herangezogen, um die Speicher-Zielvolumes zu verteilen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Im
Falle eines Speichersystem, das für den Supercomputer verwendet
wird, war es erforderlich, das Speichersystem so zu bilden, dass
die Ein/Ausgabe einer großen Datei und die Ein/Ausgabe
mehrerer Dateien mit hoher Geschwindigkeit durchgeführt
werden und dass ein System mit großer Kapazität
zu niedrigen Kosten realisiert wird.
-
Wenn
jedoch in Zukunft ein großes System mit einer Kapazität
im PB- bis EB-Bereich durch mehrere herkömmliche Speichervorrichtungen
der mittleren Leistungsklasse gebildet werden soll, müssen mehrere
hundert bis tausend Einheiten installiert werden, um die nötige
Leistung zu realisieren. Daher ergibt sich ein Problem dahingehend,
dass es schwierig ist, ein preiswertes System bereitzustellen.
-
Wenn
weiter versucht wird, die verschiedenen Leistungsanforderungen an
das für den Supercomputer verwendete Speichersystem mit
dem in
JP-A-2004-70403 beschriebenen
zugehörigen Verfahren als ein entsprechendes Verfahren
zur Lösung des vorstehenden Problems zu verarbeiten, ergibt sich
das folgende Problem. Wenn die Dateien, die in den Dateispeicher-Volumes
entsprechend den Merkmalen für die einzelnen Dateien verteilt
sind, mit dem vorstehend genannten Verfahren gespeichert werden,
so dass versucht wird, die Ein/Ausgabe der Dateien zu beschleunigen,
ist es schwierig, die nötigen Anforderungen an die Leistung
und Zuverlässigkeit bezüglich des Dateispeicher-Volumes
für jede Berechnung im Voraus zu bestimmen, weil die Art
der für die Ein/Ausgabe verwendeten Dateien im Hinblick auf
die von dem Supercomputer auszuführenden Programme für
wissenschaftliche Berechnungen usw. sehr unterschiedlich ist.
-
Zur
Erreichung des vorstehend genannten Ziels stellt die vorliegende
Erfindung ein Speichersystem bereit, das einen Dateiserver, der
mit mehreren Computern verbunden ist, eine erste Speichervorrichtung,
die mit dem Dateiserver verbunden ist, eine zweite Speichervorrichtung,
die mit der ersten Speichervorrichtung ver bunden ist, und eine Speicherverwaltungsvorrichtung
aufweist, die mit dem Dateiserver, der ersten Speichervorrichtung
und der zweiten Speichervorrichtung verbunden ist, wobei die erste
Speichervorrichtung ein erstes Volume aufweist, das auf einem Magnetplattengerät
in der Vorrichtung selbst gebildet ist, die zweite Speichervorrichtung
ein zweites Volume aufweist, das auf einem Magnetplattengerät
in der Vorrichtung selbst gebildet ist, die erste Speichervorrichtung
ein virtuelles Volume aufweist, das als ein Volume auf demselben
Gerät mit dem zweiten Volume virtualisiert ist, und der Dateiserver
das virtuelle Volume als ein zweites Verzeichnis und das erste Volume
als ein erstes Verzeichnis zu einem vorbestimmten ersten Zeitpunkt mountet,
vorbestimmte Dateien im zweiten Verzeichnis in das erste Verzeichnis
kopiert und vorbestimmte Dateien im ersten Verzeichnis zu einem
vorbestimmten zweiten Zeitpunkt in das zweite Verzeichnis kopiert.
-
Die
Speicherverwaltungsvorrichtung umfasst eine Einrichtung, die Informationen über
den Berechnungsdurchführungs-Auftrag des Computers erfasst, eine
Einrichtung, die die Informationen über den Berechnungsdurchführungs-Auftrag
analysiert, und eine Einrichtung, die den ersten und den zweiten Zeitpunkt
bestimmt.
-
Die
Speicherverwaltungsvorrichtung umfasst weiter eine Einrichtung,
die ein Merkmal der ein/auszugebenden Dateien für eine
Berechnung aus den Informationen über den Berechnungsdurchführungs-Auftrag
extrahiert, und eine Einrichtung, die das erste Volume zum Speichern
der Dateien auswählt, in dem der Dateiserver das ausgewählte
erste Volume als das erste Verzeichnis mountet. Hierbei wählt
die Einrichtung, die das erste Volume zum Speichern der Dateien
auswählt, das erste Volume, das durch die Magnetplattengeräte
gebildet ist, deren Anzahl gleich einem oder größer
als ein vorbestimmter zweiter Wert ist, falls die Dateigröße
größer ist als ein vorbestimmter erster Wert.
-
Weiter
wählt die Einrichtung, die das erste Volume zum Speichern
der Dateien auswählt, ein Volume, dessen Anzahl gleich
einem oder größer als ein vorbestimmter vierter
Wert ist, falls die Anzahl der Dateien größer
ist als ein vorbestimmter dritter Wert, und der Dateiserver mountet
die ausgewählten mehreren ersten Volumes als die einzelnen
ersten Verzeichnisse und kopiert die mehreren Dateien verteilt in
die mehreren ersten Verzeichnisse.
-
Weiter
kopiert der Dateiserver vorbestimmte Dateien im ersten Verzeichnis
zu dem vorbestimmten zweiten Zeitpunkt in das zweite Verzeichnis
und unmountet danach das erste Verzeichnis, um das erste Volume
nach dem Unmounten als Dateispeicher-Volume für die anderen
Berechnungen bereitzustellen.
-
Nach
der Erfindung weist das Speichersystem sowohl die hohe Leistung
als auch die große Kapazität auf, die von einem
Supercomputer verlangt werden, und kann mit einer minimalen Anzahl
von Speichervorrichtungen realisiert werden.
-
Die übrigen
Ziele, Merkmale und Vorteile der Erfindung werden aus der nachstehenden
Beschreibung der Ausführungsformen der Erfindung in Verbindung
mit den anliegenden Zeichnungen ersichtlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
den Aufbau eines mit Computer- und Verwaltungsservern verbundenen
Speichersystems nach einer ersten Ausführungsform der Erfindung.
-
2 zeigt
den Aufbau einer Speichervorrichtung auf der ersten Ebene nach der
Erfindung.
-
3 zeigt
den Aufbau einer Speichervorrichtung auf der zweiten Ebene nach
der Erfindung.
-
4 zeigt
ein erläuterndes Diagramm einer Entsprechungsbeziehung
zwischen einem Dateispeicher-Verzeichnis, einem virtuellen Dateispeicher-Volume
und einem Dateispeicher-Volume.
-
5 zeigt
ein erläuterndes Diagramm einer Entsprechungsbeziehung
zwischen dem Dateispeicher-Verzeichnis, dem virtuellen Dateispeicher-Volume,
einem ersten Dateispeicher-Volume und einem zweiten Dateispeicher-Volume.
-
6 zeigt
ein Ablaufdiagramm des Verfahrens zum Einspeichern und Ausspeichern
von Dateien zwischen einem Dateiserver, der Speichervorrichtung
auf der ersten Ebene und der Speichervorrichtung auf der zweiten
Ebene.
-
7 zeigt
den Aufbau eines Computer-Verwaltungsservers und eines Speicherverwaltungsservers.
-
8 zeigt
den Aufbau eines mit Computer- und Verwaltungsservern verbundenen
Speichersystems nach einer zweiten Ausführungsform der
Erfindung.
-
9 zeigt
ein Diagramm eines Computer-Ausführungsskripts.
-
10 zeigt
ein Ablaufdiagramm eines weiteren Verfahrens zum Einspeichern und
Ausspeichern von Dateien zwischen einem Dateiserver, der Speichervorrichtung
auf der ersten Ebene und der Speichervorrichtung auf der zweiten
Ebene.
-
AUSFÜHRLICHE BESCHREIBUNG
DER ERFINDUNG
-
Erste Ausführungsform
-
1 zeigt
den Aufbau eines beispielhaften Speichersystems mit Speichervorrichtungen
nach einer ersten Ausführungsform. Ein Computersystem 1 umfasst
ein Speichersystem 2, einen IP-Switch 16, Computer 14 und
einen Computer-Verwaltungsserver 18. Das Speichersystem 2 umfasst
einen Dateiserver 13, eine Speichervorrichtung 11 auf
der ersten Ebene, eine Speichervorrichtung 12 auf der zweiten Ebene,
einen Fiber-Channel-Switch (FC) 17 und einen Speicherverwaltungsserver 19.
-
Wie
in 1 gezeigt, ist der Dateiserver 13 über
den IP-Switch 16 mit den Computern 14 verbunden,
so dass das Speichersystem 2 mit den Computern 14 verbunden
ist. Außerdem ist der Computer-Verwaltungsserver 18 direkt
oder über ein LAN (lokales Netzwerk) mit dem Speicherverwaltungsserver 19 verbunden.
Der Speicherverwaltungsserver 19, der Dateiserver 13,
die Speichervorrichtung 11 auf der ersten Ebene und die
Speichervorrichtung 12 auf der zweiten Ebene sind direkt
oder über das LAN miteinander verbunden.
-
Die
Speichervorrichtung 11 auf der ersten Ebene ist direkt
mit dem Dateiserver 13 verbunden. Als Verbindungsschnittstelle
wird in diesem Fall üblicherweise eine Protokollschnittstelle
zur Übertragung von Blockdaten wie beispielsweise Fiber
Channel, iSCSI usw. verwendet. Hierbei ist die Speichervorrichtung 11 auf
der ersten Ebene akzeptabel, auch wenn sie mit dem Dateiserver 13 über
einen Switch verbunden ist.
-
Die
Speichervorrichtung 12 auf der zweiten Ebene ist über
den FC-Switch 17 mit der Speichervorrichtung 12 auf
der ersten Ebene verbunden. Die Verwendung einer Verbindungsschnittstelle
ist in diesem Fall akzeptabel, auch wenn eine andere Protokollschnittstelle
als Fiber Channel zur Übertragung der Blockdaten entsprechend
iSCSI usw. verwendet wird.
-
Die
Speichervorrichtung 11 auf der ersten Ebene weist ein erstes
Dateispeicher-Volume 51 zum Speichern von Dateien auf,
die Gegenstand eines Ein/Ausgabeprozesses durch den Dateiserver 13 sind.
Die Speichervorrichtung 12 auf der zweiten Ebene weist
ein zweites Dateispeicher-Volume 52 zum Speichern von Dateien
auf, die Gegenstand eines Ein/Ausgabeprozesses durch den Dateiserver 13 sind.
Weiter weist die Speichervorrichtung 11 auf der ersten
Ebene eine Virtualisierungsfunktion auf, um virtuell ein virtuelles
Dateispeicher-Volume 61 bereitzustellen, ein Volume in
der Speichervorrichtung 12 auf der zweiten Ebene, das ein
Volume und Dateien der Speichervorrichtung 11 auf der ersten
Ebene für die Computer 14 speichert.
-
2 zeigt
den Aufbau eines Beispiels für die Speichervorrichtung 11 auf
der ersten Ebene. Eine Steuerung 31 umfasst eine Kanalschnittstelleneinheit 32 zum
Steuern des Datenschreib/Lesezugriffs von einem übergeordneten
Gerät wie zum Beispiel dem Dateiserver 3, den
Computern 14 usw., eine Plattenschnittstelleneinheit 33,
die mit mehreren Festplatten 42 verbunden ist, zum Steuern
des Datenschreib/Lesezugriffs auf die Festplatten 42, einen Cachespeicher 34 zum
vorübergehenden Speichern von Schreib/Lesedaten auf den
Festplatten 42 und eine Verbindungseinheit 35 zum
Verbinden der Kanalschnittstelleneinheit 32, der Plattenschnittstelleneinheit 33 und
des Cachespeicher 34 miteinander. Die Verbindungseinheit 35 ist
im Allgemeinen durch einen oder mehr Switches gebildet, aber es
ist auch akzeptabel, wenn die Verbindungseinheit 35 durch einen
oder mehr gemeinsame Busse gebildet ist.
-
Die
Kanalschnittstelleneinheit 32 steuert die Datenübertragung
zwischen dem übergeordneten Gerät und dem Cachespeicher 34,
wenn sie den Datenschreib/Lesezugriff von dem übergeordneten
Gerät empfängt. Die Plattenschnittstelleneinheit 33 steuert
die Datenübertragung zwischen den Festplatten 42 und
dem Cachespeicher 34, wenn Daten auf die Festplatten 42 geschrieben
bzw. von diesen gelesen werden. Auf diese Weise werden die Daten
zwischen der Kanalschnittstelleneinheit 32 und der Plattenschnittstelleneinheit 33 über
den Cachespeicher 34 ausgetauscht, so dass das Schreiben/Lesen
der Daten auf die Festplatten 42 von dem übergeordneten
Gerät ausgeführt wird. Für die Zwecke
der vorstehenden Steuerung weisen sowohl die Kanalschnittstelleneinheit 32 als
auch die Plattenschnittstelleneinheit 33 einen oder mehr
Prozessoren (nicht gezeigt) auf. Diese Prozessoren sind mit einem
internen LAN 37 verbunden. Außerdem ist der außerhalb
der Speichervorrichtung angeordnete Speicherverwaltungsserver 19 mit
dem internen LAN 37 verbunden.
-
Hier
dient der Aufbau der vorstehend genannten Steuerung 31 einfach
als Beispiel, weshalb er nicht auf das vorstehende Beispiel beschränkt
ist. Die Steuerung 31 kann akzeptabel sein, wenn sie eine
Funktion zum Schreiben/Lesen von Daten auf die bzw. von den Festplatten 42 in
Reaktion auf eine Datenschreib/Leseanforderung von den Computern 14 aufweist.
-
Weiter
kann die Steuerung 31 eine Stromversorgungs-Steuerungseinheit 36 zur
Steuerung der Stromversorgung zum Ein/Ausschalten der Festplatten 42 aufweisen.
In diesem Fall ist die Stromversorgungs-Steuerungseinheit 36 mit
dem internen LAN 37 verbunden.
-
Eine
Festplatten-Montageeinheit 41 weist die Festplatten 42 und
eine Festplatten-Stromversorgung 43 auf, die die einzelnen
Festplatten 42 mit Strom versorgt. Die Festplatten 42 sind
in RAID-Gruppen zusammengefasst, die jeweils aus mehreren Festplatten 42 gebildet
sind.
-
Hierbei
ist die Festplatten-Stromversorgung 43 akzeptabel, auch
wenn sie im Umfang von ein oder zwei (im Falle einer redundanten
Konfiguration) Einheiten für jede der Festplatten 42 oder
der RAID-Gruppen vorgesehen ist.
-
Die
Stromversorgungs-Steuerungseinheit 36 in der Steuerung 31 ist
mit der Festplatten-Stromversorgung 43 verbunden, um das
Ein/Ausschalten der Stromversorgung zu steuern.
-
Hierbei
ist die Stromversorgungs-Steuerungseinheit 36 auch akzeptabel,
wenn sie nicht in der Steuerung 31 vorgesehen ist, sondern
in der Festplatten-Montage einheit 41. Weiter kann die Stromversorgungs-Steuerungseinheit 36 auch
direkt mit dem Speicherverwaltungsserver 19 verbunden sein.
-
Das
anhand von 1 beschriebene erste Dateispeicher-Volume 51 ist
in einem Bereich der RAID-Gruppe gebildet, die durch die mehreren
Festplatten 42 gebildet ist.
-
3 zeigt
den Aufbau der Speichervorrichtung 12 auf der zweiten Ebene.
Eine Steuerung 71 weist einen Computer-Anschlussport 76,
der mit dem übergeordneten Gerät wie der Speichervorrichtung 11 auf
der ersten Ebene verbunden ist, einen Platten-Anschlussport 78,
der mit den mehreren Festplatten 42 verbunden ist, einen
gemeinsamen Speicher 73 zum vorübergehenden Speichern
der Schreib/Lesedaten zu und von den Festplatten 42 und
einen Prozessor 72 auf. Der Computer-Anschlussport 76,
der Platten-Anschlussport 78, der Prozessor 72 und
der gemeinsame Speicher 73 sind über eine Verbindungseinheit 74 miteinander
verbunden. Die Verbindungseinheit 74 ist im Allgemeinen durch
einen Switch gebildet, kann aber auch durch einen gemeinsamen Bus
gebildet sein.
-
Der
Prozessor 72 steuert die Datenübertragung zwischen
dem Computer-Anschlussport 76 und dem gemeinsamen Speicher 73,
wenn er den Datenschreib/Lesezugriff von dem übergeordneten
Gerät empfängt. Der Prozessor 72 steuert
auch die Datenübertragung zwischen den Festplatten 42 und
dem gemeinsamen Speicher 73, wenn Daten auf die Festplatten 42 geschrieben
bzw. von diesen gelesen werden. Auf diese Weise werden die Daten
zwischen dem Computer-Anschlussport 76 und den Festplatten 42 über
den gemeinsamen Speicher 73 ausgetauscht, so dass das Schreiben/Lesen
der Daten von dem übergeordneten Gerät auf die
Festplatten 42 ausgeführt wird.
-
Der
Prozessor 72 ist mit einem internen LAN 77 verbunden.
Der Speicherverwaltungsserver 19, der außerhalb
der Speichervorrichtung angeordnet ist, ist ebenfalls mit dem internen
LAN 77 verbunden. Hier dient der Aufbau der vorstehend
genannten Steuerung 71 lediglich als Beispiel und ist nicht
auf den vorstehenden Aufbau beschränkt. Die Steuerung 71 ist
akzeptabel, wenn sie eine Funktion zur Durchführung des
Schreibens/Lesen von Daten auf die bzw. von den Festplatten 42 in
Reaktion auf eine Datenschreib/Leseanforderung von den Computern 14 aufweist.
-
Weiter
kann die Steuerung 71 auch eine Stromversorgungs-Steuerungseinheit 75 zur
Steuerung der Stromversorgung zum Ein/Ausschalten der Festplatten 42 aufweisen.
In diesem Fall ist die Stromversorgungs-Steuerungseinheit 75 mit
dem internen LAN 77 verbunden.
-
Der
Aufbau der Festplatten-Montageeinheit 41 ist derselbe wie
der in 2 gezeigte Aufbau der Speichervorrichtung 11 auf
der ersten Ebene.
-
Das
anhand von 1 beschriebene zweite Dateispeicher-Volume 52 ist
in einem Bereich der RAID-Gruppe gebildet, die durch die mehreren
Festplatten 42 gebildet ist.
-
Der
Aufbau der Speichervorrichtung 11 auf der ersten Ebene
und der Speichervorrichtung 12 auf der zweiten Ebene ist
allgemein anhand von 2 und 3 beschrieben
worden, ist jedoch nicht auf den vorstehenden Aufbau beschränkt.
Die von der Speichervorrichtung 11 auf der ersten Ebene
geforderte E/A-Verarbeitungsleistung sollte besser sein als die
der Speichervorrichtung 12 auf der zweiten Ebene. Als Spezifikation
wird verlangt, dass die Speichervorrichtung 12 auf der
zweiten Ebene eine für die Computer 14 nötige
Kapazität mit einer geringeren Anzahl von Festplatten als
die Speichervorrichtung 11 auf der ersten Ebene realisieren
kann.
-
7 zeigt
die Funktionen des Computer-Verwaltungsservers 18 und Speicherverwaltungsservers 19.
-
Der
Computer-Verwaltungsserver 18 weist eine Auftragsverwaltungseinheit 21 zur
Verwaltung der von den Computern 14 auszuführenden
Aufträge, eine Benutzerverwaltungseinheit 22 zur
Verwaltung der Benutzer, die den Auftrag bei den Computern 14 anfordern,
und eine Informationsbereitstellungseinheit 23 auf, die
zur Schnittstelle für die Bereitstellung von Auftragsinformationen
zur Ausführung durch die Computer 14 an den Speicherverwaltungsserver 19 wird.
-
Darüber
hinaus können die Funktionseinheiten wie die Auftragsverwaltungseinheit
usw., die zur Erläuterung der den Aufbau bildenden Elemente
bei dieser Ausführungsform verwendet wird, logisch durch
Software oder durch Hardware wie etwa einen speziellen LSI gebildet
sein. Die Funktionseinheiten können auch durch eine Kombination
von Software und Hardware realisiert werden. Außerdem sind
die Funktionseinheiten im Falle des logischen Aufbaus in einem Speicher
abgelegt, um sie durch einen Prozessor auszuführen, so
dass die Funktionen realisiert werden können.
-
Die
Auftragsverwaltungseinheit 21 weist eine Verwaltungseinheit 201 für
anstehende Aufträge, eine Auftragsablaufsteuerung 202 und
eine Verwaltungseinheit 206 für beendete Aufträge
auf. Darüber hinaus weist die Auftragsablaufsteuerung 202 eine Warteschlange 203 und
eine Ausführungsschlange 205 auf.
-
Der
Benutzer erzeugt ein in 9 gezeigtes Berechnungsausführungs-Skript 234,
das in den Computer-Verwaltungsserver 18 eingegeben wird, damit
ein Berechnungsauftrag von den Computern 14 ausgeführt
wird. Diese Eingabeoperation wird direkt am Computer-Verwaltungsserver 18 oder über ein
Client-Terminal durchgeführt, das durch eine zum Beispiel
vom Computer-Verwaltungsserver 18 bereitgestellte grafische
Benutzeroberfläche (GUI) oder eine Befehlszeilenoberfläche
(CLI) mit dem Computer-Verwaltungsserver 18 verbunden ist.
-
Das
eingegebene Berechnungsausführungs-Skript 234 wird
von der Verwaltungseinheit 201 für anstehende
Aufträge verwaltet und an eine Warteschlange (1) 211,
eine Warteschlange (2) 212, eine Warteschlange (3) 213 und
eine Warteschlange (4) 214 weitergegeben. Diese Warteschlangen
sind mit einer Reihenfolge hoher Priorität in der Warteschlange 203 vorgesehen.
Das Weitergabeverfahren oder die Festlegung der Priorität
für die Warteschlangen wird durch einen Berechnungszeitraum,
der im Berechnungsausführungs-Skript 234 beschrieben ist,
und die Beurteilung der zu verwendenden Größen in
der Kapazität des Arbeitsspeichers bestimmt. Der Benutzer
legt manchmal explizit eine Prioritätsreihenfolge im Berechnungsausführungs-Skript 234 fest.
Die Aufträge werden in der Reihenfolge der Warteschlangen
ausgeführt. Außerdem werden die Aufträge
in den Warteschlangen (1) 211 bis (4) 214 beginnend
mit der hohen Priorität ausgeführt, die der Warteschlange
(1) 211 entspricht. Nach Eingeben der Ausführung
für den Auftrag mit hoher Priorität in den Warteschlangen
wird, wenn ein Auftrag mit der nächsten Priorität
ausgeführt werden kann, weil in einer CPU-Ressource des
Computers 14 ein freier Bereich vorhanden ist, der Auftrag
auch parallel in dem leeren Bereich in der CPU ausgeführt.
Ein Auftrag mit der nächsten Priorität wird in
gleicher Weise ausgeführt. Der in Ausführung befindliche
Auftrag wird von der Ausführungsschlange 205 verwaltet,
und die Verwaltung des Auftrags wird an die Verwaltungseinheit 206 für
beendete Aufträge übergeben, wenn der Auftrag
beendet ist.
-
Die
Benutzerverwaltungseinheit 22 verwaltet die Benutzer, die
den Computer 14 über den Computer-Verwaltungsserver 18 und
die Client-Terminals benutzen, die mit dem Computer-Verwaltungsserver 18 verbunden
sind, das heißt sie verwaltet Benutzerverzeichnisse zum
Speichern von Benutzerauthentifizierungen und Dateien, die für
die Berechnung durch die Benutzer verwendet werden. Für
die Zwecke der Durchführung der vorstehend genannten Verwaltung
wird ein Protokoll wie zum Beispiel NIS (Network Information Service)
und LDAP (Lightweight Directory Access Protocol) usw. verwendet.
-
Weiter überträgt
die Informationsbereitstellungseinheit 23 Informationen,
die das Berechnungsausführungs-Skript 234 für
die jeweiligen Aufträge und die Ausführungsreihenfolge
der Aufträge angeben, und Informationen der Benutzer, die
die Computer 14 benutzen, und das von den Benutzern verwendete
Benutzerverzeichnis an den Speicherverwaltungsserver 19.
-
Der
Speicherverwaltungsserver 19 weist eine Informationserfassungseinheit 24 zum
Empfangen von durch die Computer 14 auszuführenden
Auftragsinformationen von der Informationsbereitstellungseinheit 23 im
Computer-Verwaltungsserver 18, eine Informationsanalyseeinheit 25 zum
Durchführen einer Analyse, damit die Auftragsinformationen
in der Speichervorrichtung verwendet werden, eine Volume-Ver waltungseinheit 26 zur
Verwaltung auf der Grundlage der analysierten Informationen des
Mountens/Unmountens eines Volumes in der Speichervorrichtung 11 auf
der ersten Ebene und der Speichervorrichtung 12 auf der
zweiten Ebene in Verbindung mit den vom Dateiserver 13 verwalteten
Benutzerverzeichnissen und des Ein/Ausspeicherns von Dateien zwischen
den Benutzerverzeichnissen, eine Benutzerbereich-Verwaltungseinheit 27 zur
Verwaltung des von dem Dateiserver 13 verarbeiteten Benutzerverzeichnisses
und eine Speicherverwaltungseinheit 28 zum Zuordnen von
Volumes zum Dateiserver 13, zur Speichervorrichtung 11 auf
der ersten Ebene und zur Speichervorrichtung 12 auf der
zweiten Ebene und zum Anweisen des Mountens/Unmountens des Volumes
auf.
-
Nachstehend
wird ein Verwaltungsverfahren für das Benutzerverzeichnis
anhand von 4 bis 6 bei der
Ausführung einer Berechnung durch den Benutzer beschrieben.
-
4 zeigt
ein erläuterndes Diagramm mit einem Beispiel für
die Beziehung zwischen dem Benutzerverzeichnis und dem Volume, bevor
der Benutzer eine Berechnung startet. In 4 mountet
der Dateiserver 13 ein virtuelles Dateispeicher-Volume 61 als
ein Dateispeicher-Verzeichnis 81, das ein Benutzerverzeichnis
ist, auf der Grundlage der Anweisung von der Speicherverwaltungseinheit 28.
-
Die
Steuerung 31 in der Speichervorrichtung 11 auf
der ersten Ebene virtualisiert ein zweites Dateispeicher-Volume 52 in
der Speichervorrichtung 12 auf der zweiten Ebene als das
virtuelle Dateispeicher-Volume 61 in der Speichervorrichtung 11 auf
der ersten Ebene auf der Grundlage der Anweisung von der Speicherverwaltungseinheit 28,
und die Speichervorrichtung 11 auf der ersten Ebene verwaltet das
virtuelle Dateispeicher-Volume 61. Auf diese Weise kann
die Speichervorrichtung 11 auf der ersten Ebene das Volume
in der Speichervorrichtung 12 auf der zweiten Ebene kollektiv
verwalten, so dass die Volume-Verwaltung vereinfacht werden kann.
-
Hierbei
kann das zweite Dateispeicher-Volume 52 direkt als das
Dateispeicher-Verzeichnis 81 gemountet werden.
-
Der
Verzeichnisbaum 91 zeigt ein Beispiel für die
Beziehung zwischen dem Benutzerverzeichnis und dem zweiten Dateispeicher-Volume 52.
Hier wird das zweite Dateispeicher-Volume 52, das unterschiedlich
ist, jedem der Verzeichnisse dir0 und dir1 unter usr0 sowie jedem
der Verzeichnisse dir0, dir1 und dir2 unter usr1 zugeordnet. Eine
Entsprechungsbeziehung (Zuordnung) zwischen dem Benutzerverzeichnis
und dem zweiten Dateispeicher-Volume 52 wird durch die
Benutzerbereich-Verwaltungseinheit 27 in der Speicherverwaltungseinheit 19 verwaltet. Die
Entsprechungsbeziehung wird gebildet oder geändert, wenn
der Benutzer eine Anfordrung von dem Client-Terminal sendet, das
mit dem Speicherverwaltungsserver 19 verbunden werden soll.
-
6 zeigt
das Ein/Ausspeicherungsverfahren für Dateien in dem geschichteten
Speichersystem. Zuerst empfängt in Schritt 501 die
Informationserfassungseinheit 24 im Speicherverwaltungsserver 19 alle
Berechnungsausführungs-Skripts 234 für
die Aufträge und Informationen, die die Reihenfolge der Ausführung
der Aufträge in der Warteschlange 203 angeben,
von der Informationsbereitstellungseinheit 23 im Computer-Verwaltungsserver 18.
-
Dabei
gibt es zwei Verfahren zur Steuerung der Reihenfolge der Auftragsausführung
durch die Auftragsablaufsteuerung 202: (1) Ein Verfahren
zum Übergeben eines anschließend bestellten Auftrags an
die Ausführung, wenn die Auftragsausführung abgeschlossen
ist, und (2) ein Verfahren zur Ausführung der Aufträge
in der Reihenfolge auf der Grundlage eines Plans in der Weise, dass
mehrere Aufträge an die Verwaltungseinheit 201 für
anstehende Aufträge geliefert werden und eine Ausführungsstartzeit
und eine Ausführungsendezeit für die jeweiligen Aufträge
anhand von berechneten Zeiten geplant werden, die im Berechnungsausführungs-Skript 234 für
die mehreren anstehenden Aufträge beschrieben sind.
-
Nach
der vorstehenden Beschreibung empfängt im Falle von Abschnitt
(1) die Informationserfassungseinheit 24 die Informationen
von der Informationsbereitstellungseinheit 23, die alle
Berechnungsausführungs-Skripts 234 in der Warteschlange 203 und
eine Reihenfolge der Auftragsausführung enthalten, die
die Warteschlangenummer und die Auftragsnummer eines bestimmten
Berechnungsausführungs-Skripts 234 in der Warteschlange 203 angeben.
Der Auftrag ist im Berechnungsausführungs-Skript 234 für
jede Warteschlange (Warteschlange (1) bis Warteschlange (4)) in
der Warteschlange 203 richtig nummeriert. Dabei kann der richtig
nummerierte Vorgang von der Informationsbereitstellungseinheit 23 ausgeführt
werden, und das Ergebnis der Operation kann an die Informationserfassungseinheit 24 übertragen
werden.
-
Im
Falle von Abschnitt (2) empfängt die Informationserfassungseinheit 24 eine
Tabelle, die die Ausführungsstartzeit und Ausführungsendezeit
für die jeweils vom Computer-Verwaltungsserver 18 geplanten
Aufträge angibt, von der Informationsbereitstellungseinheit 23.
-
Als
Nächstes wird in Schritt 502 eine Analyse für
das Berechnungsausführungs-Skript 234 durchgeführt.
-
Vor
der Beschreibung der Analyse zeigt 9 ein Beispiel
für das Berechnungsausführungs-Skript 234 zur
Beschreibung der Informationen für einen von den Computern 14 ausgeführten
Ausführungsauftrag (oder eine Berechnung). In diesem Fall
liefern die mehreren Benutzer die Berechnungsausführungs-Skripts 234,
weshalb 9 ein Bild mit mehreren Berechnungsausführungs-Skripts
zeigt. Zur Verwaltung der Planung für das Mounten/Unmounten
von Volumes in der Speichervor richtung 11 auf der ersten
Ebene und der Speichervorrichtung 12 auf der zweiten Ebene
in Verbindung mit dem vom Dateiserver 13 verwalteten Benutzerverzeichnis
und zur Planung des Ein/Ausspeicherns von Dateien zwischen den Benutzerverzeichnissen
und dem vom Dateiserver 13 verarbeiteten Benutzerverzeichnis enthält
das Berechnungsausführungs-Skript 234 Verzeichnisinformationen 300 zur
Speicherung von mindestens Berechnungsparametern und Berechnungsergebnissen.
-
Weiter
ist es wünschenswert, dass das Berechnungsausführungs-Skript 234 eine
Berechnungsausführungszeit (CPU-Zeit) 301, die
Anzahl der Berechnungsschritte 302 und einen Zeitraum 303 für
die Anzahl der Berechnungsschritte zum Ausgeben des Berechnungsergebnisses
enthält. Nach den vorstehend beschriebenen Informationen
ist es möglich, exakt eine Zeit zum Ausgeben der Dateien
durch den Computer 14 zu erhalten.
-
Hier
dient das Format des in 9 gezeigten Berechnungsausführungs-Skripts 234 nur
als Beispiel und ist nicht hierauf beschränkt. Das Berechnungsausführungs-Skript 234 ist
akzeptabel, wenn es mindestens die vorstehend genannten Informationen
enthält.
-
Die
Informationsanalyseeinheit 25 extrahiert eine Berechnungszeit,
ein Verzeichnis für Ein/Ausgabedateien und ein Merkmal
der ein/auszugebenden Dateien. Hierbei bedeutet das Merkmal der
Dateien zum Beispiel die Dateigröße und die Anzahl
der Dateien.
-
Als
Nächstes bestimmt in Schritt 503 die Volume-Verwaltungseinheit 26 die
nötige Spezifikation für das erste Dateispeicher-Volume 51 zum
Speichern der für die Berechnung verwendeten Dateien aus
dem Merkmal der Dateien. Ein Beispiel für das Verfahren
zur Bestimmung der Spezifikation wird nachstehend beschrieben.
-
Wenn
zum Beispiel die für die Berechnung verwendete Dateigröße
größer ist als eine vorbestimmte Dateigröße
(die Dateigröße ist zum Beispiel gleich oder größer
als 1 TB), wird die Anzahl der Festplatten, die ein für
die Berechnung verwendetes Volume bilden, auf die maximale Anzahl
von Festplatten (zum Beispiel 16 Einheiten) eingestellt, die in der
Speichervorrichtung 11 auf der ersten Ebene sinnvoll vorgesehen
werden können. In diesem Fall wird das vorzusehende erste
Dateispeicher-Volume 51 vorläufig auf tmp0 eingestellt,
und die Anzahl der Festplatten, die das Volume 51 bilden,
wird auf als Spezifikation von tmp0 eingestellt.
-
Die
Dateien sind über alle Festplatten verteilt, die das Volume
bilden, das auf den Festplatten gespeichert werden soll. Daher wird
die Anzahl der Festplatten, die das Volume bilden, erhöht,
so dass ein paralleles Maß für das Auslesen der
Dateien verbessert werden kann, wodurch der Durchsatz beim Auslesen
der Daten erhöht wird.
-
Als
weiteres Beispiel wird, wenn die Anzahl der Dateien größer
ist als eine vorbestimmte Anzahl, die Anzahl der ersten Dateispeicher-Volumes 51 auf eine
Anzahl eingestellt, die gleich oder größer als eine
vorbestimmte Anzahl ist, die auf jede Anzahl von Dateien eingestellt
wird. Wenn zum Beispiel die Anzahl der Dateien gleich oder größer
als 1.000 Stück ist, wird die Anzahl der ersten Dateispeicher-Volumes 51 auf
ein Hundertstel (1/100) der Anzahl der Dateien eingestellt. Hier
wird die Anzahl der ersten Dateispeicher-Volumes 51 vorläufig
auf acht Stück und zwar auf tmp1 bis tmp8 eingestellt.
-
Dies
geschieht, weil der Auslesedurchsatz zu einem Engpass im Hinblick
auf die Dateien in dem Volume wird, wenn zum Beispiel alle Dateien
in einem Volume gespeichert sind. Die Dateien sind jedoch verteilt
auf mehreren Volumes gespeichert, die zuvor in Reaktion auf die
Anzahl der Dateien bestimmt werden, so dass der Auslesedurchsatz
verbessert werden kann.
-
Hierbei
sollte natürlich die Kapazität jedes Volumes (tmp0
bis tmp8) für die beiden vorgenannten Fälle größer
als die Gesamtgröße aller Dateien sein, die in
jedem der Volumes gespeichert sind.
-
Als
Nächstes bestimmt in Schritt 504 die Volume-Verwaltungseinheit 26 eine
Entsprechungsbeziehung (Zuordnung) zwischen dem Dateispeicher-Verzeichnis 81 und
dem ersten Dateispeicher-Volume 51 (tmp0 bis tmp8).
-
Die
Entsprechungsbeziehung wird anhand von 5 als Beispiel
beschrieben. 5 zeigt, dass das erste Dateispeicher-Volume 51 in
der Entsprechungsbeziehung zwischen dem Dateispeicher-Verzeichnis 81 und
dem zweiten Dateispeicher-Volume 52 eingefügt
ist, die beide vor dem Start der Berechnung für den Benutzer
verwendet werden, wie in 4 beschrieben. Hier wird die
Beziehung von tmp0 bis tmp8 als das erste Dateispeicher-Volume 51 hinzugefügt.
In dem Verzeichnisbaum 92 in 5 werden
sie als tmp0 unter dem Verzeichnis usr0 durch den Dateiserver 13 und
als die Volumes tmp1 bis tmp8 unter dem Verzeichnis usr1 durch den Dateiserver 13 hinzugefügt.
-
Das
heißt, Dateien, die größer als eine vorbestimmte
Dateigröße sind, die in der Berechnung durch usr0
verwendet wird, werden im zweiten Dateispeicher-Volume usr0/dir0
gespeichert, weshalb tmp0 in dem Verzeichnis tmp0 unter vdir0 als
das erste Dateispeicher-Volume 51 in der Speichervorrichtung 11 auf
der ersten Ebene zum Speichern der vorstehend genannten Dateien
gemountet wird.
-
Weiter
ist die Anzahl der für die Berechnung durch den Benutzer
usr1 zu verwendenden Dateien größer als die vorbestimmte
Anzahl von Dateien, und diese Dateien sind im zweiten Dateispeicher-Volume usr1/dir0
bis dir2 gespeichert. tmp1 bis tmp8 werden in tmp1 bis tmp8 unter
den drei Verzeichnissen vdir0 bis vdir2 als das erste Dateispeicher-Volume 51 in der
Speichervorrichtung 11 auf der ersten Ebene zum Speichern
der vorstehend genannten Dateien gemountet.
-
Zur
klaren Unterscheidung der Entsprechungsbeziehung zwischen dem Verzeichnis
zum Mounten des zweiten Dateispeicher-Volumes und dem Verzeichnis
zum Mounten des ersten Dateispeicher-Volumes wird in diesem Fall
das Verzeichnis für das entsprechende erste Dateispeicher-Volume
auf vdir0 bis vdir2 eingestellt, wobei das zweite Dateispeicher-Volume
auf dir0 bis dir2 eingestellt ist, wenn sowohl das erste als auch
das zweite Volume dieselben Dateien speichern. In diesem Zusammenhang müssen
die Verzeichnisse nicht unbedingt wie vorstehend beschrieben benannt
sein, wenn sowohl das erste als auch das zweite Volume eindeutig
als die Entsprechungsbeziehung verwaltet werden.
-
Als
Nächstes plant in Schritt 505 die Volume-Verwaltungseinheit 26 die
Zeit zum Auswählen und Erzeugen des ersten Dateispeicher-Volumes, dessen
Spezifikation in Schritt 503 bestimmt wird, und die Zeit
zum Mounten des ersten Dateispeicher-Volumes im Benutzerverzeichnis.
-
Ein
Verfahren zur Bestimmung der Mount/Unmount-Zeit wird durch die Steuerung
der Ausführungsreihenfolge der Aufträge durch
die Auftragsablaufsteuerung 202 definiert. Dabei gibt es zwei
Verfahren zur Steuerung des Auftragsausführungsverfahrens
durch die Auftragsablaufsteuerung 202: (1) Ein anschließend
bestellter Auftrag wird an die Ausführung übergeben,
wenn die Auftragsausführung abgeschlossen ist, und (2)
mehrere Aufträge werden an die Verwaltungseinheit 201 für
anstehende Aufträge geliefert, eine Ausführungsstartzeit
und eine Ausführungsendezeit werden für die jeweiligen Aufträge
anhand einer berechneten Zeit geplant, die im Berechnungsausführungs-Skript 234 für
die anstehenden Aufträge beschrieben ist, und die Aufträge werden
in der Reihenfolge auf der Grundlage des Plans ausgeführt.
-
Im
Falle von Abschnitt (1) wird ein Einspeicherungszeitraum für
Dateien berechnet, so dass die Datei für die Berechnung
durch den Auftrag als ein Ziel in der Warteschlange verwendet wird,
und der erforderliche Zeitraum für die Berechnung des vorherigen
Auftrags ab dem gegenwärtigen Zeitraum wird geprüft.
Dabei ist der Einspeicherungszeitraum für die Dateien abhängig
von der Anzahl der einzuspeichernden Dateien. Der Einspeicherungszeitraum wird
in Erwartung einer Marge zum Beispiel 10% größer
als der berechnete Zeitraum eingestellt, der anhand der jeweiligen
Dateigrößen und des Datenübertragungsdurchsatzes
von der Speichervorrichtung 12 auf der zweiten Ebene an
die Speichervorrichtung 11 auf der ersten Ebene berechnet
wird. Der Mount-Zeitraum wird nicht bestimmt, wenn der Einspeicherungszeitraum
kürzer ist als der berechnete Zeitraum für den
vorherigen Auftrag. Der vorherige Auftrag wird an die Ausführung übergeben,
und Informationen, die angeben, dass die Ausführung gestartet worden
ist, werden dann vom Computer-Verwaltungsserver 18 an die
Volume-Verwaltungseinheit 26 gemeldet. Wenn das Einspeichern
der Dateien für den vorherigen Auftrag abgeschlossen ist,
werden Informationen, die den Abschluss des Einspeicherns angeben,
vom Computer-Verwaltungsserver 18 an die Volume-Verwaltungseinheit 26 gemeldet,
wenn der Einspeicherungszeitraum länger ist als der berechnete
Zeitraum für den vorherigen Auftrag. In diesem Fall wird
das Einspeichern der Dateien für den Auftrag je nach der
für die Berechnung des Auftrags nötigen Zeit bisweilen
nicht abgeschlossen, obwohl der vorherige Auftrag abgeschlossen
ist. In einem solchen Fall kann der Auftrag nicht ausgeführt
werden. Um eine solche Situation zu vermeiden, meldet der Speicherverwaltungsserver 19 Informationen,
die angeben, ob das Einspeichern der nötigen Dateien abgeschlossen
ist, an den Computer-Verwaltungsserver 18. Der Computer-Verwaltungsserver 18 prüft vor
der Ausführung der jeweiligen Aufträge anhand der
vom Speicherverwaltungsserver 19 übermittelten Informationen über
den Abschluss des Einspeicherns, ob das Einspeichern der für
die Ausführung des Auftrags nötigen Dateien abgeschlossen
ist. Der Computer-Verwaltungsserver 18 steuert auch, dass der
Auftrag ausgeführt wird, wenn das Einspeichern abgeschlossen
ist, und dass er nach Abschluss des Einspeicherns ausgeführt
wird, wenn das Einspeichern nicht abgeschlossen ist.
-
Darüber
hinaus wird ein Unmount-Zeitraum auf eine Zeit eingestellt, die
der Summe des berechneten Zeitraums für den Auftrag plus
der Zeit entspricht, wann der Auftrag an die Ausführung übergeben
wird. Daher wird im Falle von Abschnitt (1) der Unmount-Zeitraum
bestimmt, nachdem die Auftragsausführung gestartet ist.
-
Im
Falle von Abschnitt (2) erhält die Volume-Verwaltungseinheit 26 die
Ausführungsstartzeit und die Ausführungsendezeit
für die jeweiligen Aufträge aus den vorstehend
vom Computer-Verwaltungsserver 18 empfangenen Informationen.
Daher wird eine Mount-Startzeit vor einer bestimmten Zeit ab der
Ausführungsstartzeit für den Auftrag eingestellt,
wobei die bestimmte Zeit von der Anzahl der Dateien abhängig
ist, die eingespeichert werden müssen. Die bestimmte Zeit
wird in Erwartung einer Marge zum Beispiel 10% größer
als der berechnete Zeitraum eingestellt, der anhand der jeweiligen
Dateigrößen und des Datenübertragungsdurchsatzes von
der Speichervorrichtung 12 auf der zweiten Ebene an die
Speichervorrichtung 11 auf der ersten Ebene berechnet wird.
-
Der
Unmount-Zeitraum wird nach einer bestimmten Zeit ab der Ausführungsendezeit
des Auftrags eingestellt. Die bestimmte Zeit ist die zum Ausgeben
des Berechnungsergebnisses für den Auftrag erforderliche
Zeit, das heißt ein zuvor durch den Schreibdurchsatz der
Speichervorrichtung 11 auf der ersten Ebene bestimmter
Wert für jede der Dateigrößen und ein
aus der Dateigröße berechneter Wert.
-
In
Schritt 506 wartet der Prozess, bis eine Zeit eine festgelegte
Zeit (Taktzeit) 1 wird. Im Falle von Abschnitt (1) wird die festgelegte
Zeit 1 nicht im Voraus bestimmt. Die festgelegte Zeit 1 wird ein
Zeitpunkt, an dem der gemeldete vorherige Auftrag vom Computer-Verwaltungsserver 18 an
die Ausführung übergeben wird oder das Einspeichern
der Dateien für den vorherigen Auftrag abgeschlossen ist.
Im Falle von Abschnitt (2) wird die festgelegte Zeit 1 eine frühere
Zeit, die um die für den Prozess des Auswählens
oder Erzeugens des ersten Dateispeicher-Volumes 51 erforderliche
Zeit früher als die in Schritt 505 ist. Hier prüft
der Prozess, ob ein notwendigerweise angegebenes Volume sich in
der Speichervorrichtung 11 auf der ersten Ebene befindet.
Eine „Auswahlzeit" ist erforderlich, wenn sich das Volume
dort befindet, und eine „für den Erzeugungsprozess
nötige Zeit" ist erforderlich, wenn sich das Volume nicht dort
befindet.
-
Wenn
die festgelegte Zeit 1 kommt, weist die Volume-Verwaltungseinheit 26 in
Schritt 507 die Speichervorrichtung 11 auf der
ersten Ebene an, das erste Dateispeicher-Volume 51, dessen
Spezifikation in Schritt 503 bestimmt wird, durch die Speicherverwaltungseinheit 28 auszuwählen
und zu erzeugen.
-
Als
Nächstes prüft die Speicherverwaltungseinheit 28 den
Abschluss entweder des Auswählens oder des Erzeugens des
Volumes in Schritt 508. Wenn diese Vorgänge abgeschlossen
sind, wird der Prozess mit Schritt 509 fortgesetzt.
-
In
Schritt 509 weist die Volume-Verwaltungseinheit 26 den
Dateiserver 13 über die Speicherverwaltungseinheit 28 an,
das in Schritt 507 ausgewählte und erzeugte erste
Dateispeicher-Volume 51 im Benutzerverzeichnis zu mounten
und die für den Auftrag verwendeten Dateien entsprechend
dem in Schritt 504 bestimmten Verzeichnisbaum einzuspeichern.
Der Dateiserver 13 führt das Mounten aus und speichert
die für den Auftrag verwendeten Dateien nach Abschluss
des Mountens ein.
-
Bei
dem in 5 gezeigten Beispiel wird das Einspeichern so
ausgeführt, dass die Dateien von usr0/dir0 nach usr0/vdir0/tmp0
kopiert werden. Weiter wird das Einspeichern so ausgeführt,
dass die Dateien von usr1/dir0 verteilt nach usr1/vdir0/tmp1 und tmp2,
die Dateien von usr1/dir1 verteilt nach usr1/vdir1/tmp3 bis tmp6
und die Dateien von usr1/dir2 verteilt nach usr1/vdir2/tmp7 und
tmp8 kopiert werden.
-
In
Schritt 510 prüft die Speicherverwaltungseinheit 28 das
Vorliegen eines Berichts über den Abschluss des Einspeicherns
vom Dateiserver 13, und der Prozess wird mit Schritt 511 fortgesetzt,
wenn der Abschlussbericht vorliegt.
-
In
Schritt 511 meldet die Speicherverwaltungseinheit 28 den
Abschluss des Einspeicherns der für den Auftrag benötigten
Dateien über die Informationserfassungseinheit 24 an
den Computer-Verwaltungsserver 18.
-
Als
Nächstes wartet in Schritt 512 der Prozess, bis
eine festgelegte Zeit (Taktzeit) 2 wird. Im Falle von Abschnitt
(1) wird die festgelegte Zeit 2 bestimmt, nachdem der Auftrag ausgeführt
ist, wie vorstehend beschrieben, und auf eine Zeit eingestellt, die
der Summe des berechneten Zeitraums für den Auftrag plus
der Zeit entspricht, wann der Auftrag an die Ausführung übergeben
wird. Dabei können das Ausspeichern der Dateien und das
Unmounten der Volumes nicht durchgeführt werden, wenn der
Auftrag auch zu der festgelegten Zeit 2 nicht abgeschlossen ist,
zum Beispiel die für die Berechnung erforderliche Zeit
ab einer geplanten Zeit verlängert wird. Aus diesem Grund
ist der Abschlussbericht für den Auftrag zum Empfangen
vom Computer-Verwaltungsserver 18 angepasst. Auf der Grundlage
der Informationen wird geprüft, ob der Auftrag abgeschlossen
ist, wenn die festgelegte Zeit 2 kommt. Der Prozess in Schritt 513 wartet
auf die Ausführung, bis der Speicherverwaltungsserver 19 den
Abschlussbericht für den Auftrag erhält, wenn
der Auftrag nicht abgeschlossen ist. Im Falle von Abschnitt (2)
wird die festgelegte Zeit 2 die in Schritt 505 bestimmte
Zeit. Hierbei wird, wenn der Auftrag auch zu der festgelegten Zeit
2 nicht abgeschlossen ist, derselbe Prozess wie in Abschnitt (1)
ausgeführt.
-
In
Schritt 513 weist die Speicherverwaltungseinheit 28 den
Dateiserver 13 an, die Dateien auszuspeichern, wenn die
festgelegte Zeit 2 kommt, und der Dateiserver 13 führt
das Ausspeichern entsprechend der Anweisung durch. Das heißt,
die Dateien werden kopiert, wobei das durch Schritt 509 beschriebene
Kopierquellverzeichnis ein Kopierzielverzeichnis ist und das Kopierzielverzeichnis
eine Kopierquelle ist. Der Dateiserver 13 unmountet daraufhin
das erste Dateispeicher-Volume 51 aus dem Benutzerverzeichnis,
wenn das Ausspeichern der Dateien abgeschlossen ist, und bringt
das Benutzerverzeichnis in den in 4 gezeigten
Zustand zurück. In Schritt 514 prüft
die Speicherverwaltungseinheit 28 das Vorliegen eines Berichts über
den Abschluss des Unmountens vom Dateiserver 13. Der Prozess
wird mit Schritt 515 fortgesetzt, wenn die Speicherverwaltungseinheit 28 den
Bericht über den Abschluss des Unmountens erhält.
-
In
Schritt 515 gibt der Speicherverwaltungsserver 19 das
erste Dateispeicher-Volume 51 nach dem Unmounten als ein
für die anderen Aufträge zu verwendendes Dateispeicher-Volume
frei. Danach wird der Prozess von Schritt 506 bis Schritt 515 wiederholt.
-
Nach
der Ausführungsform können die nötigen
Dateien in die Speichervorrichtung 11 auf der ersten Ebene
eingespeichert werden, wenn ein Auftrag die Dateien für
die Ausführung durch die Computer 14 benötigt;
daher ist es möglich, das Ein/Ausgeben der Dateien in und
von den Computern 14 dank der hohen Leistung der Speichervorrichtung 11 auf der
ersten Ebene zu beschleunigen. Außerdem ist es möglich,
die Kapazität der Speichervorrichtung 11 auf der
ersten Ebene zu minimieren, wodurch die Kosten des Speichersystems
verringert werden können.
-
In
der Ausführungsform wird das erste Dateispeicher-Volume 51 unmountet,
aber erst freigegeben, wenn die Auftragsausführung in den
Computern 14 abgeschlossen ist und die ausgegebenen Dateien ausgespeichert
sind, nachdem das erste Dateispeicher-Volume 51 für
den Auftrag als Benutzerverzeichnis gemountet ist.
-
Bei
dem in 6 gezeigten Prozess kann jedoch das erste Dateispeicher-Volume 51 aus
dem Verzeichnis unmountet werden, und das betreffende Volume kann
als das erste Dateispeicher-Volume 51 zur Verwendung für
die anderen Aufträge reserviert und in den anderen Benutzerverzeichnissen
gemountet werden, nachdem der Speicherverwaltungsserver 19 den
Abschluss des Einspeicherns in Schritt 511 an den Computer-Verwaltungsserver 18 meldet, und
der Computer 14 liest die Dateien aus dem Benutzerverzeichnis
aus. In diesem Fall kann ein neu erforderliches Volume reserviert
werden, und das betreffende Volume kann in dem Benutzerverzeichnis gemountet
werden, bevor der Auftrag, der das Benutzerverzeichnis verwendet,
in dem das Volume unmountet wird, abgeschlossen ist.
-
Weiter
werden die jeweiligen für die Eingabedateien und die Ausgabe
verwendeten Verzeichnisse und Volumes im Voraus getrennt bereitgestellt.
Das Eingabe-Volume wird aus dem Eingabeverzeichnis unmountet, nachdem
die Ausführung des Auftrags gestartet worden ist, und das
Eingabe-Volume kann für die anderen Aufträge freigegeben
werden.
-
Außerdem
werden im Falle der festgelegten Zeit 1 das Eingabeverzeichnis und
das Eingabe-Volume allein im Voraus bereitgestellt. Das Eingabe-Volume
kann aus dem Eingabeverzeichnis unmountet werden, und das betreffende
Volume wird für die anderen Aufträge freigegeben,
nachdem die Ausführung des Auftrags gestartet worden ist.
Das Ausgabe-Volume kann vor der festgelegten Zeit 2 reserviert werden,
und das betreffende Volume kann im Ausgabeverzeichnis gemountet
werden.
-
Nach
der vorstehenden Steuerung kann die erforderliche Kapazität
für die Speichervorrichtung 11 auf der ersten
Ebene weiter verringert werden, wodurch die Kosten für
das Speichersystem 2 gesenkt werden können.
-
Wenn
das Ausgabe-Volume nicht reserviert werden kann, weil die Kapazität
der Speichervorrichtung 11 auf der
ersten Ebene zu
der festgelegten Zeit 2 nicht ausreicht, werden die Dateien für
den Auftrag direkt in das Benutzerverzeichnis geschrieben, in dem
das zweite Dateispeicher-Volume 52 zum Speichern der Auftragsdateien
der Speichervorrichtung 12 auf der zweiten Ebene gemountet
wird, so dass die unzureichende Kapazität der Speichervorrichtung 11 auf
der ersten Ebene vermieden werden kann. Nachstehend wird ein Speichersystem 2 nach
dieser Ausführungsform anhand eines Beispiels für
ein Verfahren zur Verringerung des Stromverbrauchs in 10 beschrieben.
Bei diesem Verfahren wird die Stromversorgung der Festplatte 42,
die die Volumes zum Speichern der Dateien für die Speichervorrichtung 12 auf der
zweiten Ebene bildet, nur zum Zeitpunkt des Ein- und Ausspeicherns
der Dateien für den Ausführungsauftrag zwischen
der Speichervorrichtung 12 auf der zweiten Ebene und der
Speichervorrichtung 11 auf der ersten Ebene eingeschaltet.
Außer während der vorstehend genannten Zeit ist
die Stromversorgung der Festplatte 42, die die Volumes
bildet, deren Dateien nicht Gegenstand des Ein- und Ausspeicherns sind,
ausgeschaltet.
-
10 zeigt
den Ablauf des vorstehenden Verfahrens. Der Grundablauf des Prozesses
ist derselbe wie in 6, wobei die abweichenden Schritte nachstehend
beschrieben werden.
-
Vor
Ausführung von Schritt 411 (entsprechend Schritt 509 in 6)
gibt der Speicherverwaltungsserver 19 in Schritt 409 eine
Anweisung an die Speichervorrichtung 12 auf der zweiten
Ebene aus, die Stromversorgung der Festplatte 42 einzuschalten,
die das zweite Dateispeicher-Volume 52 zum Speichern der
Dateien bildet, die eingespeichert werden sollen. Der Speicherverwaltungsserver 19 weist eine
Tabelle auf, die eine Entsprechungsbeziehung zwischen dem zweiten
Dateispeicher-Volume 52 und der Festplatte 42 angibt,
die dessen Volumes bildet.
-
In
Schritt 410 prüft der Speicherverwaltungsserver 19 den
Abschlussbericht für das Einschalten der Stromversorgung,
der von der Speichervorrichtung 12 auf der zweiten Ebene
an die Festplatte 42 gegeben werden muss, und der Prozess
wird mit Schritt 411 fortgesetzt, wenn er den Abschlussbericht erhält.
-
Nach
Schritt 413 gibt der Speicherverwaltungsserver 19 eine
Anweisung an die Speichervorrichtung 12 auf der zweiten
Ebene aus, um die Stromversorgung der Festplatte 42 in
Schritt 414 wieder auszuschalten, wobei die Festplatte 42 das
zweite Dateispeicher-Volume 52 zum Speichern der Dateien
bildet, deren Einspeichern abgeschlossen ist.
-
Als
Nächstes gibt der Speicherverwaltungsserver 19 in
Schritt 416 eine Anweisung an die Speichervorrichtung 12 auf
der zweiten Ebene aus, um die Stromversorgung der Festplatte 42 wieder
einzuschalten, wobei die Festplatte 42 das zweite Dateispeicher-Volume 52 für
den Auftrag bildet, wenn die festgelegte Zeit 2 kommt.
-
In
Schritt 417 prüft der Speicherverwaltungsserver 19 den
Abschlussbericht für das Einschalten der Stromversorgung,
der von der Speichervorrichtung 12 auf der zweiten Ebene
an die Festplatte 42 gegeben wird, und der Prozess wird
mit Schritt 418 fortgesetzt, wenn er den Abschlussbericht
erhält.
-
Nach
Schritt 420 gibt der Speicherverwaltungsserver 19 in
Schritt 421 eine Anweisung an die Speichervorrichtung 12 auf
der zweiten Ebene aus, um die Stromversorgung der Festplatte 42 wieder auszuschalten,
wobei die Festplatte 42 das zweite Dateispeicher-Volume 52 zum
Speichern der Dateien bildet, deren Ausspei chern abgeschlossen ist.
Danach wird der Prozess von Schritt 406 bis Schritt 421 wiederholt.
-
Weiter
kann der Speicherverwaltungsserver 19 nach Schritt 413 eine
Anweisung an die Speichervorrichtung 11 auf der ersten
Ebene ausgeben, um die Stromversorgung der Festplatte 42 auszuschalten,
wobei die Festplatte 42 das erste Dateispeicher-Volume 51 zum
Speichern der Dateien bildet, nachdem der Computer 14 die
Eingabedateien gelesen hat. In diesem Fall gibt der Speicherverwaltungsserver 19 nach
Schritt 416 eine Anweisung an die Speichervorrichtung 11 auf
der ersten Ebene aus, um die Stromversorgung der Festplatte 42,
die ausgeschaltet worden war, wieder einzuschalten. Der Speicherverwaltungsserver 19 weist
eine Tabelle auf, die eine Entsprechungsbeziehung zwischen dem ersten Dateispeicher-Volume 51 und
der Festplatte 42 angibt, die dessen Volumes bildet.
-
Dadurch
ist es möglich, den Stromverbrauch des Speichersystems
im Vergleich zu dem Fall, wo die Stromversorgung der Festplatte 42 in
der Speichervorrichtung 12 auf der zweiten Ebene nur ausgeschaltet
wird, weiter zu verringern.
-
Die übrigen
Schritte 401 bis 405, 407, 408, 412, 415, 418 und 419 entsprechen
den Schritten mit denselben Beschreibungen in 6.
-
Zweite Ausführungsform
-
Eine
zweite Ausführungsform der Erfindung wird nachstehend beschrieben.
-
8 zeigt
den Aufbau eines Speichersystems mit Speichervorrichtungen nach
der zweiten Ausführungsform. Das Speichersystem in 8 ist bis
auf die folgenden Abweichungen dasselbe wie in 1.
-
Das
heißt, die Speichervorrichtung 11 auf der ersten
Ebene weist ein Speicherauszugs-Volume 53 auf, das mit
den Computern 14 über einen FC-Switch 15 verbunden
ist.
-
In
dem Speichersystem nach dieser Ausführungsform wird der
Inhalt der Arbeitsspeicher (von den Prozessoren bei den Berechnungen
verwendete Daten) aller der bei der Auftragsausführung
durch die Computer 14 verwendeten Prozessoren periodisch bei
der Auftragsausführung ohne Änderung in das Speicherauszugs-Volume 53 geschrieben.
Ein Zeitpunkt, an dem der Inhalt des Arbeitsspeichers in das Speicherauszugs-Volume 53 geschrieben
wird, wird als Kontrollpunkt bezeichnet. Auf diese Weise wird der
Inhalt des Arbeitsspeichers in dem für die Berechnung verwendeten
Prozessor an jedem Kontrollpunkt in das Speicherauszugs-Volume 53 geschrieben,
so dass der im Arbeitsspeicher gespeicherte Inhalt, der unmittelbar
vor dem Kontrollpunkt in das Speicherauszugs-Volume 53 geschrieben
worden ist, in den Speicher des Computers 14 geschrieben wird,
wenn die Auftragsausführung aufgrund eines Ausfalls des
Computers angehalten wird. Daher ist es möglich, die Berechnung
ab einem Zeitpunkt unmittelbar vor dem Kontrollpunkt neu zu starten
und fortzusetzen.
-
Falls
der vorstehende Prozess nicht durchgeführt wird, muss die
Berechnung von Anfang an neu gestartet werden, wenn die Auftragsausführung aufgrund
eines Ausfalls des Computers angehalten wird. Dies bewirkt eine
Verschwendung von Berechnungszeit.
-
Im
Falle des Speichersystems, das den vorstehenden Prozess durchführt,
muss das Speicherauszugs-Volume 53 in der Speichervorrichtung 11 auf
der ersten Ebene vorgesehen werden, getrennt von dem Ein/Ausgabe-Volume
(erstes Dateispeicher-Volume 51), das für die
Dateien für die Computer 14 verwendet wird. Daher
ist im Vergleich zu einem Fall, wo das Speicherauszugs-Volume 53 nicht vorgesehen
ist, eine große Kapazität nötig. Dadurch steigen
die Kosten für das Speichersystem 2. Um die Kostensteigerung
zu verhindern, wird eine Zuordnung für das Speicherauszugs-Volume 53 durchgeführt,
wie nachstehend beschrieben.
-
Die
Anzahl der Volumes und deren durch das Speicherauszugs-Volume 53 zu
reservierende Kapazität wird auf der Grundlage der Informationen
bestimmt, die der Speicherverwaltungsserver 19 vom Computer-Verwaltungsserver 18 erhält,
wobei die Informationen die Anzahl der Schreibvorgänge
oder die Anzahl der Kontrollpunkte enthalten, entsprechend denen
im Arbeitsspeicher enthaltene Daten für die Berechnung
im Computer 14 verwendet werden und die Arbeitsspeicher
der Computer 14 in das Speicherauszugs-Volume 53 geschrieben
werden. Die Kapazität des Speicherauszugs-Volumes 53 wird zum
Beispiel auf (Kapazität des Arbeitsspeichers) × (Anzahl
der Kontrollpunkte) eingestellt, wenn der Inhalt des Arbeitsspeichers
an allen Kontrollpunkten in ein Volume als ein Stück des
Speicherauszugs-Volumes 53 geschrieben wird. Weiter wird
die Kapazität des Speicherauszugs-Volumes 53 auf
eine Kapazität eingestellt, die um 5% größer
als die Kapazität des Arbeitsspeichers ist, so dass sie
entweder gleich der Kapazität des Arbeitsspeichers oder
zum Beispiel mit einer Marge größer ist.
-
Nachstehend
wird das Zuordnungsverfahren für das Speicherauszugs-Volume 53 beschrieben. Das
Verfahren wird durch Ausführung der Speichervorrichtung 11 auf
der ersten Ebene auf der Grundlage einer Anweisung vom Speicherverwaltungsserver 19 realisiert.
Die Zuordnung zum ersten Dateispeicher-Volume 51 erfolgt
mit Priorität, und die übrigen Volumes werden
danach dem Speicherauszugs-Volume 53 zugeordnet, wobei
die Volumes durch die Speichervorrichtung 11 auf der ersten
Ebene zugeordnet werden. Dies geschieht, weil das erste Dateispeicher-Volume 51 ein
Volume zum Speichern der für die Auftragsausführung
nötigen Dateien ist und der Auftrag nicht ausgeführt
werden kann, ohne dieses Volume zu reservieren.
-
Die
Zuordnung der Volumes erfolgt wie vorstehend beschrieben. Falls
die Kapazität die maximale Kapazität der Speichervorrichtung 11 auf
der ersten Ebene übersteigt, wenn die berechnete Anzahl
der Speicherauszugs-Volumes 53 und die Kapazität
der jeweiligen Volumes für die Kontrollpunkte und Berechnungen
auf der Grundlage des Arbeitsspeichers reserviert sind, wird über
den Computer-Verwaltungsserver 18 ein Bericht an den Benutzer
gesendet, in dem dieser aufgefordert wird, einen neuen Wert für
die Anzahl der Kontrollpunkte einzustellen.
-
Oder
die maximale Anzahl der Speicherauszugs-Volumes 53, die
die übrigen Volumes zuordnen können, wird zugeordnet,
ohne die nötige Anzahl von Speicherauszugs-Volumes 53 bereitzustellen.
Die Daten für einen neuen Kontrollpunkt überschreiben die
im Speicherauszugs-Volume 53 gespeicherten Daten des frühesten
Kontrollpunkts, wenn die Speicherauszugs-Volumes 53, die
für die Berechnung vorgesehen sind, aufgebraucht sind.
In diesem Fall kann dem Benutzer über den Computer-Verwaltungsserver 18 die
Ausführung des vorstehenden Prozesses gemeldet werden,
und der Benutzer kann auswählen, ob der Prozess ausgeführt
wird oder die Anzahl der Kontrollpunkte erneut eingestellt wird.
-
Im
Einzelnen wird die Anzahl der Speicherauszugs-Volumes 53 auf
zwei bis drei Stück eingestellt, und die Volumes in einem
Bereich dieser Anzahl können wiederholt verwendet werden.
Das heißt, die Daten des neuen Kontrollpunkts überschreiben
das Volume für den früheren Kontrollpunkt, wenn
die Anzahl der Volumes gering ist.
-
Weiter
werden dem Benutzer die vorstehenden drei Zuordnungsverfahren am
Anfang angezeigt, und er kann dann eines der Verfahren auswählen.
-
Wenn
die Berechnungsstartzeit und -endezeit für den Auftrag
im Voraus bekannt sind und der Berechnungszeitraum im Vergleich
zu dem für die Zuordnung zu einem anderen Volume und das
Mounten/Unmounten im Benutzerverzeichnis benötigten Zeitraum
lang ist, wird das zum Speichern der Eingabedateien verwendete erste
Dateispeicher-Volume 51 aus dem Benutzerverzeichnis unmountet
und kann dem anderen Speicherauszugs-Volume 53 zugeordnet
werden. In diesem Fall werden die Speicherauszugs-Volumes 53 gleich
der nötigen Anzahl von Volumes zum Speichern der Ausgabedateien
für den Auftrag freigegeben, und das Zuordnen zu Volumes
als Volumes zum Speichern der zu mountenden Ausgabedateien als das
Benutzerverzeichnis wird vor der bestimmten Zeit, die früher
als die Berechnungsendezeit ist, erneut durchgeführt.
-
Auf
diese Weise ist es möglich, die für die Speichervorrichtung 11 auf
der ersten Ebene erforderliche Kapazität zu verringern.
Dadurch können die Kosten für das Speichersystem 2 verringert
werden.
-
Hierbei
kann der Inhalt des Arbeitsspeichers am Kontrollpunkt, wenn er in
den vorstehend genannten Speicherauszugs-Volumes 53 gespeichert ist,
zu einem vom Benutzer festgelegten Kontrollpunkt in das Speicherauszugs-Volume 53 in
der Speichervorrichtung 12 auf der zweiten Ebene ausgespeichert
werden. Auf diese Weise kann der Berechnungszeitraum verkürzt
werden, wenn eine Berechnung nach Abschluss der Berechnung ab einem bestimmten
Kontrollpunkt erneut ausgeführt wird.
-
Obwohl
in der vorstehenden Beschreibung Ausführungsformen der
Erfindung beschrieben sind, ist für den Fachmann weiter
ersichtlich, dass die Erfindung nicht hierauf beschränkt
ist und dass verschiedene Änderungen und Modifikation vorgenommen
werden können, ohne vom Gedanken der Erfindung und vom
Umfang der anliegenden Ansprüche abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - JP 2004-70403
A [0005, 0008]