DE10035639A1 - Schedulingverfahren und -gerät für Netzergänzungsspeichergeräte und andere Systeme - Google Patents

Schedulingverfahren und -gerät für Netzergänzungsspeichergeräte und andere Systeme

Info

Publication number
DE10035639A1
DE10035639A1 DE10035639A DE10035639A DE10035639A1 DE 10035639 A1 DE10035639 A1 DE 10035639A1 DE 10035639 A DE10035639 A DE 10035639A DE 10035639 A DE10035639 A DE 10035639A DE 10035639 A1 DE10035639 A1 DE 10035639A1
Authority
DE
Germany
Prior art keywords
curve
space
filling
attributes
additionally provided
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.)
Withdrawn
Application number
DE10035639A
Other languages
English (en)
Inventor
Walid G Aref
Ibrahim Mostafa Kamel
Sarit Mukherjee
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE10035639A1 publication Critical patent/DE10035639A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Computergestütztes Scheduling-Verfahren und Gerät zur Ablaufplanung von Vorgängen, die eine vorbestimmte Aktivität betreffen. Die Aktivität beinhaltet Vorgänge von Netzergänzungsspeichergeräten oder andere computerbezogene Vorgänge oder nicht computerbezogene Vorgänge, wie beispielsweise Abläufe in Herstellungswerken. Betriebsdaten werden empfangen, die die Vorgänge anzeigen. Attribute, die die empfangenen Betriebsdaten betreffen, werden identifiziert. Eine lineare Ordnung der Attribute wird durch eine vorbestimmte Kurve aufgestellt. Die Kurve ist eine Ansammlung von mindestens im wesentlichen auf Intervallen stetigen Funktionen, derart, daß sie ein sich im wesentlichen wiederholendes Muster formen. Operationen werden, basierend auf der aufgestellten linearen Reihenfolge, vorausgeplant. Die Gesamtperformance-Aspekte des Systems werden signifikant verbessert.

Description

Die vorliegende Erfindung betrifft allgemein computergestützte Ablaufplaner (Scheduler) und insbesondere computergestützte Scheduler für Computerbefehle und andere Systeme.
Die Ablaufplanung, welche Vorgänge vor welchen anderen Vorgängen kommen, ist ein allgegenwärtiges Problem. Dieses Problem tritt auf bei der Festlegung, welche Computerdateien vor welchen anderen Dateien aus dem Computerspeicher zurück­ geholt werden sollen. Dieses Problem tritt ebenfalls bei der Festlegung auf, welche Befehlsfolgen (threads) vor welchen anderen Threads bearbeitet werden sollen. Außerhalb des Computerbereichs tritt dieses Problem bei Fertigungssystemen auf, bei denen bestimmt werden muß, welche Fertigungsschritte vor anderen ausgeführt werden. Dies sind nicht-begrenzende Beispiele dafür, wo Ablaufplanungsprobleme auftreten.
Ein näheres nicht-begrenzendes Beispiel besteht im Zusammenhang mit der Ablauf­ planung der Informationsspeicherung bei einem Computer. Das Problem der Ab­ laufplanung der Informationsspeicherung ist mehrdimensional in dem Sinne, daß es viele Parameter und Systemkomponenten aufweist. Mit dem hochdimensionalen Ablaufplanungsraum ist es schwierig, einen Schedulingalgorithmus für ein Netzer­ gänzungsspeichergerät (Network-Attached Storage Device NASD) zu implementie­ ren, der solche Gütekriterien wie beispielsweise Platten-Scheduling-Performance- Aspekte, Netzwerk-Scheduling-Perfoxnance-Aspekte und Ablaufzeiten für Echt­ zeitplattenzugriffe berücksichtigt. Frühere Speicherschedulingansätze sind nicht gut geeignet, um die NASD-Performance im Hinblick auf diese Gütekriterien zu opti­ mieren. Demgemäß fehlt gegenwärtigen Schedulingansätzen eine brauchbare glo­ bale Schedulingstrategie für NASDs, die gleichzeitig die Performance für mehrere Gütekriterien optimiert.
Die vorliegende Erfindung überwinden diesen Nachteil ebenso wie andere Nachteile. Erfindungsgemäß wird ein computergestütztes Schedulingverfahren und ein Gerät zur Ablaufplanung für eine vorbestimmte Aktivität bereitgestellt. Die Aktivität um­ faßt Ablaufplanungsschritte für Netzergänzungsspeichergeräte und andere computerbezogene Vorgänge ebenso wie nicht computerbezogene Vorgänge, wie beispielsweise Herstellungsanlagenabläufe. Betriebsdaten, die die Arbeitsabläufe anzeigen, werden empfangen. Attribute hinsichtlich der empfangenen Betriebsdaten werden identifiziert. Ein lineares Ordnen der Attribute wird durch eine vorbestimmte Kurve erzielt. Die Kurve ist eine Ansammlung von im wesentlichen mindestens auf Intervallen stetigen Funktionen, um ein im wesentlichen sich wiederholendes Muster zu formen. Operationen werden basierend auf der erzielten linearen Ordnung vor­ ausgeplant. Mit so einem Ansatz können Aspekte der Gesamtperformance des Systems signifikant verbessert werden.
Für ein besseres Verständnis der Erfindung, ihrer Aufgaben und Vorteile, sollte auf die folgende Beschreibung und die beiliegenden Zeichnungen Bezug genommen werden.
Fig. 1 ist ein Blockdiagramm, das ein die vorliegende Erfindung verwendendes vernetztes System zeigt;
Fig. 2 ist ein schematisches Diagramm, das die bevorzugten inneren Komponenten für ein NASD zeigt;
Fig. 3 ist ein Blockdiagramm, das die bei der vorliegenden Erfindung verwendeten Funktionen und Daten darstellt;
Fig. 4 ist ein x-y-z-Graph, der eine beispielhafte Anordnung der Attribute im drei­ dimensionalen Raum zeigt, die bei der vorliegenden Verwendung für Sche­ dulinganforderungen berücksichtigt werden;
Fig. 5a-5f zeigen Darstellungen von unterschiedlichen beispielhaften raumfüllen­ den Kurven;
Fig. 6 zeigt ein grafisches Diagramm, das eine Vervielfältigung einer raumfüllen­ den Kurve entlang der nicht beschränkten Dimension zeigt;
Fig. 7 ist ein Diagramm, das ein Beispiel dafür zeigt, wie Anforderungen in umge­ kehrter Reihenfolge in einer Ausführungsform der vorliegenden Erfindung vorausgeplant werden;
Fig. 8 ist ein Diagramm, das ein Beispiel dafür zeigt, wie eine raumfüllende Kipp­ kurve Punkte in einer Richtung ordnet, während die Adressierung springt; und
Fig. 9 zeigt ein Blockdiagramm, das die Funktionen und die verwendeten Daten bei der vorliegenden Erfindung zur Handhabung anderer beispielhafter Anwen­ dungen zeigt.
Fig. 1 zeigt ein Netzwerk 20 mit mehreren Arbeitsstationen (22, 24, 26), das Multi­ mediadatenströme anfordert, und ebenfalls mehrere Netzergänzungsspeichergeräte NASD (30, 32, 34), die an das Netzwerk 20 angeschlossen sind. Die Arbeitsstatio­ nen (22, 24, 26) fordern spezielle Plattenseiten von den NASDs (30, 32, 34) an, wel­ che anschließend die angeforderte Seite enthaltend von dem NASD zu der die Seite anfordernden Arbeitsstation durch das Netzwerk 20 geschickt werden.
Das NASD-System
Fig. 2 zeigt ein NASD 34 der vorliegenden Erfindung, mit einer Platte 50, einer An­ forderungswarteschlange 52, einer zentralen Verarbeitungseinheit 54, einem Puffer­ bereich 56 zur Speicherung von Seiten, die von der Platte gelesen wurden, und einer Netzwerkverbindung über Netzwerkschnittstellen 58 und 60. NASD 34 ist ein Plat­ tenspeichergerät, das direkt mit dem Netzwerk (nicht dargestellt) verbunden ist. NASD 34 besitzt Netzwerkschnittstellen 58 und 60, um Anforderungen von Platten­ seiten aus dem Netzwerk zu empfangen und die resultierenden Datenseite(n) an die anfragende Arbeitsstation zu senden.
Eine einmal empfangene Anforderung wird in der Plattenwarteschlange 52 abgelegt. Nach dem Schedulingalgorithmus der vorliegenden Erfindung, der durch die NASD CPU 54 ausgeführt wird, werden die Anfragen geordnet und in dieser Reihenfolge durch die CPU 54 abgearbeitet. Handelt es sich bei der Anforderung um eine Lese- Anforderung, werden die Daten von der Platte geholt und bevorzugt in dem Platten­ puffer 56 plaziert, wo sie auf ein Versenden an den Anfrager warten. Die CPU 54 plant ebenfalls die Reihenfolge voraus, in der die Seiten im Puffer 56 über das Netzwerk geschickt werden. In der bevorzugten Ausführungsform wird dies durch die Netzwerkschnittstellen 58 und 60 erzielt.
NASD-Anforderungskennzeichnung
Fig. 3 zeigt die Anforderung r einer Plattenseite von einer Arbeitsstation an ein NASD, die durch folgende Parameter 70 charakterisiert werden kann:
  • 1. c: Plattenzylindernummer, in welcher die Plattenseite innerhalb des NASD liegt,
  • 2. t: Echtzeit-Zeitablauf (deadline) einer Anforderung und
  • 3. d: Netzwerkziel einer Anfrage.
Die Plattenzylindernummer bestimmt die Dauer der Plattensuchzeit, die zum Lesen der angeforderten Plattenseite benötigt wird. Der Echtzeit-Zeitablauf der Anforde­ rung ist die Zeit, nach der die Anforderung effektiv nutzlos ist und die Anforderung als verloren und/oder unerfüllt angesehen wird. Das Netzwerkziel der Anforderung gibt an, wohin die angeforderten Daten von der Platte zu senden sind. Das Netz­ werkziel legt die Ausbreitungsverzögerungszeit fest, die es braucht, damit die ange­ fangenen Daten ihr Ziel in dem Netzwerk erreichen. Daher kann eine Seitenanfrage an ein NASD durch das Trippel <c,t,d< modelliert werden, das die vorliegende Er­ findung verwendet, um eine Bearbeitungsreihenfolge der Seitenanfragen festzule­ gen.
NASD-Anforderungsverarbeitung
Basierend auf der Verarbeitungsreihenfolge, wie durch die vorliegende Erfindung bestimmt, verarbeitet das NASD eine Anforderung mit den Parametern <c,t,d<. Ab­ hängig von der Zylinderposition des Plattenkopfes und der Anforderungsposition c, vergeht eine bestimmte Dauer an Suchzeit (tc), bis der Plattenkopf den Zylinder c erreicht. Eine Seite p wird von der Platte abgerufen und in dem NASD-Pufferpool 56 gespeichert, bis p an sein Ziel in dem Netzwerk geschickt wird. Der NASD-Puf­ ferpool 56 ist ein wichtiges Betriebsmittel, da es die Wirkung der Netzwerkverzöge­ rung von dem restlichen System isoliert.
Um eine Seite p über das Netzwerk zu versenden, wird p aus dem NASD-Pufferpool 56 entfernt und an eine Netzwerkschnittstellenhardware 60 übergeben. Bevorzugt verwendet die Netzwerkschnittstelle 60 das folgende Protokoll, um p an sein Ziel in dem Netzwerk zu senden:
  • 1. Aufbauen der Netzwerkverbindung zu dem Ziel
  • 2. Teilen von p in Pakete
  • 3. für jedes Paket pi:
    • a) Senden von pi über das Netzwerk
    • b) Abwarten einer Bestätigung, daß pi empfangen wurde,
    4. Schließen der Verbindung zu dem Ziel.
In einer nicht-begrenzenden, beispielhaften Ausgestaltung liegen m-Klienten 27 vor, die mit einem Netzwerk, das mehrere NASDs aufweist, verbunden ist. Daten werden in Einheiten von Blöcken an die NASDs in einer zufälligen Weise verteilt. Für ein gegebenes NASD wird eine Reihenfolge von Datenleseanforderungen in einer War­ teschlange gespeichert. Jede Anforderung ist durch ein Trippel <c,t,d< parameteri­ siert. Die vorliegende Erfindung ordnet diese Anforderung, um die Gesamtperfor­ mance des Systems nach bestimmten Gütekriterien zu verbessern.
Gütekriterien
Basierend auf der Charakterisierung der NASD-Anforderung gemäß dem Trippel <c,t,d< sind die folgenden vier Gütekriterien 27 die bevorzugten Aspekte, die ge­ genwärtig verwendet werden, um Plattenscheduling-, Netzwerkscheduling- und Zeitablaufscheduling-Aspekte zu optimieren.
  • 1. Die Anforderungsablaufzeit verfehlt: Die Anforderungen, die nicht vor ihrem Zeitablauf bedient werden, gelten als von dem System verfehlt. Ziel ist es, die Anzahl an verfehlten Ablaufzeiten zu minimieren.
  • 2. Die Gesamt-NASD-Bandbreite: Diese zeigt die Anzahl von Bytes pro Sekunde an, die aus dem NASD zu ihrem Ziel in dem Netzwerk geschickt werden. Das Ziel ist es, die NASD-Bandbreite zu maximieren derart, daß sie nahe an der möglichen Netzwerkbandbreite liegt.
  • 3. Plattenbandbreite: Diese ist durch die Reihenfolge betroffen, in der die Platten­ anforderungen verarbeitet werden. Wenn die Anforderungen in der Weise ge­ ordnet werden, daß die Suchzeit minimiert wird, dann würde die Plattenband­ breite maximiert werden. Ziel ist es, die Plattenbandbreite zu maximieren. 4. Die NASD-Pufferpool-Belegung: Diese bestimmt die Größe des Pufferpools, der notwendig ist, um die Datenseiten vor dem Senden an das Netzwerk aufzuneh­ men. Ziel ist es, die Belegung des Pufferpools zu minimieren, so daß der NASD nicht überlastet wird.
Während die ersten zwei Gütekriterien das Gesamtverhalten des Systems widerspie­ geln, analysieren die letzten zwei Gütekriterien, warum bestimmte Ablaufpläne bes­ ser oder schlechter als andere sind.
Ein Teil der Aufgabe des Schedulers 74 in der NASD CPU liegt darin, die Anfragen vorauszuplanen. Das Gesamtziel besteht darin, die sich auf die drei Scheduling­ aktivitäten richtenden Performanceparameter 72 zu verbessern:
  • 1. Plattenscheduling
  • 2. Netzwerkscheduling
  • 3. Zeitablaufscheduling.
Das Ziel des Plattenschedulings besteht darin, die Performance der Platte durch eine Reduzierung der für die Plattenkopfbewegung verbrauchten Zeit zu erzielen. Auf der anderen Seite besteht das Ziel des Netzwerkschedulings darin, den Netzwerkdurch­ satz des NASD zu steigern. Das Ziel des Zeitablaufschedulings besteht schließlich darin, die Anzahl von Arbeitsstationenanforderungen, die ihren Zeitablauf verpas­ sen, zu minimieren.
Anstelle einer Vorausplanung durch jeden NASD-Scheduler separat und/oder unab­ hängig von den anderen NASD-Schedulern, die sich in dem Netzwerk befinden, schafft die vorliegende Erfindung einen Gesamtschedulingansatz, der das Ziel von jedem Scheduler erreicht, ohne einen der Scheduler zu bevorzugen. Mit anderen Worten, der Scheduler 74 ist typischerweise "fair" zu den Gütekriterien 72 der NASD und versucht, dem Ziel der anderen NASD-Scheduler zu genügen.
Scheduler 74 weist eine Abbildungseinrichtung auf, die die Plattenanforderungs­ parameter/Attribute (z. B. das Trippel <c,t,d<) 70 bevorzugt auf einen n-dimensio­ nalen Raum abbildet. Die abgebildeten Parameter für eine Plattenanforderung stellen einen Punkt in dem n-dimensionalen Raum dar. Für eine Ansammlung von diesen Punkten, ordnet das Modul 82 die Punkte linear, so daß die Anforderungen in dieser Reihenfolge bearbeitet werden. Das Modul 82 verwendet raumfüllende Kurven 84, um die lineare Anordnung der Punkte auszuführen. Eine raumfüllende Kurve wirkt wie ein Faden, der durch jeden Punkt in dem n-dimensionalen Raum läuft, so daß jeder Punkt nur einmal besucht wird. In dieser Weise reduziert die Verwendung von raumfüllenden Kurven die Dimensionalität einer Plattenanforderung von einem n- dimensionalen Problemraum zu einem eindimensionalen Problemraum. Ein ein­ dimensionaler Problemraum stellt eine Reduktion des Problems dar, so wie das Her­ stellen einer linearen Ordnung von Punkten.
Verschiedene raumfüllende Kurven 84 werden verwendet, abhängig von der vorlie­ genden Anwendung. Ein Selektionsmodul für raumfüllende Kurven wählt aus einer Programmbibliothek von raumfüllenden Kurven die am besten für die Anwendung geeignete raumfüllende Kurve aus. In der bevorzugten Ausführungsform wählt das Selektionsmodul für raumfüllende Kurven eine raumfüllende Kurve aus, um die Punkte basierend auf den folgenden Kriterien zu ordnen: Ob eine raumfüllende Kurve zu einer beschränkten oder nicht beschränkten Achse in dem n-dimensionalen Raum vororientiert ist, ob eine raumfüllende Kurve zu einer der Achsen hin verzerrt ist, ob eine raumfüllende Kurve eine umgekehrte Reihenfolge in jeder/allen seinen Dimensionen zeigt und ob eine raumfüllende Kurve Sprünge in einer ihrer Dimen­ sionen zeigt.
Modul 82 verwendet eine geometrische Datenfestlegungseinrichtung 87, um festzu­ legen, wie die raumfüllende Kurve die Punkte schneiden soll. Für einen zweidimen­ sionalen Raum prüft die geometrische Datenfestlegeeinrichtung die geometrischen Koordinaten (d. h. x,y-Koordinaten) der abgebildeten Attribute, um zu bestimmen, wo sie auf die raumfüllende Kurve fallen. Für einen dreidimensionalen Raum prüft die geometrische Datenfestlegungseinrichtung 87 die geometrischen x,y,z-Koordi­ naten für jeden abgebildeten Punkt, um festzulegen, wo die Punkt auf die raum­ füllende Kurve fallen. Die Technik der raumfüllenden Kurven verwendete eine Kurve mit einer vorbestimmten Form, die jeden Punkt durchläuft.
Die Technik der raumfüllenden Kurven wird nachfolgend näher beschrieben, nach der Diskussion der Abbildungstechnik auf den n-dimensionalen Raum.
Einfügen einer neuen Anforderung
Mit Bezug auf Fig. 4 sei angenommen, daß ein dreidimensionaler Raum 98 verwen­ det wird, bei dem die erste Dimension 100 (x-Achse) die Plattenzylindernummer, die zweite Dimension 102 (y-Achse) die Ablaufzeit der Anforderung und die dritte Dimension 104 (z-Achse) das Netzwerkziel der Anforderung darstellt.
Die Platte besitzt eine konstante Anzahl von Zylindern, numeriert von 0 bis Xmax. Die x-Achse 100 wird deshalb einen maximalen Wert von xmax besitzen und sämt­ liche Anforderungen von Arbeitsstationen an die NASD werden in dem abgeschlos­ senen Bereich [0, xmax] liegen.
Echtzeit-Zeitablauf kann ein absoluter oder ein relativer Zeitablauf sein. Die Ent­ scheidung, den Zeitablauf als relativ oder absolut zu wählen, kann den Wertebereich der y-Achse 102 beeinflussen. In dem Fall eines relativen Echtzeit-Zeitablaufs kön­ nen die y-Koordinaten von 0 bis zu einer maximal möglichen relativen Verzögerung ymax variieren. In dem Fall eines absoluten Zeitablaufs weist die bevorzugte Ausfüh­ rungsform keinen maximalen Wert für die y-Koordinate auf und folglich sind die y- Koordinaten unbeschränkt.
Die z-Achse 104 zeigt das Netzwerkziel der Anforderung, d. h. den Ort der Arbeits­ station in dem Netzwerk, an den das Ergebnis der Anfrage (üblicherweise eine Plat­ tenseite) durch das NASD übertragen wird. Beispielsweise sei angenommen, daß vier Netzwerkziele A, B, C und D vorliegen. Jedes von den möglichen Netzwerk­ zielen ist auf einem Punkt der z-Achse 104 abgebildet. Mit diesem Ansatz können die Netzwerkziele basierend auf ihrer bekannten durchschnittlichen Netzwerkver­ zögerung sortiert werden. In diesem Fall sind die Ziele mit geringerer Netzwerkver­ zögerung näher an dem Ursprung angeordnet. Da die Netzwerkverzögerung über die Zeit schwanken kann, kann die Funktion, die das Netzwerkziel in einen entspre­ chenden Ort auf der z-Achse 104 abbildet, dynamisch mit der Zeit variieren.
Die durchschnittliche Netzwerkverzögerung wird beispielsweise durch die Verwen­ dung eines Zeitfensters für jedes Ziel während der Fensterperiode berechnet. Die Abbildungsfunktion (von einem Netzwerkziel zu einer Position auf der z-Achse) 104 wird am Ende des Fensterintervalls modifiziert, wenn die Verzögerung signifi­ kant verschieden ist. Um ein Umsortieren der Anforderungen, die bereits vorausge­ plant sind, zu vermeiden, wenn sich die Abbildungsfunktion ändert, werden nur neu eingehende Anforderungen bevorzugt umsortiert und nicht die bereits in das System eingefügten.
Für eine gegebene Anforderung r = <c,t,d< von einer Arbeitsstation an das NASD fügt der Prozessor des NASD r als einen Punkt in dem dreidimensionalen Raum 98 ein.
Ordnen der Anforderung durch raumfüllende Kurven
NASD-Anforderungen werden als Punkte in dem dreidimensionalen Raum 98 mo­ delliert. Für eine gegebene Ansammlung dieser Punkte werden die Punkte linear geordnet derart, daß die Anforderung in der Reihenfolge bearbeitet werden. Die vorliegende Erfindung verwendet raumfüllende Kurven, um die lineare Anordnung der Punkte auszuführen.
Ein Weg zur Durchführung der Abbildung des n-dimensionalen Raums in den ein­ dimensionalen Raum wird durch raumfüllende Kurven erzielt, z. B. die Peano-Kurve oder die Hilbert-Kurve. Diese Kurven werden allgemein besprochen in: G. Peano. Sur une courbe qui remplit toute une aire plaine. Mathematische Annalen, 36: 157-160, 1890 (was sich übersetzt als "G. Peano. Über eine Kurve, die ein Raumstück füllt) und D. Hilbert, Über eine stetige Abbildung einer Linie auf ein Flächenstück. Mathematische Annalen 98: 459-460, 1891.
Raumfüllende Kurven
Eine raumfüllende Kurve wirkt wie ein Faden, der durch jedes Zellenelement (oder Pixel) in dem n-dimensionalen Raum läuft, so daß jede Zelle nur einmal besucht wird. Folglich stellt eine raumfüllende Kurve (SFC) eine lineare Ordnung der Zellen in dem n-dimensionalen Raum dar. Die Fig. 5a-5f verdeutlichen in einer nicht- begrenzenden Weise verschiedene raumfüllende Kurven für den zweidimensionalen Raum. Das Durchlaufen der Kurve durch die Punkte wirkt als eine Reduktion des Problemraums auf eine einzelne Dimension. Eine raumfüllende Kurve ist eine Aggregation von auf Intervallen stetigen Funktionen, um ein sich im wesentlichen wiederholendes Muster zu bilden. Die Verbindungspunkte zwischen den Intervallen sind nicht differenzierbar.
Fig. 5a ist eine raumfüllende Schlangenlinie, Fig. 5b ist eine raumfüllende Kipplinie, Fig. 5c ist eine raumfüllende Spiralkurve, Fig. 5d ist eine raumfüllende Zickzack­ kurve, Fig. 5e ist eine raumfüllende Peano-Kurve und Fig. 5f ist eine raumfiillende Hilbert-Kurve.
Jede raumfüllende Kurve besitzt ihre eigenen Vorteile und Nachteile, die nachfol­ gend näher diskutiert werden. Es ist jedoch selbstverständlich, daß die vorliegende Erfndung nicht auf eine dieser raumfüllenden Kurven beschränkt ist, sondern jede raumfüllende Kurve einschließt, die die für die vorliegende Aufgabe geeignet ist, ebenso wie raumfilllende Kurven, die: zusätzliche Dimensionen (d. h. mehr als zwei Dimensionen) handhaben kann.
Achsenparameterzuordnung und Verzerrung
Eine Schwierigkeit bei der Verwendung von SFCs zur Vorausplanung liegt in dem Achsenparameterzuordnungsproblem. Dieses Problem kann in folgender Weise be­ schrieben werden: Gegeben seien vorauszuplanende Anforderungen, die durch drei Parameter charakterisiert sind (wie in dem Fall des NASD-Vorausplanungs­ problem), um eine raumfüllende Kurve zu verwenden, muß jeder der drei Parameter einer Achse des zugrundeliegenden dreidimensionalen Raums zugeordnet werden. Es kann jedoch der Fall auftreten, daß die raumfüllende Kurve die Achsen nicht gleich behandelt. Mit anderen Worten, eine raumfüllende Kurve kann zu einer der Achsen hin verzerrt sein.
Beispielsweise sind die raumfüllenden Schlangen- und Kippkurven (Fig. 5a bzw. 5b) mehr in die horizontale Dimension verzerrt (die x-Achse 120). Der Grund be­ steht darin, daß beide Kurven dazu neigen, sämtliche Punkte in der x-Richtung zu­ erst vorauszuplanen. Mit anderen Worten, diese Arten von SFCs führen nur einen Schritt in der y (vertikalen) Richtung 122 aus, nachdem sieben kontinuierliche Schritte in der x (horizontalen) Richtung 120 ausgeführt wurden. Die anderen raum­ füllenden Kurven in den Fig. 5c-5f neigen dazu, weniger in eine Dimension ver­ zerrt zu sein. Die vorliegende Erfindung berücksichtigt daher, wenn die raumfüllen­ den Schlangen- oder Kippkurven aus den Fig. 5a und 5b verwendet werden, diese Kurvenaspekte bei der Zuordnung der Parameter zu den Dimensionen, da dies die Systemperformance durch die vorhandene Verzerrung beeinflußt.
Unbeschränkte gegen beschränkte Parameter
Einige Systemparameter, z. B. die Plattenzylindernummer, besitzen eine obere Schranke, die aus der maximalen Zylindernummer bestehen. Auf der anderen Seite nehmen einige Parameter (z. B. absoluter Zeitablauf) kontinuierlich zu und haben üblicherweise keine obere Schranke.
Einige raumfüllende Kurven (z. B. die Spiralkurve aus Fig. 5c) gehen davon aus, daß alle Dimensionen eine obere Schranke besitzen. Ähnlich andere raumfüllende Kur­ ven (z. B. die Schnecken- oder Kippkurven aus den Fig. 5a und 5b) können nur unbeschränkte Parameter als ihre y-Achse aufweisen. In der bevorzugten Ausfüh­ rungsform schließt die vorliegende Erfindung nicht die x-Achse als unbeschränkte Achse ein, weil einige Anforderungen sonst verhungern würden, während sie darauf warten, darauf vorausgeplant zu werden. Es ist jedoch selbstverständlich, daß die vorliegende Erfindung nicht hierauf beschränkt ist, sondern in einer alternativen Ausführungsform die x-Achse als die unbeschränkte Achse abhängig von der vor­ liegenden Anwendung aufweist.
Die vorliegende Erfindung berücksichtigt bei der Auswahl einer raumfüllenden Kurve zum Anordnen und Vorausplanen der Anforderungen, die Beschränkt­ heit/Unbeschränktheit der Vorausplanparameter ebenso wie die Natur der raumfül­ lenden Kurve, die durch Berücksichtigung der folgenden Fälle ausgewählt wurde:
Fall 1: Die raumfüllende Kurve; verwendet obere Schranken in allen Dimen­ sionen und sämtliche Vorausplanparameter sind ebenfalls beschränkt.
Fall 2: Die raumfüllende Kurve verwendet obere Schranken in allen Dimen­ sionen und nur eine von den Vorausplanparametern besitzt keine obere Schranke.
Fall 3: Die raumfüllende Kurve erfordert keine oberen Schranken in allen ihren Dimensionen und ebenso besitzen die Vorausplanparameter keine oberen Schranken.
Fall 4: Die raumfüllende Kurve erfordert keine oberen Schranken in ihren Dimensionen und keine oder alle der Vorausplanparameter sind be­ schränkt.
In Fall 1 und 3 wird die raumfüllende Kurve direkt ohne irgendwelche Änderungen verwendet. In Fall 2 wird die raumfüllende Kurve entlang der unbeschränkten Di­ mension vervielfältigt/wiederholt (siehe Fig. 4). Schließlich wird in Fall 4, da die raumfüllende Kurve keine oberen Schranken erfordert (z. B. die Peano, Hilbert und die raumfüllende Zickzackkurve), wann immer die obere Schranke der Parameter in einer der Dimensionen erreicht ist, die raumfüllende Kurve beschränkt, bis der ge­ samte Raum gefüllt ist. Wenn dieses auftritt, wird die raumfüllende Kurve von dem Ursprung des Raums neu gestartet.
Umgekehrte Anordnung
Beim umgekehrten Anordnen der vorauszuplanenden Punkte, wird die Reihenfolge für den Besuch der Punkte in dem zugrundeliegenden Raum betrachtet. Beispiels­ weise ist in Fig. 7, die eine raumfüllende Spiralkurve enthält, die Anordnung, in der die horizontalen Streifen besucht werden, mit 1-7 numeriert. Beachte, daß die Ord­ nung durch diese raumfüllende Kurve wechselt. Zu einer Zeit ist die Reihenfolge des Besuchs der Punkte vom Kleinsten zum Größten entlang dem Pfad 200 vorwärts und in der übrigen Zeit verläuft die Reihenfolge des Besuchs der Punkte von dem Größten zu dem Kleinsten entlang dem Pfad 202 rückwärts. Ein ähnliches Verhalten wird ebenfalls in der vertikalen Richtung gezeigt. Bei der vorliegenden Erfindung wird das Besuchen der Punkte vom Größten zum Kleinsten als "umgekehrte Reihen­ folge" bezeichnet.
Andererseits ist mit Bezug auf Fig. 8 die raumfüllende Kippkurve zu beachten. Die Punkte in der horizontalen x-Achse 120 werden in der Reihenfolge vom Kleinsten zum Größten besucht.
Ob die umgekehrte Reihenfolge nachteilig ist oder nicht, hängt von den Bedeutun­ gen der sortierten Parameter ab. Betrachte beispielsweise die Echtzeit-Zeitablauf als einen solchen Parameter. Dann bedeutet die Anordnung vom Größten zum Kleinsten, d. h. die umgekehrte Reihenfolge, daß die Punkte mit einer späten Ablauf­ zeit vor den Punkten mit einer frühen Ablaufzeit vorausgeplant sind. In diesem Fall wird eine umgekehrte Anordnung typischerweise als nachteilig angesehen.
Als weiteres Beispiel sei der Fall der Plattenkopfvorausplanung betrachtet. Basie­ rend auf der Plattenkopfbewegung ist ein Wechseln zwischen vorwärts und rück­ wärts Anordnen vorteilhaft. Innerhalb des Gebiets der vorliegenden Erfindung wird dieses als zirkularer Abtastalgorithmus bezeichnet. Das Vorausplanen in der Vor­ wärtsrichtung wird als weniger vorteilhaft angesehen (dies wird innerhalb des tech­ nischen Gebiets der vorliegenden Erfndung als ein Abtastalgorithmus bezeichnet).
Die vorliegende Erfindung betrachtet mit ihrem Scheduling-Ansatz folglich, ob eine raumfüllende Kurve umgekehrte Reihenfolge in einer/allen ihren Dimensionen be­ sitzt oder nicht. Dieser Ansatz der vorliegenden Erfindung ist gut für die Perfor­ mance des Systems, wenn die vorauszuplanenden Parameter den unterschiedlichen Dimensionen/Achsen zugeordnet werden.
SFC-Sprünge und ihre Beziehung zum Scheduling
Ein weiterer Faktor, der die Verwendung von raumfüllenden Kurven in der Voraus­ planung betrifft, sind "Sprünge". Sprünge in einer raumfüllenden Kurve spiegeln die Lokalität der aufeinanderfolgenden Punkte in der durch die raumfüllende Kurve auferlegten Ordnung wieder. Betrachte beispielsweise die raumfüllende Kippkurve aus Fig. 5b im Gegensatz zu der raumfüllenden Schlangenkurve aus Fig. 5a. Aus­ gehend von der obigen Diskussion, liegt ein Vorteil der Kippkurve gegenüber der Schlangenkurve darin, daß die Kippkurve den Raum ohne die Verwendung einer umgekehrten Reihenfolge abtastet, während die Schlangenkurve dies tut. Ein Vorteil der raumfüllenden Schlangenkurve gegenüber der raumfüllenden Kippkurve besteht jedoch darin, daß die raumfüllende Kippkurve keine Sprünge zeigt, während die raumfüllende Schlangenkurve dies tut. Am Ende eines jeden horizontalen Kippens springt die raumfüllende Kippkurve zurück zu dem Anfang der horizontalen Achse, während die vertikale Achse um einen Schritt, wie durch den Sprung 124 angezeigt wird, erhöht wird.
Ähnlich zu der umgekehrten Reihenfolge können Sprünge vorteilhaft für die An­ wendung sein oder auch nicht. Beispielsweise werden Sprünge für das Plattenkopf­ scheduling als nachteilig angesehen, da sie zu einer langen Suchzeit führen, ohne irgendwelche Daten zu liefern.
Absichtliche Verzerrung
Obwohl üblicherweise eine fehlende Verzerrung in einer der Dimensionen des Vor­ ausplanungsraums als eine positive Eigenschaft für eine raumfilllende Kurve ange­ sehen wird, verzerrt die vorliegende Erfindung in einer alternativen Ausführungs­ form den NASD-Scheduler für einen bestimmten Aspekt der Performance. In dieser Ausführungsform besitzt die vorliegende Erfindung beispielsweise ein höheres Ziel, die Anzahl an Anfragen, die ihren Zeitablauf versäumen, zu reduzieren, als die Platten- oder Netzwerkbandbreite zu vergrößern. In dieser Ausführungsform bevor­ zugt die vorliegenden Erfindung die Dimension des Echtzeit-Zeitablaufs des Vor­ ausplanungsraums.
Die vorliegende Erfindung erzielt diese absichtliche Verzerrung zu einer der Dimen­ sionen durch verschiedene Techniken unter Verwendung von raumfüllenden Kur­ ven. Eine Technik besteht darin, die Auflösung der Dimension, die bevorzugt wer­ den soll, gegenüber dem Maßstab dei anderen Dimensionen zu verkleinern (reduzie­ ren). Der Scheduler verwendet bei dieser Art mehr Zeit (oder macht größere Sprünge) in der herunterskalierten Achse, während er genauer (oder langsamer) in den anderen Dimensionen ist und folglich wird die herunterskalierte Dimension ge­ genüber den anderen Dimensionen bevorzugt.
Die Wirkung von Scheduling auf Paket-Niveau
In einer alternativen Ausführungsform der vorliegenden Erfindung erfolgt die Vor­ ausplanung anstatt auf dem Plattenseiten-Niveau, bei einer Auflösung auf Paket- Niveau vor.
Mit der Vorausplanung auf Seitenniveau wird eine Seite aus einem Pufferpool an eine Netzwerkschnittstellenhardware kopiert. Die Seite wird in Pakete unterteilt und ein Paket wird jeweils einzeln über das Netzwerk gesendet. Wenn das NASD Netz­ werkverzögerung erfährt, hat die Netzwerkschnittstellenhardware üblicherweise keine andere Möglichkeit, als die verbleibenden Pakete derselben Seite zu schicken. Dies führt zu einer zusätzlichen Verzögerung, die die Gesamt-NASD-Bandbreite reduziert.
Mit einer Vorausplanung auf Paketniveau in dieser alternativen Ausführungsform wechselt die Netzwerkschnittstellenhardware zum Versenden einer anderen Seite (oder Paket) aus dem NASD-Pufferpool anstatt darauf zu warten, daß das Versenden sämtlicher Pakete der aktuellen Seite beendet wird, wenn die Netzwerkschnitt­ stellenhardware einmal feststellt, daß die Pakete einer Seite signifikante Netzwerk­ verzögerungen erfahren.
Die vorliegende Erfindung verfolgt, um dies zu erreichen, den anteiligen Status darüber, welche Pakete einer Seite herausgesendet wurden und welche noch heraus­ zusenden sind. Dies führt zu einer besseren NASD-Gesamtbandbreite auf Kosten des zusätzlichen Mehraufwandes des Buchhaltens.
Während die vorliegende Erfindung in ihrer gegenwärtig bevorzugten Ausführungs­ form beschrieben wurde, ist es selbstverständlich, daß eine Anzahl von Anwendun­ gen und Ausführungsformen der vorliegenden Erfindung bestehen. Beispielsweise, wie oben angegeben, hat die vorliegende Erfindung Anwendungen bei anderen Computeroperationen als dem Plattenscheduling. Beispielsweise kann die vorlie­ gende Erfindung zur Ablaufplanung von Computerthreads 200 verwendet werden. Threads 200 müssen durch einen Scheduler 47 vorausgeplant werden, um die für ihre Funktionen erforderliche Zeit zu optimieren. Attribute 70 der Threads werden auf einen n-dimensionalen Raum durch eine Abbildungseinrichtung 80 abgebildet. Solche Threadattribute können, zum Zwecke eines nicht-begrenzenden Beispiels, beinhalten, wann der Threäd seine Bearbeitung beendet haben muß, die Priori­ tät/Wichtigkeit des Threads, die Menge an Zeit, die für den Thread benötigt wird, um seine Aufgabe zu vollenden, die Wirkung einer verfehlten Threadabschlußzeit usw. Eine raumfüllende Kurve wird durch die Auswähleinrichtung 86 ausgewählt und durch Modul 82 verwendet, um eine lineare Anordnung 204 der Punkte bereit­ zustellen.
Die vorliegende Erfindung ist nicht auf Computeroperationen beschränkt, sondern kann auch für andere Vorausplanungsanwendungen dienen, wie beispielsweise Vor­ gänge 208 in einem Herstellungswerk. Attribute 70 für Werksabläufe werden auf einen n-dimensionalen Raum durch eine Abbildungseinrichtung 80 abgebildet. Sol­ che Werkablaufsattribute können, zum Zwecke eines nicht-begrenzenden Beispiels, enthalten, wann der Werksvorgang fertiggestellt sein muß, die Priorität/Wichtigkeit des Vorgangs, die für das Vervollständigen seiner Durchführung erforderliche Zeit, die Wirkung für das Nichteinhalten einer Zeitgrenze eines Arbeitsvorgangs etc. Eine raumfüllende Kurve wird durch eine Auswahleinrichtung 86 ausgewählt und durch das Modul 82 verwendet, um eine lineare Anordnung 204 der Punkte bereitzustellen.
Weiterhin verwendet die vorliegende Erfindung Fraktale 216, um eine lineare An­ ordnung der Punkte bereitzustellen. Fraktale sind üblicherweise geometrische For­ men, deren Struktur derart ist, daß eine Vergrößerung um einen gegebenen Faktor das Originalobjekt reproduziert. Fraktale werden allgemein in der folgenden Refe­ renz diskutiert: Peitgen et al., Chaos and Fractals, Chapter 2, Springer-Verlag, New York, 1992. Ein Fraktal kann anhand der folgenden Eigenschaften ausgewählt wer­ den: Ob ein Fraktal zu einer beschränkten oder unbeschränkten Achse im n-dimen­ sionalen Raum vorausgerichtet ist, ob ein Fraktal zu einer Achse verzerrt ist, ob ein Fraktal eine umgekehrte Anordnung für irgendwelche/alle seine Dimensionen zeigt und ob ein Fraktal "Sprünge" in einer seiner Dimensionen aufweist. Tatsächlich können Fraktale als eine Untermenge der raumfüllenden Kurven angesehen werden.
Demgemäß können an der Erfindung Modifikationen und Änderungen vorgenom­ men werden, ohne den in den nachfolgenden Ansprüchen dargestellten Gedanken der Erfindung zu verlassen.

Claims (52)

1. Computergestütztes Plattenschedule-Verfahren zur Ablaufplanung von Anfor­ derungen für mindestens ein Datenwort auf einer Platte mit folgenden Verfah­ rensschritten:
  • a) Empfangen der Anforderung,
  • b) Identifizieren vorbestimmter Attribute zu der empfangenen Anforderung,
  • c) Verwenden einer raumfüllenden Kurve für die Attribute, um eine Ablauf­ reihenfolge zur Bedienung der empfangenen Anforderung zu bestimmen, und
  • d) Vorausplanen (scheduling) der Anforderung, basierend auf der bestimmten Ablaufreihenfolge.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Schritte vorgesehen sind:
Abbilden der Attribute in einen n-dimensionalen Raum und
Verwenden der raumfüllenden Kurve für die abgebildeten Attribute, um die Ablaufreihenfolge zur Bearbeitung der empfangenen Anforderung zu bestim­ men.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich folgender Schritt vorgesehen ist:
Abbilden der Attribute auf die raumfüllende Kurve derart, daß die abgebilde­ ten Attribute einen eindimensionalen Problemraum bilden.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Attribute die Stelle auf der Platte, die Ablaufzeit und das Ziel aufweisen.
5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß folgende Verfahrensschritte vorgesehen sind:
Empfangen von Anforderungen zu Datenworten auf der Platte,
Abbilden der Attribute für jede Anforderung auf einen n-dimensionalen Raum,
Verwenden einer raumfüllenden Kurve für die Attribute, um eine lineare Ord­ nung der empfangenen Anforderungen herzustellen, und
Vorausplanen der Anforderungen, basierend auf der linearen Ordnung der An­ forderungen.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Schritte vorgesehen sind:
Verwenden einer raumfüllenden Kurve zum Ordnen der Anforderung derart, daß gleichzeitig mehrere Gütekriterien im wesentlichen optimiert werden.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Gütekriterien mindestens zwei Parameter aufweisen, die aus der Gruppe bestehend aus ver­ paßten Ablaufzeiten, Netzwerkbandbreite, Plattenverwendung und NASD-Puf­ ferpool-Belegung ausgewählt sind.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich der Ver­ fahrensschritt vorgesehen ist:
Verwenden einer raumfüllenden Kurve, basierend auf mindestens einer Cha­ rakteristik der raumfüllenden Kurve.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die Charakteristik aus der Gruppe bestehend aus Beschränktheit, Achsenverzerrung, umgekehrte Reihenfolge und Sprünge ausgewählt ist.
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich der fol­ gende Schritt vorgesehen ist:
Verwenden einer raumfüllenden Kurve, basierend auf den Eigenschaften der raumfüllenden Kurve.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Eigenschaften aus der Gruppe bestehend aus Beschränktheit, Achsenverzerrung, umgekehrte Anordnung, Sprünge und Kombinationen dieser ausgewählt sind.
12. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Schritte vorgesehen sind:
Empfangen einer Anforderung von einer Arbeitsstation über ein Netzwerk und
Senden des angeforderten Datenwortes an die Arbeitsstation, basierend auf der bestimmten Ablaufreihenfolge.
13. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Arbeitsschritte vorgesehen sind:
Senden von Anforderungen von Arbeitsstationsanwendungen in dem Netz­ werk an ein Netzergänzungsspeichergerät in dem Netzwerk und
Verwenden der Schritte (b)-(d) für das Netzergänzungsspeichergerät, um eine Ablaufreihenfolge zur Bearbeitung der gesendeten Anforderungen zu bestim­ men.
14. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Verfahrensschritte vorgesehen sind:
Senden von Anforderungen von Arbeitsstationsanwendungen in dem Netz­ werk an Netzergänzungsspeichergeräte in dem Netzwerk und
Verwenden der Schritte (b)-(d) für jedes der Netzergänzungsspeichergeräte, um eine Ablaufreihenfolge zur Bearbeitung der gesendeten Anforderungen zu bestimmen.
15. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Verfahrensschritte vorgesehen sind:
Verwenden einer raumfüllenden Kurve, die obere Schranken in allen Dimen­ sionen verwendet, wenn nur eines der Attribute eine obere Schranke aufweist, und
Wiederholen der raumfüllenden Kurve in der nicht beschränkten Dimension.
16. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Schritte vorgesehen sind:
Verwenden einer raumfüllenden Kurve, ausgewählt aus der Gruppe, die be­ steht aus einer raumfüllenden Schlangenkurve, einer raumfüllenden Kipp­ kurve, einer raumfüllenden Spiralkurve, einer raumfüllenden Zickzackkurve, einer raumfüllenden Peano-Kurve und einer raumfüllenden Hilbert-Kurve.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß zusätzlich der fol­ gende Schritt vorgesehen ist:
Verwenden einer raumfüllenden Kurve, abhängig von der Eigenschaft der raumfüllenden Kurve, wobei die Eigenschaft ausgewählt wird aus der Gruppe bestehend aus Beschränktheit, Achsenverzerrung, umgekehrte Reihenfolge, Sprünge und Kombinationen hiervon,
und wobei die Eigenschaften der raumfüllenden Kurve gleichzeitig mehrere Gütekriterien im wesentlichen optimiert, wobei die Gütekriterien mindestens zwei Parameter aufweisen, die aus der Gruppe bestehend aus versäumten End­ zeiten, Netzwerkbandbreite, Plattenverwendung und NASD-Pufferpoolbele­ gung ausgewählt sind.
18. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die raumfüllende Kurve ein Fraktal ist.
19. Computergestütztes Scheduleverfahren zur Ablaufplanung von Vorgängen, die sich auf eine vorbestimmte Aktivität beziehen, folgende Schritte aufweisend:
  • a) Empfangen von Betriebsdaten, die die Vorgänge anzeigen,
  • b) Identifizieren vorbestimmter Attribute zu den empfangenen Betriebsdaten,
  • c) Erstellen einer linearen Ordnung der Attribute durch eine vorbestimmte Kurve, wobei die Kurve eine Ansammlung von mindestens im wesentli­ chen auf Intervallen stetigen Funktionen ist, um ein im wesentlichen sich wiederholendes Muster zu formen, und
  • d) Vorausplanung der Vorgänge, basierend auf der aufgestellten linearen Ordnung.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich der fol­ gende Schritt vorgesehen ist:
Aufstellen einer linearen Ordnung für die abgebildeten Attribute durch eine raumfüllende Kurve.
21. Verfahren Anspruch 19, dadurch gekennzeichnet, daß zusätzlich der folgende Schritt vorgesehen ist:
Aufstellen einer linearen Ordrung der abgebildeten Attribute durch ein Frak­ tal.
22. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Schritte vorgesehen sind:
Abbilden der Attribute in einen n-dimensionalen Raum und
Verwenden der Kurve für die abgebildeten Attribute, um die Ablaufreihen­ folge zur Bearbeitung der empfangenen Betriebsdaten zu bestimmen.
23. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich der fol­ gende Schritt vorgesehen ist:
Abbilden der Attribute auf eine raumfüllende Kurve derart, daß die abgebil­ deten Attribute einen eindimensionalen Problemraum bilden.
24. Verfahren nach Anspruch 23, dadurch gekennzeichnet, daß die Attribute die Position auf der Platte, Ablaufzeit und Ziel aufweisen.
25. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Schritte vorgesehen sind:
Empfangen von Anforderungen zu Datenworten auf einem Computerspeicher­ medium,
Abbilden der Attribute für jede der Anforderungen auf einen n-dimensionalen Raum,
Verwenden einer raumfüllenden Kurve für die Attribute, um die empfangenen Anforderungen linear zu ordnen, und
Vorausplanen der Anforderungen, basierend auf der linearen Ordnung der An­ forderungen.
26. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich der fol­ gende Schritt vorgesehen ist:
Verwenden der raumfüllenden Kurve zur Ordnung der Vorgänge derart, daß gleichzeitig mehrere Gütekriterien im wesentlichen optimiert werden.
27. Verfahren nach Anspruch 26, dadurch gekennzeichnet, daß die Gütekriterien die Wichtigkeit von verpaßten Ablaufzeiten aufweisen.
28. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich der fol­ gende Schritt vorgesehen ist:
Verwenden einer Kurve, abhängig von mindestens einer Eigenschaft der Kurve.
29. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß die Eigenschaft aus der Gruppe bestehend aus Beschränktheit, Achsenverzerrung, umgekehrte An­ ordnung und Sprüngen ausgewählt ist.
30. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Schritte vorgesehen sind:
Verwenden einer raumfüllenden Kurve, die obere Schranken in allen Dimen­ sionen besitzt, wenn nur eines der Attribute einer obere Schranke aufweist, und
Wiederholen der raumfüllenden Kurve entlang der nicht beschränkten Dimen­ sion.
31. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß zusätzlich die fol­ genden Verfahrensschritte vorgesehen sind:
Verwenden einer Kurve, ausgewählt aus der Gruppe bestehend aus einer raumfüllenden Schlangenkurve, einer raumfüllenden Kippkurve, einer raum­ füllenden Spiralkurve, einer raumfüllenden Zickzackkurve, einer raumfüllen­ den Peano-Kurve und einer raumfüllenden Hilbert-Kurve.
32. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß zusätzlich der fol­ gende Schritt vorgesehen ist:
Verwenden einer Kurve, abhängig von Eigenschaften der Kurve, wobei die Eigenschaften ausgewählt sind aus der Gruppe bestehend aus Beschränktheit, Achsenverzerrung, umgekehrter Reihenfolge, Sprüngen sowie Kombinationen davon,
und wobei die Eigenschaft der Kurve gleichzeitig mehrere Gütekriterien im wesentlichen optimiert.
33. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß die vorbestimmte Aktivität eine Plattenscheduling-Aktivität ist, wobei das Verfahren den folgen­ den Schritt aufweist:
Empfangen von Betriebsdaten, die die Plattenscheduling-Aktivität anzeigen.
34. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß die vorbestimmte Aktivität eine computergestützte Thread-Scheduling-Aktivität ist, wobei das Verfahren den folgenden Schritt aufweist:
Empfangen von Betriebsdaten, die die Thread-Scheduling-Aktivität anzeigen.
35. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß die vorbestimmte Aktivität eine Betriebsscheduling-Aktivität für ein Herstellungswerk ist, wobei das Verfahren den folgenden Schritt aufweist:
Empfangen von Betriebsdaten, die die Betriebsscheduling-Aktivität des Her­ stellungswerks anzeigen.
36. Computergestütztes Scheduling-Gerät zur Ablaufplanung von Vorgängen, die eine vorbestimmte Aktivität betreffen, mit:
einem Input zum Empfangen von Betriebsdaten, die die Vorgänge anzeigen,
einem Abbildungsmodul zum Identifizieren vorbestimmter Attribute, die empfangenen Betriebsdaten betreffend,
einem Punktanordnungsmodul zum Aufstellen einer Ordnung der identifizier­ ten Attribute durch eine vorbestimmte Kurve, wobei die Kurve eine An­ sammlung von mindestens im wesentlichen auf Intervallen stetigen Funktio­ nen ist derart, daß sie ein sich im wesentlichen wiederholendes Muster bilden, und
wobei die Vorgänge, basierend auf der aufgestellten Anordnung, vorausgeplant werden.
37. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß das Punktanordnungs­ modul eine lineare Ordnung der abgebildeten Attribute durch eine raumfüllende Kurve aufstellt.
38. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß zusätzlich der Schritt vorgesehen ist:
das Punkteanordnungsmodul stellt eine lineare Ordnung der abgebildeten Attribute durch ein Fraktal auf.
39. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß das Abbildungsmodul die Attribute auf einen n-dimensionalen Raum abbildet, wobei das Punktanord­ nungsmodul die Kurve für die abgebildeten Attribute verwendet, um die Ab­ laufreihenfolge zur Bearbeitung der empfangenen Betriebsdaten zu bestimmen.
40. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß das Abbildungsmodul die Attribute auf eine raumfüllende Kurve abbildet derart, daß die abgebildeten Attribute einen eindimensionalen Problemraum bilden.
41. Gerät nach Anspruch 40, dadurch gekennzeichnet, daß die Attribute die Posi­ tion auf der Platte, die Ablaufzeit und das Ziel aufweisen.
42. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß das Punktanordnungs­ modul eine raumfüllende Kurve zum Ordnen der Vorgänge verwendet derart, daß gleichzeitig mehrere Gütekriterien im wesentlichen optimiert werden.
43. Gerät nach Anspruch 42, dadurch gekennzeichnet, daß die Gütekriterien die Wichtigkeit der versäumten Ablaufzeit aufweisen.
44. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß das Punktanordnungs­ modul eine Kurve verwendet, basierend auf mindestens einer Eigenschaft der Kurve.
45. Gerät nach Anspruch 44, dadurch gekennzeichnet, daß die Eigenschaft ausge­ wählt ist aus der Gruppe bestehend aus Beschränktheit, Achsenverzerrung, um­ gekehrter Reihenfolge und Sprüngen.
46. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß das Punktanordnungs­ modul eine raumfüllende Kurve verwendet, die eine obere Schranke in allen Dimensionen verwendet, wenn nur eines der Attribute nicht eine obere Schranke aufweist.
47. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß das Punktanordnungs­ modul eine Kurve verwendet, die aus der Gruppe bestehend aus einer raumfül­ lenden Schlangenkurve, einer raumfüllenden Kippkurve, einer raumfüllenden Spiralkurve, einer raumfüllenden Zickzackkurve, einer raumfüllenden Peano- Kurve und einer raumfüllenden Hilbert-Kurve ausgewählt ist.
48. Gerät nach Anspruch 47, dadurch gekennzeichnet, daß das Punktanordnungs­ modul eine Kurve verwendet, basierend auf den Eigenschaften der Kurve, wo­ bei die Eigenschaften aus der Gruppe bestehend aus Beschränktheit, Achsen­ verzerrung, umgekehrte Reihenfolge, Sprüngen und Kombinationen davon aus­ gewählt sind, und wobei die Eigenschaften der Kurve gleichzeitig im wesentlichen mehrere Gütekriterien optimieren.
49. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß die vorbestimmte Akti­ vität eine Computerplatten-Scheduling-Aktivität ist, wobei der Eingang Be­ triebsdaten der Plattenscheduling-Aktivität empfängt.
50. Gerät nach Anspruch 36, dadurch gekennzeichnet, die vorbestimmte Aktivität eine computergestützte Thread-Scheduling-Aktivität ist, wobei der Eingang Betriebsdaten empfängt, die die Thread-Scheduling-Aktivität anzeigen.
51. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß die vorbestimmte Akti­ vität eine Betriebsscheduling-Aktivität in einem Herstellungswerk ist, wobei der Eingang Betriebsdaten empfängt, die die Betriebsscheduling-Aktivität des Herstellungswerks anzeigen.
52. Gerät nach Anspruch 36, dadurch gekennzeichnet, daß zusätzlich folgendes ist:
ein Abbildungsmodul zum Abbilden der Attribute in einen n-dimensionalen Raum und
eine Bestimmungseinrichtung für geometrische Daten zum Bestimmen der geometrischen Eigenschaften der abgebildeten Attribute, um zu bestimmen, wie die Kurve die abgebildeten Attribute schneiden soll.
DE10035639A 1999-08-03 2000-07-21 Schedulingverfahren und -gerät für Netzergänzungsspeichergeräte und andere Systeme Withdrawn DE10035639A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/368,061 US6473809B1 (en) 1999-08-03 1999-08-03 Scheduling method and apparatus for network-attached storage devices and other systems

Publications (1)

Publication Number Publication Date
DE10035639A1 true DE10035639A1 (de) 2001-03-08

Family

ID=23449718

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10035639A Withdrawn DE10035639A1 (de) 1999-08-03 2000-07-21 Schedulingverfahren und -gerät für Netzergänzungsspeichergeräte und andere Systeme

Country Status (4)

Country Link
US (1) US6473809B1 (de)
JP (1) JP3442038B2 (de)
DE (1) DE10035639A1 (de)
GB (1) GB2353379B (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3932721B2 (ja) * 1999-05-14 2007-06-20 ソニー株式会社 データ記録装置、データ記録再生装置、データ記録方法およびデータ記録再生方法
US7215771B1 (en) 2000-06-30 2007-05-08 Western Digital Ventures, Inc. Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network
US7003674B1 (en) 2000-07-31 2006-02-21 Western Digital Ventures, Inc. Disk drive employing a disk with a pristine area for storing encrypted data accessible only by trusted devices or clients to facilitate secure network communications
US7155616B1 (en) 2000-07-31 2006-12-26 Western Digital Ventures, Inc. Computer network comprising network authentication facilities implemented in a disk drive
JP2003330782A (ja) 2002-05-10 2003-11-21 Hitachi Ltd 計算機システム
US7643983B2 (en) * 2003-03-28 2010-01-05 Hewlett-Packard Development Company, L.P. Data storage system emulation
US9323473B2 (en) 2009-01-09 2016-04-26 Hewlett Packard Enterprise Development Lp Virtual tape library
US10360321B2 (en) 2015-03-02 2019-07-23 Fujitsu Limited Model generation method and information processing apparatus
JP6528461B2 (ja) * 2015-03-02 2019-06-12 富士通株式会社 情報処理装置、測定データ取得プログラム、測定データ取得方法およびモデル生成方法
JP6693182B2 (ja) * 2016-03-09 2020-05-13 富士通株式会社 データ取得指示生成プログラム、データ取得指示生成方法およびデータ取得指示生成装置
US10423358B1 (en) * 2017-05-31 2019-09-24 FMAD Engineering GK High-speed data packet capture and storage with playback capabilities

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8802833A (nl) * 1988-11-17 1990-06-18 Koninkl Philips Electronics Nv Werkwijze voor kavel-georienteerde route-planning, alsmede navigatiesysteem met een route-planner voor het uitvoeren van een dergelijke werkwijze.
US5644786A (en) * 1990-11-08 1997-07-01 At&T Global Information Solutions Company Method for scheduling the execution of disk I/O operations
US5367669A (en) * 1993-03-23 1994-11-22 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5455934A (en) 1993-03-23 1995-10-03 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5426736A (en) * 1993-05-26 1995-06-20 Digital Equipment Corporation Method and apparatus for processing input/output commands in a storage system having a command queue
WO1995009501A1 (fr) * 1993-09-29 1995-04-06 Fujitsu Limited Systeme de gestion d'element de reseau
US5537585A (en) * 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
JP3575870B2 (ja) * 1994-06-10 2004-10-13 松下電器産業株式会社 ディスク制御装置
US5734893A (en) * 1995-09-28 1998-03-31 Ibm Corporation Progressive content-based retrieval of image and video with adaptive and iterative refinement
JPH1070664A (ja) * 1996-08-27 1998-03-10 Mitsubishi Electric Corp 画像処理方法
JP3390608B2 (ja) * 1996-08-28 2003-03-24 株式会社日立製作所 ストレージネットワーク制御方法
US5963956A (en) * 1997-02-27 1999-10-05 Telcontar System and method of optimizing database queries in two or more dimensions
GB2323945B (en) * 1997-04-04 2002-02-27 Sony Uk Ltd Automated job scheduling in a data storage and/or retrieval system
US6282607B1 (en) * 1997-09-18 2001-08-28 Lucent Technologies, Inc. Efficient scheduling of reading data from multiple storage mediums to satisfy multiple requests
US6023720A (en) * 1998-02-09 2000-02-08 Matsushita Electric Industrial Co., Ltd. Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines
US6157963A (en) * 1998-03-24 2000-12-05 Lsi Logic Corp. System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients

Also Published As

Publication number Publication date
JP2001134385A (ja) 2001-05-18
GB0017199D0 (en) 2000-08-30
US6473809B1 (en) 2002-10-29
GB2353379A (en) 2001-02-21
GB2353379B (en) 2001-11-14
JP3442038B2 (ja) 2003-09-02

Similar Documents

Publication Publication Date Title
DE60223394T2 (de) Verfahren und vorrichtung zum einteilen von anforderungen für einen dynamischen direktzugriffsspeicherbaustein
DE10062063B4 (de) Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE4218025C2 (de) Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem
DE3111027C2 (de)
DE69738139T2 (de) Verfahren und gerät zur verbesserung von disk-drive-funktion
DE60123396T2 (de) Diskzuordnungssystem mit umordnung einer begrenzten anzahl von anforderungen
DE112007002221B4 (de) Graphikanordnungslayout mit maximaler Seitenbedeckung und minimaler Beseitigung von Inhalt
DE60005001T2 (de) Netzwerkablaufsteuerungverfahren und -system für echtzeitanwendungen sowie ein entsprechendes computerlesbares speichermedium
DE60019516T2 (de) Programmierbarer Aufbau zur Visualisierung von Abtastdaten und geometrischen Daten
DE10035639A1 (de) Schedulingverfahren und -gerät für Netzergänzungsspeichergeräte und andere Systeme
DE19931139A1 (de) Produktionssystem und Fertigungsmittel-Auswahlverfahren in einem Produktionssystem
DE3390315T1 (de) Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen
DE3438869A1 (de) Computersystem mit adressumwandlung
DE19822543A1 (de) Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
DE60206656T2 (de) Verfahren und vorrichtung zur verteilung von objekten in einer heterogenen gruppe von datenspeichergeräten
DE10151091B4 (de) Scheduling-System und Scheduling-Verfahren dafür
DE69830965T2 (de) System zur wiedergabe von daten in einem video-server
DE10234138A1 (de) Verwalten einer Speicherkonkurrenz bei automatisierten Speichersystemen
DE2912073C2 (de)
DE60009817T2 (de) Gemeinsamen Speicher verteilende Multiprozessorvorrichtung
DE60303444T2 (de) Ablaufsteuerung unter verwendung von quantumwerten und defizitwerten
DE102016007651B4 (de) Numerische Steuerung mit Funktion zur automatischen Auswahl eines Speicherungsziels für ein Bearbeitungsprogramm
DE69912034T2 (de) Bildverarbeitungsgerät
DE10052132A1 (de) Graphikprozessor mit mehrfachen geometrischen Arbeitseinheiten und Verfahren zum Datenverarbeiten
DE60306388T2 (de) Verfahren und vorrichtung zur bilddatenverarbeitung unter verwendung von bildstreifen und zirkularadressierungsanordnung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 1312 20060101

8139 Disposal/non-payment of the annual fee