DE60206656T2 - Verfahren und vorrichtung zur verteilung von objekten in einer heterogenen gruppe von datenspeichergeräten - Google Patents

Verfahren und vorrichtung zur verteilung von objekten in einer heterogenen gruppe von datenspeichergeräten Download PDF

Info

Publication number
DE60206656T2
DE60206656T2 DE60206656T DE60206656T DE60206656T2 DE 60206656 T2 DE60206656 T2 DE 60206656T2 DE 60206656 T DE60206656 T DE 60206656T DE 60206656 T DE60206656 T DE 60206656T DE 60206656 T2 DE60206656 T2 DE 60206656T2
Authority
DE
Germany
Prior art keywords
blocks
objects
variability
coefficient
popularity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60206656T
Other languages
English (en)
Other versions
DE60206656D1 (de
Inventor
Abdelaziz M'zoughi
Christophe Guittenit
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.)
Seanodes S A
Seanodes SA
Original Assignee
Seanodes S A
Seanodes SA
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 Seanodes S A, Seanodes SA filed Critical Seanodes S A
Application granted granted Critical
Publication of DE60206656D1 publication Critical patent/DE60206656D1/de
Publication of DE60206656T2 publication Critical patent/DE60206656T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • 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

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Verteilen von Objekten in einer heterogenen Gruppe von Datenspeichergeräten.
  • Die derzeitige Tendenz im Bereich Datenspeichergeräte besteht darin, die Informationen auf immer komplexeren Speichersystemen, heterogene Speichersysteme genannt, zu speichern, weil sie von Speichergeräten gebildet werden, die weder dieselbe Speicherkapazität (Menge an Informationen, die auf einem Speichergerät gespeichert werden können) noch dasselbe Durchlassband haben (die Rate, mit der Informationen auf dem Speichergerät gelesen oder geschrieben werden können).
  • Die US 6,330,621 beschreibt eine Vorrichtung, mit der reale nicht homogene Geräte eines Datenspeichersubsystems zum Erzeugen eines Logikgeräts mit den gewünschten Dienstqualitätscharakteristiken kombiniert werden können. Dieses Dokument schlägt jedoch kein Verfahren zum Verteilen von Daten in diesen Geräten vor.
  • Die erste Stufe zum Speichern von Informationen in den verschiedenen Speichergeräten besteht bisher konventionell darin, jedes Objekt in eine Mehrzahl von Blöcken zu unterteilen und die genannten Blöcke in den verschiedenen Speichergeräten gemäß einem Verteilungsgesetz zu verteilen, das darin besteht, in jedem der Speichergeräte Objektstücke zu verteilen, die jeweils aus einem Block oder aus einer Mehrzahl von Blöcken bestehen.
  • Der Deutlichkeit halber wird im gesamten Text (Beschreibung und Ansprüche) die folgende Terminologie verwendet:
    • – Speichergerät: Gerät, mit dem Daten gespeichert oder abgerufen werden können,
    • – Client: Gerät, das auf in den Speichergeräten gespeicherte Daten zugreift,
    • – Popularität einer Dateimenge: Wert, der proportional zu der Menge an Daten ist, die pro Zeiteinheit zwischen den Speichergeräten und den Clients beim Zugreifen auf diese Dateimenge übertragen werden können,
    • – Variabilität der Popularität: Wert, der die Variationen der Popularität einer Dateimenge im Laufe der Zeit charakterisiert,
    • – Block: Dateimenge, die auf zusammenhängende Weise in einem Speichergerät gespeichert ist,
    • – Objekt: ein Satz von Blöcken mit vergleichbaren Popularitätsvariabilitäten,
    • – Objektstück: ein Satz von Blöcken, die zum selben Objekt gehören und die sich auf demselben Speichergerät befinden,
    • – Belastung des Speichergeräts: die Menge an Daten, die pro Zeiteinheit zwischen diesem Speichergerät und den Clients übertragen werden,
    • – Wertigkeit eines Stücks: der Wert, der für die Arbeitsbelastung repräsentativ ist, die dieses Stück für das Speichergerät verursacht, das dieses Stück speichert. Dieser Wert kann auf mehrere Weisen gemessen werden, wie z.B.: Größe des Stücks dividiert durch das mittlere Durchlassband des Speichergerätes; mittlere Zeit, die das Speichergerät zum Verarbeiten der Lese- oder Schreibanforderungen an den Daten dieses Stücks braucht usw.
  • Bisher basieren alle durchgeführten Entwicklungen auf zwei bedeutenden Verteilungsmethodenprinzipien.
  • Das Grundprinzip der ersten Methode, die als gleichmäßig verteilte Platzierungsmethode bezeichnet werden kann, besteht darin, in jedem Speichergerät Objektstücke einer Größe zu verteilen, die proportional zum Durchlassband des genannten Speichergerätes ist. Diese Methode führt somit zur vollständigen Ausnutzung des Durchlassbandes von Speichergeräten.
  • Dagegen rührt der Nachteil dieser Methode von der Tatsache her, dass sich bestimmte Speichergeräte schneller füllen als andere und dass, sobald ein Speichergerät voll ist, den anderen Speichergeräten keine Stücke mehr hinzugefügt werden können, ohne dass es zu einem Platzierungsungleichgewicht kommt. Aus diesem Grund erlaubt diese Methode in den meisten Fällen keine volle Ausnutzung der Speicherkapazität einer heterogenen Gruppe. Dieser Verlust an Speicherkapazität ist zwar nur schwer zu beurteilen, aber es hat sich gezeigt, dass er, je nach Konfiguration, im Allgemeinen über 25% liegen und fast 80% der Speicherkapazität erreichen kann.
  • Was die zweite Methode betrifft, die als ungleichmäßig verteilte Platzierung bezeichnet werden kann, so besteht ihr Grundprinzip darin, die Objektblöcke so zu verteilen, dass die Speicherkapazität der Gruppe von Speichergeräten vollkommen ausgenutzt wird in dem Versuch, die Arbeitsbelastung der Speichergeräte auszugleichen. Dagegen liegt der Hauptnachteil dieser Methode in der Tatsache, dass dieses Gleichgewicht der Arbeitsbelastung aufgrund von Popularitätsvariationen von Objekten instabil ist, die zu einer Störung derselben führen.
  • Die US 5,333,315 beschreibt ein Platten- und Gleichgewichtsüberwachungsprogramm, das, wenn die Standardabweichung der Plattenbeladung einen vorbestimmten Schwellenwert übersteigt, Dateien von der am stärksten beladenen Platte zu einer vergleichbaren Platte (besonders in Bezug auf die Zugriffsgeschwindigkeit) bewegt, die weniger stark beladen ist. Ebenso bewegt dieses Programm, wenn ein Plattenkapazitätsparameter einen vorbestimmten Schwellenwert übersteigt, Dateien von einer Platte, auf der erheblich weniger Restkapazität vorhanden ist, auf eine vergleichbare Platte mit der größten verfügbaren Restkapazität.
  • Der größte Teil der Arbeit in Bezug auf diese Methode besteht somit darin, Lösungen vorzuschlagen, die es zulassen sollen, die Arbeitslast auszugleichen. Dieser Neuausgleich beansprucht jedoch Durchlassband und führt in der Praxis zu einer Verringerung der Zahl der Zugriffe, die die Speichergeräte gleichzeitig bearbeiten können.
  • Schlussfolgernd, diese zweite Methode erlaubt zwar eine volle Ausnutzung der Speicherkapazität, führt dagegen aber zu einer merklichen Senkung der Ausnutzung des Durchlassbandes (in der Größenordnung von 50%, je nach dem entwickelten Neuausgleichsvorgängen variabel).
  • Bisher war es das Ziel aller Arbeiten, die an Verfahren zum Platzieren von Objekten in heterogenen Gruppen von Speichergeräten durchgeführt wurden, die eine oder die andere der vorerwähnten Platzierungsmethoden, d.h. die gleichmäßig verteilte Platzierung und die ungleichmäßig verteilte Platzierung, zu perfektionieren.
  • Aufgrund der spezifischen Nachteile in Verbindung mit der Konzeption jeder dieser Platzierungsmethoden führten jedoch alle diese Arbeiten zu Ergebnissen, gemäß denen entweder die Speicherkapazität nicht voll ausgenutzt oder das Durchlassband nur schwach ausgenutzt wird.
  • Es ist Ziel der vorliegenden Erfindung, diesen Nachteil zu beheben, und es ist ihre Hauptaufgabe, eine Methode zum Verteilen von Objekten auf heterogene Speichergeräte bereitzustellen, die gleichzeitig zu einer Optimierung der Ausnutzung der Speicherkapazität und der Ausnutzung des Durchlassbandes der genannten Speichergeräte führt.
  • Zu diesem Zweck stellt die Erfindung ein Verfahren zum Verteilen von Objekten in einer heterogenen Gruppe von Speichergeräten bereit, gemäß dem als Parameter für die Steuerung der Verteilung von Objektstücken ein Koeffizient, Flexibilitätskoeffizient CF(i) genannt, verwendet wird, der die Differenz zwischen den Wertigkeiten von Objektstücken (i) repräsentiert, wenn ein neues Objekt hinzugefügt wird, die genannten Objektblöcke unter den genannten Speichergeräten verteilt werden, indem ein bestimmter Wert des Flexibilitätskoeffizienten vorgegeben wird, während für Objekte, die in die Gruppe von Speichergeräten gesetzt werden:
    • – die Werte, die die Popularitätsvariabilität jedes Objekts repräsentieren, periodisch gemessen und berechnet werden;
    • – für jedes Objekt ein gewünschter Flexibilitätskoeffizient CFv(i) anhand der oben genannten Werte berechnet wird, die zum Zeitpunkt t gemessen oder berechnet wurden, und dem genannten Objekt gemäß einem Prinzip zugeordnet wird, das darin besteht, jedem Objekt einen Flexibilitätskoeffizienten zuzuordnen, der umgekehrt proportional zu seiner Popularitätsvariabilität ist;
    • – für jedes Objekt (i) der reale Flexibilitätskoeffizient CFr(i) des genannten Objekts, der die Differenz zwischen den Wertigkeiten der Stücke dieses Objekts repräsentiert, zum Zeitpunkt t gemessen und berechnet wird;
    • – und eine Bewegung zwischen den Objektstückblöcke speichernden Geräten bewirkt wird, um für jedes Objekt (i) einen realen Flexibilitätskoeffizienten CFr(i) zu erhalten, der dem gewünschten Flexibilitätskoeffizienten CFv(i) für dieses Objekt entspricht.
  • Das der Erfindung zu Grund liegende Prinzip ist damit eine kontinuierliche Modulierung, auf periodischer Basis, der Wertigkeiten von Objektstücken, die anfangs auf die verschiedenen Speichergeräte verteilt wurden, wobei als Steuerparameter dieser Verschiebungen ein Koeffizient, Flexibilitätskoeffizient genannt, verwendet wird, der umgekehrt proportional zur Variabilität der Popularität sein kann.
  • Gemäß diesem Prinzip variiert der Flexibilitätskoeffizient allgemein zwischen zwei Grenzwerten CF min und CF max, die unterschiedliche Platzierungsmodi bestimmen:
    • – wenn CF(i) = CF min ist, dann sind die Gewichtungen aller Objektstücke (i) gleich und die verwendete Platzierung ist eine gleichmäßig verteilte Platzierung,
    • – wenn CF(i) = CF max ist, dann besteht das Objekt (i) nur aus einem Stück, das in einem Speichergerät platziert ist, und die Platzierung ist somit eine reine ungleichmäßig verteilte Platzierung,
    • – zwischen diesen beiden Grenzwerten erlauben die unterschiedlichen Werte von CF(i) eine Modulierung der Gewichtungen von Stücken auf eine solche Weise, dass entweder ein besseres Belastungsgleichgewicht, wobei CF(i) sich CF min nähert, oder eine bessere Ausnutzung der Speicherkapazität erhalten wird, indem CF(i) sich CF max nähert.
  • Die Erfindung besteht somit aus einem Hybridplatzierungsverfahren, das grundsätzlich darin besteht, die Objekte mit einer stabilen Popularität vorzugsweise gemäß der ungleichmäßig verteilten Platzierungsmethode (CF(i) nähert sich CFmax) und die Objekte mit einer instabilen Popularität vorzugsweise gemäß der gleichmäßig verteilten Platzierungsmethode (CF(i) nähert sich CFmin) zu platzieren.
  • In der Praxis konnte mittels an den Gruppen von Speichergeräten durchgeführter Simulationen aufgezeigt werden, dass mit dem erfindungsgemäßen Verfahren ein Ausnutzungsgrad erzielt werden konnte, der bei mehr als 80% der Speicherkapazität und bei 85% des Durchlassbandes lag.
  • Gemäß einer vorteilhaften Ausgestaltung ist der reale Flexibilitätskoeffizient CFr(i), der für jedes Objekt (i) berechnet wird, derart, dass: CFr(i) = Pabw(i)/Pmittel(i)wobei: Pmittel(i) das Mittel der Wertigkeiten von Stücken des Objekts (i) ist, und
    Pabw(i) die Standardabweichung in Bezug auf das Mittel der Wertigkeiten der Stücke des Objekts (i) ist.
  • Gemäß einem anderen vorteilhaften Ausgestaltungsverfahren:
    • – werden in einer Vorabphase den verschiedenen Blöcken vorbestimmte Popularitätsvariabilitätswerte zugeordnet, die genannten Blöcke in absteigender Reihenfolge der Popularitätsvariabilität klassifiziert und die Objekte durch Assoziation von aneinander grenzend klassifizierten Blöcken erzeugt;
    • – und werden im Laufe der Steuerung der Gruppe von Speicherblöcken die Blöcke periodisch in absteigender Reihenfolge der Popularitätsvariabilität in Abhängigkeit von der gemessenen Information über die Popularität und die Variabilität der genannten Blöcke umklassifiziert.
  • Da das erfindungsgemäße Verfahren insbesondere darin besteht, den idealen Flexibilitätskoeffizienten für jedes Objekt (i) zu berechnen (gewünschter Flexibilitätskoeffizient), und somit darin besteht, die Objekte zu bearbeiten, erlaubt diese vorteilhafte Ausgestaltung, die zur Erzeugung von Objekten führt, die von Blöcken gebildet werden, die sehr nahe Popularitätsvariabilitäten aufweisen, die Erzielung einer sehr wirksamen Bearbeitung jedes der genannten Objekte.
  • Außerdem wird auf vorteilhafte Weise der gewünschte Flexibilitätskoeffizient CFv(i) für jedes Objekt (i) mittels eines Entscheidungsverfahrens mit der Bezeichnung „Entscheidungstrapez" ermittelt, das aus einem Trapez mit einer ersten Basis aus einer graduierten Achse, deren Vektor die Popularitätsvariabilität des genannten Objekts ist, und einer zweiten Basis besteht, die aus einer graduierten Achse besteht, deren Vektor der gewünschte Flexibilitätskoeffizient für das genannte Objekt ist, wobei der genannte Vektor die entgegengesetzte Richtung zum vorherigen hat, wobei das genannte Entscheidungsverfahren die folgenden Schritte umfasst:
    • – Vorgeben der Ober- und Untergrenzwerte für jede der Variablen, nämlich die Popularitätsvariabilität und den gewünschten Flexibilitätskoeffizienten, um ein Trapez zu erzeugen, dessen beide Seiten jeweils aus den Segmenten [var Obergrenze-CF Untergrenze] und [var Untergrenze-CF Obergrenze] besteht,
    • – Projizieren dieser Variabilität, wenn die Variabilität gleich oder größer ist als var Obergrenze, auf den Wert CF Untergrenze des Flexibilitätskoeffizienten;
    • – ebenso, Projizieren dieser Variabilität, wenn die Variabilität gleich oder kleiner als var Untergrenze ist, auf den Wert CF Obergrenze;
    • – lineares Projizieren dieser Variabilität, wenn die Variabilität innerhalb des Intervalls [var Untergrenze – var Obergrenze] liegt, auf das Intervall [CF Untergrenze – CF Obergrenze].
  • Ein solches Entscheidungstrapez stellt ein Entscheidungsinstrument dar, mit dem der gewünschte Flexibilitätskoeffizient für ein Objekt anhand der Popularitätsvariabilität des Letzteren sofort definiert werden kann.
  • Ferner bietet dieses Entscheidungstrapez eine Verhaltenselastizität aufgrund der Tatsache, dass das globale Verhalten in Abhängigkeit von der Wahl der Ober- und Untergrenzwerte der Popularitätsvariabilitäten und der gewünschten Flexibilitätskoeffizienten modifiziert werden kann.
  • Gemäß einer anderen vorteilhaften Ausgestaltung und zum Erhalten eines realen Flexibilitätskoeffizienten CFr(i) für jedes Objekt (i), das dem gewünschten Flexibilitätskoeffizienten CFv(i) entspricht:
    • – wird für jedes Objekt (i) ein Parameter, CF-Distanz genannt, der gleich dem Absolutwert |CFv(i) – CFr(i)| zwischen den beiden Linien ist, berechnet;
    • – wird für die Objekte (i), für die CFv(i) < CFr(i) ist, und an erster Stelle für die Objekte, für die die CF-Distanz maximal ist, ein Block dieser Objekte, der zu dem Stück mit der höchsten Wertigkeit gehört, zu dem Speichergerät bewegt, das das Stück mit der niedrigsten Wertigkeit enthält;
    • – und wird für die Objekte (i), für die CFv(i) > CFr(i) ist, und an erster Stelle für die Objekte, für die die CF-Distanz maximal ist, ein Block dieser Objekte des vollsten Speichergerätes zu dem am wenigsten vollen Speichergerät bewegt.
  • Diese Ausgestaltung, die jedem Objekt einen realen Flexibilitätskoeffizienten geben soll, der gleich dem gewünschten Flexibilitätskoeffizienten ist, hat zur Folge, dass ein Durchlassband an den Objekten gewonnen wird, deren realer Flexibilitätskoeffizient abnimmt, und eine Speicherkapazität an den Objekten gewonnen wird, deren realer Flexibilitätskoeffizient zunimmt.
  • Ferner erlaubt es diese Ausgestaltung, die sich in zwei getrennte Umkonfigurationsvorgänge gliedert, gemäß denen CFv(i) größer oder kleiner als CFr(i) ist, zu einem gesuchten Ergebnis CFr(i) ≅ CFv(i) zu kommen, indem ein geringer Prozentanteil des Durchlassbandes des Speichergerätes verwendet wird.
  • Außerdem haben die beiden oben erwähnten Umkonfigurationsvorgänge getrennte Arbeitsräume und können sich daher nicht gegenseitig stören.
  • Gemäß einer weiteren vorteilhaften Ausgestaltung, deren Ziel es ist, die eventuellen Ungleichheiten der Arbeitsbelastung abzustellen, die zu Imperfektionen in der Steuerung der Verteilung von Objektblöcken führen:
    • – werden das am stärksten beladene Speichergerät, Heiß-SD genannt, und das am schwächsten beladene Speichergerät, Kalt-SD genannt, gewählt;
    • – befindet sich ein Block, auf den selten zugegriffen wird, Kalt-Block genannt, in dem am schwächsten beladenen Speichergerät, und ein Block, auf den häufig zugegriffen wird, Heiß-Block genannt, befindet sich in dem am stärksten beladenen Speichergerät, so dass diese beiden Blöcke ausgetauscht werden können, um die Last neu auszugleichen;
    • – werden die Heiß-Blöcke des Heiß-SD wie folgt sortiert:
    • • die Objekte werden in absteigender Reihenfolge der mittleren Popularität klassifiziert,
    • • die n populärsten Objekte, die eine Region, Hochpopularitätsregion genannt, bilden, werden nach dieser Klassifizierung gewählt,
    • • die n Objekte werden in Blöcke unterteilt, die individuell verarbeitet werden, um sie zu sortieren und auf vier Klassen zu verteilen:
    • – Klasse 1: Blöcke, für die die Bewegung vom Heiß-SD zum Kalt-SD den realen Flexibilitätskoeffizienten der Objekte verringert, zu denen sie gehören,
    • – Klasse 2: Blöcke, die zu einem anderen als dem vollsten Speichergerät bewegt werden,
    • – Klasse 3: Blöcke, die zum vollsten Speichergerät bewegt werden,
    • – Klasse 4: Blöcke, deren Bewegung die CF-Distanz erhöht,
    • – auf dieselbe Weise werden zum Sortieren der Kaltblöcke im Kalt-SD die n am wenigsten populären Objekte nach Klassifizierung gewählt, wobei diese Objekte eine Region, Niederpopularitätsregion genannt, bilden und in Blöcke unterteilt werden, die individuell verarbeitet werden, um sie zu sortieren und auf die oben genannten vier Klassen zu verteilen,
    • – wonach, beginnend mit diesen beiden Gruppen von sortierten Blöcken, nämlich die Gruppen von Heißblöcken und Kaltblöcken:
    • • der zu übertragende Block im Heiß-SD gesucht wird, der aus einem zuvor sortierten Block besteht, der sich in dem genannten Heiß-SD befindet und dessen Klassennummer die niedrigste ist,
    • • der zu übertragende Block im Kalt-SD gesucht wird, der aus einem zuvor sortierten Block besteht, der sich in dem genannten Kalt-SD befindet und dessen Klassennummer die niedrigste ist,
    • • und der gewählte Block im Heiß-SD gegen den gewählten Block im Kalt-SD ausgetauscht wird.
  • Zweck dieses „Neuausgleichs" ist es somit, Operationen zu realisieren, die darin bestehen, Blöcke, auf die weniger häufig zugegriffen wird, die sich auf den weniger beladenen Speicherblöcken befinden, durch Blöcke zu ersetzen, auf die häufiger zugegriffen wird und die sich auf den stark beladenen Speichergeräten befinden.
  • Ein solcher Neuausgleichsprozess erlaubt somit eine Umkonfiguration der Ungleichheiten der Arbeitsbelastung, wobei jedes Störungsproblem mit den Umkonfigurationsvorgängen vermieden oder zumindest minimiert wird.
  • Die Erfindung erstreckt sich auf eine Vorrichtung zum Umsetzen eines erfindungsgemäßen Verfahrens. Die Erfindung betrifft somit eine Vorrichtung zum Verteilen von Objekten, die in eine Mehrzahl von Blöcken in einer heterogenen Gruppe von Speichergeräten gemäß einem Verteilungsgesetz unterteilt werden, das darin besteht, Objektstücke auf die genannten Speichergeräte zu verteilen, die jeweils aus einem Block oder einer Mehrzahl von Blöcken bestehen, wobei die genannte Verteilungsvorrichtung Folgendes umfasst:
    • – ein Modul, Analysemodul genannt, zum periodischen Messen und Berechnen von Werten, die Popularitätsvariabilität jedes Objekts repräsentieren;
    • – ein Modul, Entscheidungsmodul genannt, um für jedes Objekt (i) anhand der vom Analysemodul gemessenen und berechneten Parameter zu einem Zeitpunkt t einen Koeffizienten CFr(i), realer Flexibilitätskoeffizient genannt, der die Differenz zwischen den Wertigkeiten von Stücken dieses Objekts (i) repräsentiert, und eines Koeffizienten CFv(i), gewünschter Flexibilitätskoeffizient genannt, zu berechnen, der dem Objekt (i) zugewiesen werden soll und der gemäß einem Prinzip berechnet wird, das darin besteht, jedem Objekt einen Flexibilitätskoeffizienten zuzuordnen, der umgekehrt proportional zu seiner Popularitätsvariabilität ist;
    • – und ein Modul, Umkonfigurationsmodul genannt, zum Bewirken einer Bewegung von Objektstückblöcken zwischen den Speichergeräten, um für jedes Objekt (i) einen realen Flexibilitätskoeffizienten CFr(i) zu erhalten, der dem gewünschten Flexibilitätskoeffizienten CFv(i) für dieses Objekt entspricht.
  • Ferner umfasst diese Verteilungsvorrichtung vorteilhafterweise ein Modul, Neuausgleichsmodul genannt, zum Ausführen von Vorgängen, die darin bestehen, Blöcke, auf die selten zugegriffen wird, die sich in weniger beladenen Speichergeräten befinden, durch Blöcke zu ersetzen, auf die häufig zugegriffen wird und die sich in stark beladenen Speichergeräten befinden.
  • Weitere Eigenschaften, Ziele und Vorteile der Erfindung gehen aus der detaillierten Beschreibung hervor, die nachfolgend mit Bezug auf die beiliegenden Zeichnungen gegeben wird, die als Beispiele, ohne Begrenzung, eine bevorzugte Ausgestaltung repräsentieren. Dabei zeigt:
  • 1 ein synoptisches Schema einer erfindungsgemäßen Vorrichtung,
  • 2 ein repräsentatives Diagramm eines Modus zum Bestimmen des gewünschten Flexibilitätskoeffizienten CFv(i) für jedes Objekt (i), und
  • 3 eine repräsentative Kurve der genutzten Speicherkapazität und des genutzten Durchlassbandes für eine heterogene Gruppe von Speichergeräten, die gemäß einem erfindungsgemäßen Verfahren gesteuert werden.
  • Die in 1 dargestellte erfindungsgemäße Vorrichtung hat zum Ziel, die Steuerung der Platzierung von Objekten in einem heterogenen Speichersystem 1 zu gewährleisten, das herkömmlicherweise ein Steuergerät 2 zum Steuern des genannten Systems umfasst, das mit einer Mehrzahl von Speichergeräten 3, 4 verbunden ist.
  • Diese Vorrichtung umfasst zunächst einen Analysator 5 mit der Aufgabe, auf der Basis von an dem heterogenen System 1 durchgeführten Maßnahmen Folgendes zu berechnen: die Qualität des Gleichgewichts der Last, die Variabilität von Popularitäten von Objekten, die Ausnutzung der Speicherkapazität des Systems, die Einhaltung der Qualität des Dienstes. Sie sendet diese Schätzungen zum Entscheidungsteil 6 eines Objektflexibilitätsmanagers 9.
  • Der Entscheidungsteil 6 beobachtet die Variationen in den Schätzungen vom Analysator 5, um eine Überlastungssituation oder eine schlechte Ausnutzung der Speicherkapazität zu korrigieren. Er hat beispielsweise die Aufgabe zu entscheiden, die Flexibilität aller von dem Speichersystem 1 gespeicherten Objekte zu verringern, wenn festgestellt wird, dass sich das Gleichgewicht der Last verschlechtert, was zu einer Verschlechterung der Dienstqualität führt. Diese Entscheidungen werden zu einem Objektflexibilitätszustandsspeicher 7 gesandt.
  • Dieser Flexibilitätszustandsspeicher 7 speichert für jedes von dem Speichersystem 1 gespeicherte Objekt (i) den gewünschten Flexibilitätskoeffizienten CFv(i) sowie den realen Flexibilitätskoeffizienten CFr(i). Der Flexibilitätszustandsspeicher 7 wird in Abhängigkeit von Entscheidungen des Entscheidungsteils 6 (die die Modifikation des gewünschten Flexibilitätskoeffizienten bewirken) und in Abhängigkeit von nachfolgend beschriebenen Umkonfigurationsmaßnahmen 8 (die die Modifikation des realen Flexibilitätskoeffizienten bewirken) aktualisiert.
  • Die Vorrichtung umfasst darüber hinaus, wie oben erwähnt, einen Umkonfigurator 8, um Datenbewegungen anzuweisen (mittels Ein-/Ausgabeanforderungen), so dass sich der reale Flexibilitätskoeffizient dem vom Entscheidungsteil 6 gewünschten nähert.
  • Es ist jedoch zu bemerken, dass die Entscheidungen des Flexibilitätsmanagers 9 deshalb nicht perfekt sein können, weil:
    • – der Analysator 5 keine perfekt präzisen und sofortigen Maßnahmen ergreifen kann,
    • – die Popularitäten sich ständig ändern: die Arbeit, die der Flexibilitätsmanager 9 zum Zeitpunkt t durchführt, hat zum Ziel, die Probleme einer zum Zeitpunkt t – 1 gemessenen Situation zu lösen. Diese Arbeit wird aber tatsächlich an den Leistungen des Systems 1 zum Zeitpunkt t + 1 wirksam. Wenn sich zwischen den Zeitpunkten t – 1 und t + 1 die Popularitäten geändert haben, dann hat die flexible Platzierung keinen optimalen Effekt, so dass ein Teil der Last aus dem Gleichgewicht gerät,
    • – keine Objekte existieren, deren Popularität konstant bleibt. Wenn also eine Platzierung nicht gleichmäßig über alle Objekte verteilt ist, entsteht ein Ungleichgewicht.
  • Aus diesem Grund muss die flexible Platzierung von einem dynamischen Neuausgleicher 11 unterstützt werden. Aber im Gegensatz zu dem, was im Falle der ungleichmäßig verteilten Platzierung geschieht, hat der Neuausgleicher nur sehr wenig Arbeit zu verrichten: lediglich das durch die Imperfektionen des Flexibilitätsmanagers 9 hervorgerufene Ungleichgewicht zu korrigieren.
  • Die Qualität der flexiblen Platzierung unterliegt somit den Leistungen von vier Mechanismen: dem Entscheidungsteil 6, dem Umkonfigurator 8, dem Neuausgleicher 11 und dem Analysator 5.
  • Zum Erzielen dieser Platzierungsqualität müssen diese Mechanismen wie folgt ausgelegt sein:
    • – sie müssen jedem Objekt den richtigen Flexibilitätskoeffizienten geben; mit einem Flexibilitätskoeffizienten, der dem richtigen entgegengesetzt ist, werden viel schlechtere Ergebnisse erzielt als bei einer ungleichmäßig verteilten Platzierung,
    • – sie müssen die Reaktionszeit des Flexibilitätsmanagers auf das Maximum begrenzen: der Analysator 5 erfasst Änderungen in der Reaktionsweise des Systems 1 (Dauer d1), dann gibt der Entscheidungsteil 6 die gewünschten Flexibilitätskoeffizienten (Dauer d2), dann bewegt der Umkonfigurator 8 die Daten so, dass zwischen den gewünschten Flexibilitätskoeffizienten und den realen Flexibilitätskoeffizienten eine Entsprechung erzeugt wird (Dauer d3). d2 ist sehr kurz, d1 ist mittelkurz (bestimmte Analysen erfordern, dass das System 1 eine gewisse Zeit lang beobachtet wird, damit sie relevant sind), d3 kann lang sein, wenn viele Umkonfigurationsbewegungen bewirkt werden sollen. Je größer d1 + d2 + d3, desto größer die Ungleichheit der Belastung.
  • Um diese Ziele zu erreichen, wird die Funktion jedes der Hybridplatzierungsmechanismen nachfolgend ausführlich beschrieben.
  • Zunächst behandelt der Entscheidungsteil 6 die von dem Analysator 5 gemessenen und/oder berechneten Parameter für die folgenden Kriterien:
    • – Ausnutzung der Speicherkapazität: es ist vorteilhaft, wenn die freie Speicherkapazität gut verteilt ist, d.h. wenn die Anordnung die Datenmenge maximiert, die dem System 1 hinzugefügt werden kann (unter Kenntnis des anfänglichen Flexibilitätskoeffizienten jedes neu gespeicherten Objekts),
    • – Variabilität der Popularität: je variabler ein Objekt ist, desto größer ist das Risiko einer ungleichmäßigen Belastung,
    • – Einhaltung der Anforderungen der Dienstqualität: wenn die Anforderungen der Dienstqualität in Verbindung mit einem Objekt nicht berücksichtigt werden (z.B. ein Video nicht mit einer ausreichenden Rate zugeführt wird, was zu Stößen führt), dann muss die Dienstqualität stabilisiert werden, indem der Flexibilitätskoeffizient dieses Objekts verringert wird, so dass er gleichmäßig verteilt wird und auch mehr Durchlassband ausnutzt. Wenn die Dienstqualität eines Objektsatzes chaotisch ist, dann kann sie stabilisiert werden, indem der Flexibilitätskoeffizient für alle Objekte global verringert wird,
    • – Qualität des Gleichgewichts der Last: wenn das globale Gleichgewicht schlecht ist, dann muss der globale Datenflexibilitätskoeffizient verringert werden.
  • Zu diesem Zweck ist der Entscheidungsteil 6 so ausgelegt, dass er für jedes Objekt (i) den idealen Flexibilitätskoeffizienten berechnet, der der gewünschte Flexibilitätskoeffizient CFv(i) ist.
  • Zunächst ist es, wenn der Entscheidungsteil 6 die Objekte bearbeitete, um den Entscheidungsmechanismus zu optimieren, vorteilhaft, wenn jedes Objekt aus Blöcken gebildet ist, die Popularitätsvariabilitäten derselben Größenordnung haben.
  • Zu diesem Zweck, und in einer Vorabphase, werden den Blöcken feste Popularitätsvariabilitätswerte auf stochastische Weise oder in Abhängigkeit von Maßnahmen auf der Basis von früheren Informationen zugeordnet, und die genannten Blöcke werden in absteigender Reihenfolge der Popularitätsvariabilität klassifiziert.
  • Die Objekte werden dann durch Assoziation von klassifizierten Blöcken auf zusammenhängende Weise erzeugt. Zum Beispiel, das erste Objekt kann von n ersten klassifizierten Blöcken gebildet werden, das zweite Objekt von n Folgeblöcken usw.
  • Nach dieser Objekterzeugung wird das System gestartet, und in Abhängigkeit von vom Analysator 5 erhaltenen Informationen über die Popularität und die Variabilität dieser Blöcke werden diese periodisch in absteigender Reihenfolge der Popularitätsvariabilität neu klassifiziert.
  • Somit bearbeitet der Entscheidungsteil 6 die Objekte, deren Inhalt ständig variiert, vor allem in einer Anfangsstabilisationsphase, wobei die genannten Objekte von Blöcken gebildet werden, die disparate Daten beinhalten können, die zu diversen Dateien gehören, aber sehr nahe Popularitätsvariabilitäten aufweisen, die eine wirksame Bearbeitung der einzelnen Objekte durch den Entscheidungsteil 6 zulassen.
  • Der Entscheidungsvorgang, der es zulässt, für jedes Objekt den gewünschten Flexibilitätskoeffizienten in Abhängigkeit von der vom Analysator 5 beobachteten Popularitätsvariabilität zu ermitteln, basiert wiederum auf der Verwendung eines „Entscheidungstrapezes" wie in 2 gezeigt.
  • Eine der Basen dieses Trapezes besteht aus einer graduierten Achse, deren Vektor die Popularitätsvariabilität ist, die zweite Basis besteht aus einer graduierten Achse, deren Vektor der gewünschte Flexibilitätskoeffizient ist, wobei der genannte Vektor in Bezug auf den vorhergehenden die umgekehrte Richtung hat.
  • Die erste Stufe des Entscheidungsverfahrens besteht darin, die Unter- und Obergrenzwerte jeder der Variablen, der Popularitätsvariabilität und des gewünschten Flexibilitätskoeffizienten so vorzugeben, dass ein Trapez bestimmt wird, wie in 2 dargestellt ist, dessen beide Seiten jeweils von Segmenten [var Obergrenze-CF Untergrenze] und [var Untergrenze-CF Obergrenze] gebildet werden.
  • Nach dem Definieren des Entscheidungstrapezes beinhaltet der Entscheidungsvorgang Folgendes:
    • – wenn die Variabilität gleich oder größer als var Obergrenze ist, Projizieren dieser Variabilität auf den Wert CF Untergrenze des Flexibilitätskoeffizienten; oder anders ausgedrückt, der gewünschte Flexibilitätskoeffizient eines Objekts, dessen Variabilität gleich oder größer als var Obergrenze ist, wird auf den Wert von CF Untergrenze festgelegt;
    • – ebenso, Projizieren dieser Variabilität, wenn die Variabilität gleich oder kleiner als var Untergrenze ist, auf den Wert CF Obergrenze;
    • – lineares Projizieren dieser Variabilität, wenn die Variabilität innerhalb des Intervalls [var Untergrenze – var Obergrenze] liegt, auf das Intervall [CF Untergrenze – CF Obergrenze].
  • Ein solches Entscheidungstrapez bildet somit ein Entscheidungswerkzeug, mit dem sofort der gewünschte Flexibilitätskoeffizient eines Objektes auf der Basis der Popularitätsvariabilität desselben zugelassen wird.
  • Darüber hinaus kann das Verhalten des Entscheidungsteils 6 in Abhängigkeit von der Wahl der Ober- und Untergrenzwerte von Popularitätsvariabilitäten und gewünschten Flexibilitätskoeffizienten modifiziert werden.
  • Somit gilt z.B.:
    • – eine Erhöhung von CF-Untergrenzwerten und CF-Obergrenzwerten (Verschiebung nach rechts in 2) führt zu einer globalen Erhöhung von gewünschten Flexibilitätskoeffizienten, die vom Entscheidungsteil 6 erzeugt werden, und demzufolge zu einer besseren Ausnutzung der Speicherkapazität auf Kosten des Durchlassbandes;
    • – umgekehrt, eine Reduzierung von CF-Untergrenzwert und CF-Obergrenzwert führt zu einer Optimierung der Ausnutzung des Durchlassbandes des Speichersystems auf Kosten seiner Speicherkapazität; eine ähnliche Argumentation kann darüber hinaus für die Werte var Obergrenze und var Untergrenze gegeben werden;
    • – eine Verringerung von CF Untergrenze und eine Erhöhung von CF Obergrenze (Erhöhung des Intervalls zwischen diesen Grenzwerten) gestattet eine größere Differenzierung bei der Verarbeitung von Objekten: die stabilen Objekte werden leichter „flexibler gemacht" (durch Erhöhen ihres realen Flexibilitätskoeffizienten) und die variablen Objekte werden leichter „starrer gemacht" (durch Verringern ihres realen Flexibilitätskoeffizienten). Demzufolge wird die Leistung des Flexibilitätsmanagers 9 erhöht. Umgekehrt kann diese Leistung des Flexibilitätsmanagers 9 auch bei Annäherung an die beiden Grenzwerte des Flexibilitätskoeffizientenintervalls verringert werden.
  • Das Entscheidungstrapez erlaubt somit eine fallweise Ermittlung eines auf jedes Objekt anzuwendenden Flexibilitätskoeffizienten, aber auch eine Modifizierung der globalen Strategie für die Gesamtheit der Objekte in Abhängigkeit von Ereignissen, die die Funktion des Speichersystems 1 beeinflussen.
  • Wenn beispielsweise ein Speichergerät 3 oder 4 des Speichersystems 1 ausfällt, dann geht ein Teil des Durchlassbandes verloren und die Dienstqualität kann daher nicht mehr eingehalten werden. In diesem Fall kann das Entscheidungstrapez modifiziert werden, um Durchlassband auf Kosten der Speicherkapazität zu gewinnen, so dass vorübergehend wieder eine akzeptable Dienstqualität hergestellt werden kann, während das defekte Speichergerät ausgetauscht wird.
  • Zweitens hat der Umkonfigurator 8 die Aufgabe zu bewirken, dass der reale Flexibilitätskoeffizient CFr(i) jedes Objekts (i) gleich dem vom Entscheidungsteil 6 ermittelten gewünschten Flexibilitätskoeffizienten CFv(i) ist, im Hinblick auf den Gewinn von Durchlassband auf den Objekten, deren realer Flexibilitätskoeffizient abnimmt, und im Hinblick auf den Gewinn an Speicherkapazität an den Objekten, deren realer Flexibilitätskoeffizient zunimmt.
  • Zu diesem Zweck, und an erster Stelle, verwendet das Betriebsverfahren dieses Umkonfigurators 8 einen Parameter, „Distanz-CF" genannt, der gleich dem absoluten Wert |CFv(i) – CFr(i)| ist.
  • Dieses Betriebsverfahren ist in zwei Abläufe gegliedert:
    • – einen Umkonfigurationsablauf, Umkonfiguration BP genannt, um Durchlassband zu gewinnen, der auf die Objekte angewendet wird, deren gewünschter CF-Wert kleiner als der reale CF-Wert ist und der daher starrer gemacht werden soll; zu diesem Zweck besteht der Vorgang darin, für das Objekt, das starrer gemacht werden soll, einen Block, der zu dem Stück mit der höchsten Gewichtung gehört, in Richtung auf das Speichergerät zu bewegen, das das Stück mit der geringsten Gewichtung beinhaltet; ferner ist dieser Vorgang so ausgelegt, dass zunächst die Objekte bearbeitet werden, deren Distanz-CF die größte ist,
    • – einen Umkonfigurationsvorgang, Umkonfiguration CS genannt, um an Speicherkapazität zu gewinnen, der auf die Objekte angewendet wird, deren gewünschter CF-Wert größer ist als der reale CF-Wert und die daher flexibler gemacht werden müssen; zu diesem Zweck besteht dieser Vorgang darin, die Objekte mit einem maximalen Distanz-CF-Wert auszuwählen und einen Block dieser Objekte von dem vollsten Speichergerät zu dem am wenigsten vollen Speichergerät zu bewegen.
  • Die Wahl der beiden separaten Bearbeitungsvorgänge lässt es zu, eine gute Entscheidungsauslastung des Entscheidungsteils 6 zu erzielen, indem ein schwacher Prozentanteil des Durchlassbandes des Speichersystems genutzt wird. Ferner ist zu bemerken, dass der Umkonfigurationsvorgang BP an den Objekten tätig wird, die starrer gemacht werden müssen, während der Umkonfigurationsvorgang CS an den Objekten tätig wird, die flexibler gemacht werden müssen. Demzufolge haben diese beiden Vorgänge getrennte Arbeitsräume und können einander daher nicht stören.
  • Schließlich ist es, wie oben erwähnt, Aufgabe des Neuausgleichers 11, die Ungleichheiten in der Arbeitslast abzustellen, die von Imperfektionen des Flexibilitätsmanagers 1 herrühren.
  • Das Neuausgleichsverfahren ist so ausgelegt, dass zu diesem Zweck Operationen durchgeführt werden, die darin bestehen, Blöcke, auf die am wenigstens häufig zugegriffen wird (Kalt-Blöcke) und die sich in wenig belasteten Speichergeräten befinden (Kalt-DS), durch Blöcke zu ersetzen, auf die häufig zugegriffen wird (Heiß-Blöcke) und die sich in stark belasteten Speichergeräten befinden (Heiß-DS).
  • Ein solches Neuausgleichsverfahren, das von der Umkonfiguration völlig getrennt ist, muss so ausgelegt sein, dass jedes Störungsproblem mit den Umkonfigurationsvorgängen, besonders dem Umkonfigurationsvorgang BP, vermieden oder zumindest minimiert wird und auf eine spezielle Weise funktioniert.
  • Dieses Neuausgleichsverfahren erfordert eine spezielle Klassifizierungsmethode, die in Abhängigkeit von Informationen fortschreitet, die vom Analysator 5 gesendet werden, und die nachfolgend erläutert wird.
  • Zunächst wird das am stärksten belastete Speichergerät (Heiß-DS) und das am wenigsten stark belastete Speichergerät (Kalt-DS) gewählt.
  • Zum Bearbeiten der Bewegung eines heißen Blocks des Heiß-DS zum Kalt-DS werden die Objekte in der Reihenfolge der absteigenden mittleren Popularität klassifiziert, und nach dieser Klassifizierung werden die n populärsten Objekte ausgewählt, die eine „hohe Popularitätszone" bilden, wobei n beispielsweise mit 25 vorbestimmt wird.
  • Diese gewählten Objekte werden dann in Blöcke zerlegt, die dann individuell so behandelt werden, dass sie in die folgenden vier Klassen sortiert und verteilt werden:
    • – Klasse 1: Blöcke, deren Platzierung des Heiß-DS zum Kalt-DS den realen Flexibilitätskoeffizienten von Objekten verringert, zu denen sie gehören, was somit dazu führt, dass diese starrer werden. Diese Klasse 1 betrifft somit Blöcke, die kein Konfliktrisiko mit der Umkonfiguration BP mit sich bringen,
    • – Klasse 2: Blöcke, die zu einem anderen Speichergerät als dem vollsten Speichergerät bewegt werden (d.h. wenn sich das Kalt-DS vom vollsten Speichergerät unterscheidet); diese Klasse 2 betrifft somit die Blöcke, die keinerlei Konfliktrisiko mit der Umkonfiguration CS mit sich bringen,
    • – Klasse 3: Blöcke, die zum vollsten Speichergerät bewegt werden (Klasse, die der Klasse 2 entgegengesetzt ist) und die somit dafür anfällig sind, dass sie ein Konfliktrisiko mit der Umkonfiguration CS erzeugen,
    • – Klasse 4: Blöcke, deren Platzierung die CF-Distanz (die Klasse, die Klasse 1 entgegengesetzt ist) erhöht und die Konfliktrisiken mit der Umkonfiguration BP erzeugen können.
  • Ebenso wird zum Bearbeiten der Bewegung eines Kaltblocks des Kalt-DS zum Heiß-DS eine identische Klassifizierung in denselben vier Klassen für die Blöcke der n am wenigsten populären Objekte realisiert, die eine „tiefe Zone" der Popularität bilden.
  • Auf der Basis dieser Klassifizierung sind die Stufen des Neuausgleichsverfahrens die folgenden:
    • 1) Suchen des zu übertragenden Blocks des Heiß-DS, der zu einem Objekt gehört, das in der Hochpopularitätszone klassifiziert ist. Zu diesem Zweck wird der Block des Heiß-DS gewählt, dessen Klassennummer die kleinste ist (Priorität Klasse 1) und dessen Objekt eine minimale CF-Distanz hat. Es ist zu bemerken, dass diese Wahl einer minimalen CF-Distanz insbesondere zu einer Verringerung der Konfliktrisiken mit der Umkonfiguration CS für die Blöcke in Klasse 3 und der Umkonfiguration BP für die Objekte in Klasse 4 aufgrund der Tatsache führt, dass diese Umkonfigurationen zu einer quasi einmaligen Bewegung von Daten von Objekten mit einer großen CF-Distanz führen.
    • 2) Suchen des zu übertragenden Blocks des Kalt-DS, der zu einem Objekt gehört, das in der Tiefpopularitätsklasse klassifiziert ist (ähnlich der Suche von Stufe 1) oben.
    • 3) Ersetzen des Blocks des in Stufe 1) oben gewählten Heiß-DS durch den in Stufe 2) oben gewählten Block des Kalt-DS.
  • Das mit diesem Neuausgleichsvorgang verbundene Konzept des Flexibilitätsmanagers 9, das zu einer „flexiblen Platzierung" führt, ergibt eine gleichzeitige Optimierung der Ausnutzung der Speicherkapazität und der Ausnutzung des Durchlassbandes von Speichersystemen, wie dies aus dem nachfolgend mit Bezug auf 3 beschriebenen Ausnutzungsbeispiel hervorgeht.
  • Das verwendete Speichersystem 1 bestand aus zwei Festplatten mit einer Speicherkapazität von 18,6 GB und einem Durchlassband von 34,2 MB/s sowie aus zwei Festplatten mit einer Speicherkapazität von 43 GB und einem Durchlassband von 28,8 MB/s.
  • In 3, die die erhaltenen Ergebnisse illustriert, steht die Funktionszeit in Minuten in der Abszisse, während die Ausnutzungsrate des Durchlassbandes und die Speicherkapazität in der Ordonate stehen.
  • Zum Zeitpunkt null der Inbetriebnahme wird das Speichersystem 1 auf stochastische Weise gefüllt. Wie aus der Kurve von 3 hervorgeht, führt in einer anfänglichen Stabilisationszeit das Flexibilitätsmanagement 9 zu einer Freisetzung von Speicherkapazität, wobei das Durchlassband so gut wie möglich stabilisiert wird. Danach werden im gleichen Maße die vom Analysator 5 kommenden Informationen präziser und repräsentativer für die Eigenschaften des Objektes, so dass der Entscheidungsteil 6 immer relevantere gewünschte Flexibilitätskoeffizienten berechnen kann.
  • Für jedes Objekt nähern sich diese gewünschten Flexibilitätskoeffizienten außerdem allmählich den Werten der realen Flexibilitätskoeffizienten aufgrund der Wirkung des Umkonfigurators 7.
  • Nach dieser Stabilisationsphase ermöglicht der Flexibilitätsmanager 9 eine Überkreuzung, für die 77% Ausnutzungsrate der Speicherkapazität und die 89% Ausnutzungsrate des Durchlassbandes erzielt werden.
  • Zum Vergleich, mit einer „gleichmäßig verteilten" Platzierung kann unter denselben Bedingungen eine Ausnutzungsrate von 100% des Durchlassbandes, aber nur eine Ausnutzungsrate von 35% der Kapazität erzielt werden.
  • Demzufolge können im Vergleich zu bekannten Platzierungsmethoden mit der erfindungsgemäßen „flexiblen Verflechtung" höhere Ausnutzungsraten sowohl im Hinblick auf das Durchlassband als auch im Hinblick auf die Speicherkapazität erzielt werden, ohne dass dies auf „Kosten" von einer der Ausnutzungsraten zu Gunsten der anderen gehen würde.

Claims (8)

  1. Verfahren zum Verteilen von Objekten in einer heterogenen Gruppe (1) von Datenspeichergeräten (3, 4), das die folgenden Schritte umfasst: Unterteilen aller Objekte in eine Mehrzahl von Blöcken, Verteilen der genannten Blöcke unter den unterschiedlichen Speichergeräten gemäß einem Verteilungsgesetz, das darin besteht, dass in jedem der genannten Speichergeräte (3, 4) Stücke von Objekten verteilt werden, die jeweils aus einem oder aus einer Mehrzahl von Blöcken bestehen, wobei das genannte Verfahren dadurch gekennzeichnet ist, dass es als Parameter für die Steuerung der Verteilung von Objektstücken einen Koeffizienten, Flexibilitätskoeffizient CF(i) genannt, verwendet, der die Differenz zwischen den Wertigkeiten von Objektstücken (i) repräsentiert, wenn ein neues Objekt hinzugefügt wird, die genannten Objektblöcke unter den genannten Speichergeräten (3, 4) verteilt werden, indem ein bestimmter Wert des Flexibilitätskoeffizienten vorgegeben wird, während für Objekte, die in die Gruppe von Speichergeräten (3, 4) gesetzt werden: – die Werte, die die Popularitätsvariabilität jedes Objekts repräsentieren, periodisch gemessen und berechnet werden; – für jedes Objekt ein gewünschter Flexibilitätskoeffizient CFv(i) anhand der oben genannten Werte berechnet wird, die zum Zeitpunkt t gemessen oder berechnet wurden, und dem genannten Objekt gemäß einem Prinzip zugeordnet wird, das darin besteht, jedem Objekt einen Flexibilitätskoeffizienten zuzuordnen, der umgekehrt proportional zu seiner Popularitätsvariabilität ist; – für jedes Objekt (i) der reale Flexibilitätskoeffizient CFr(i) des genannten Objekts, der die Differenz zwischen den Wertigkeiten der Stücke dieses Objekts repräsentiert, zum Zeitpunkt t gemessen und berechnet wird; – und eine Bewegung zwischen den Objektstückblöcke speichernden Geräten bewirkt wird, um für jedes Objekt (i) einen realen Flexibilitätskoeffizienten CFr(i) zu erhalten, der dem gewünschten Flexibilitätskoeffizienten CFv(i) für dieses Objekt entspricht.
  2. Verteilungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass der reale Flexibilitätskoeffizient CFr(i), der für jedes Objekt (i) berechnet wurde, derart ist, dass: CFr(i) = Pabw(i)/Pmittel(i)wobei: Pmittel(i) das Mittel der Wertigkeiten von Stücken des Objekts (i) ist, und Pabw(i) die Standardabweichung in Bezug auf das Mittel der Wertigkeiten der Stücke des Objekts (i) ist.
  3. Verteilungsverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass: – in einer Vorabphase den verschiedenen Blöcken vorbestimmte Popularitätsvariabilitätswerte zugeordnet werden, die genannten Blöcke in absteigender Reihenfolge der Popularitätsvariabilität klassifiziert werden, und die Objekte durch Assoziation von aneinander grenzend klassifizierten Blöcken erzeugt werden; – und im Laufe der Steuerung der Gruppe von Speicherblöcken die Blöcke periodisch in absteigender Reihenfolge der Popularitätsvariabilität in Abhängigkeit von der gemessenen Information über die Popularität und die Variabilität der genannten Blöcke umklassifiziert werden.
  4. Verteilungsverfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der gewünschte Flexibilitätskoeffizient CFv(i) für jedes Objekt (i) mittels eines Entscheidungsverfahrens mit der Bezeichnung „Entscheidungstrapez" ermittelt wird, das aus einem Trapez mit einer ersten Basis aus einer graduierten Achse, deren Vektor die Popularitätsvariabilität des genannten Objekts ist, und einer zweiten Basis besteht, die aus einer graduierten Achse besteht, deren Vektor der gewünschte Flexibilitätskoeffizient für das genannte Objekt ist, wobei der genannte Vektor die entgegengesetzte Richtung zum vorherigen hat, wobei das genannte Entscheidungsverfahren die folgenden Schritte umfasst: – Vorgeben der Ober- und Untergrenzwerte für jede der Variablen, nämlich die Popularitätsvariabilität und den gewünschten Flexibilitätskoeffizienten, um ein Trapez zu erzeugen, dessen beide Seiten jeweils aus den Segmenten [var Obergrenze-CF Untergrenze] und [var Untergrenze-CF Obergrenze] besteht, – Projizieren dieser Variabilität, wenn die Variabilität gleich oder größer ist als var Obergrenze, auf den Wert CF Untergrenze des Flexibilitätskoeffizienten; – ebenso, Projizieren dieser Variabilität, wenn die Variabilität gleich oder kleiner als var Untergrenze ist, auf den Wert CF Obergrenze; – lineares Projizieren dieser Variabilität, wenn die Variabilität innerhalb des Intervalls [var Untergrenze – var Obergrenze] liegt, auf das Intervall [CF Untergrenze – CF Obergrenze].
  5. Verteilungsverfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass zum Erhalten eines realen Flexibilitätskoeffizienten CFr(i) für jedes Objekt (i), das dem gewünschten Flexibilitätskoeffizienten CFv(i) entspricht: – für jedes Objekt (i) ein Parameter mit der Bezeichnung CF-Distanz, der gleich dem Absolutwert |CFv(i) – CFr(i)| zwischen den beiden Linien ist, berechnet wird; – für die Objekte (i), für die CFv(i) < CFr(i) ist, und an erster Stelle für die Objekte, für die die CF-Distanz maximal ist, ein Block dieser Objekte, der zu dem Stück mit der höchsten Wertigkeit gehört, zu dem Speichergerät (3, 4) bewegt wird, das das Stück mit der niedrigsten Wertigkeit enthält; – und für die Objekte (i), für die CFv(i) > CFr(i) ist, und an erster Stelle für die Objekte, für die die CF-Distanz maximal ist, ein Block dieser Objekte des vollsten Speichergerätes (3, 4) zu dem am wenigsten vollen Speichergerät (3, 4) bewegt wird.
  6. Verteilungsverfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass: – das am stärksten beladene Speichergerät (3, 4), Heiß-SD genannt, und das am schwächsten beladene Speichergerät, Kalt-SD genannt, gewählt werden; – ein Block, auf den selten zugegriffen wird, Kalt-Block genannt, sich in dem am schwächsten beladenen Speichergerät (3, 4) befindet, und ein Block, auf den häufig zugegriffen wird, Heiß-Block genannt, sich in dem am stärksten beladenen Speichergerät (3, 4) befindet, so dass diese beiden Blöcke ausgetauscht werden können, um die Last neu auszugleichen; – die Heiß-Blöcke des Heiß-SD wie folgt sortiert werden: • die Objekte werden in absteigender Reihenfolge der mittleren Popularität klassifiziert, • die n populärsten Objekte, die eine Region, Hochpopularitätsregion genannt, bilden, werden nach dieser Klassifizierung gewählt, • die n Objekte werden in Blöcke unterteilt, die individuell verarbeitet werden, um sie zu sortieren und auf vier Klassen zu verteilen: – Klasse 1: Blöcke, für die die Bewegung vom Heiß-SD zum Kalt-SD den realen Flexibilitätskoeffizienten der Objekte verringert, zu denen sie gehören, – Klasse 2: Blöcke, die zu einem anderen als dem vollsten Speichergerät (3, 4) bewegt werden, – Klasse 3: Blöcke, die zum vollsten Speichergerät bewegt werden, – Klasse 4: Blöcke, deren Verlegung die CF-Distanz erhöht, – auf dieselbe Weise werden zum Sortieren der Kaltblöcke im Kalt-SD die n am wenigsten populären Objekte nach Klassifizierung gewählt, wobei diese Objekte eine Region, Niederpopularitätsregion genannt, bilden und in Blöcke unterteilt werden, die individuell verarbeitet werden, um sie zu sortieren und auf die oben genannten vier Klassen zu verteilen, – wonach, beginnend mit diesen beiden Gruppen von sortierten Blöcken, nämlich die Gruppen von Heißblöcken und Kaltblöcken: • der zu übertragende Block im Heiß-SD gesucht wird, der aus einem zuvor sortierten Block besteht, der sich in dem genannten Heiß-SD befindet und dessen Klassennummer die niedrigste ist, • der zu übertragende Block im Kalt-SD gesucht wird, der aus einem zuvor sortierten Block besteht, der sich in dem genannten Kalt-SD befindet und dessen Klassennummer die niedrigste ist, • und der gewählte Block im Heiß-SD gegen den gewählten Block im Kalt-SD ausgetauscht wird.
  7. Vorrichtung zum Verteilen von Objekten (i), die in eine Mehrzahl von Blöcken in einer heterogenen Gruppe (1) von Speichergeräten (3, 4) gemäß einem Verteilungsgesetz unterteilt werden, das darin besteht, Objektstücke auf die genannten Speichergeräte (3, 4) zu verteilen, die jeweils aus einem Block oder einer Mehrzahl von Blöcken bestehen, wobei die genannte Verteilungsvorrichtung dadurch gekennzeichnet ist, dass sie Folgendes umfasst: – ein Modul, Analysemodul (5) genannt, zum periodischen Messen und Berechnen von Werten, die Popularitätsvariabilität jedes Objekts repräsentieren; – ein Modul, Entscheidungsmodul (6) genannt, um für jedes Objekt (i) anhand der vom Analysemodul (5) gemessenen und berechneten Parameter zu einem Zeitpunkt t einen Koeffizienten CFr(i), realer Flexibilitätskoeffizient genannt, der die Differenz zwischen den Wertigkeiten von Stücken dieses Objekts (i) repräsentiert, und eines Koeffizienten CFv(i), gewünschter Flexibilitätskoeffizient genannt, zu berechnen, der dem Objekt (i) zugewiesen werden soll und der gemäß einem Prinzip berechnet wird, das darin besteht, jedem Objekt einen Flexibilitätskoeffizienten zuzuordnen, der umgekehrt proportional zu seiner Popularitätsvariabilität ist; – und ein Modul, Umkonfigurationsmodul (8) genannt, zum Bewirken einer Bewegung von Objektstückblöcken zwischen den Speichergeräten (3, 4), um für jedes Objekt (i) einen realen Flexibilitätskoeffizienten CFr(i) zu erhalten, der dem gewünschten Flexibilitätskoeffizienten CFv(i) für dieses Objekt entspricht.
  8. Verteilungsvorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass sie ein Modul, Neuausgleichsmodul (11) genannt, zum Ausführen von Vorgängen umfasst, die darin bestehen, Blöcke, auf die selten zugegriffen wird, die sich in weniger beladenen Speichergeräten (3, 4) befinden, durch Blöcke zu ersetzen, auf die häufig zugegriffen wird und die sich in stark beladenen Speichergeräten (3, 4) befinden.
DE60206656T 2001-12-14 2002-12-13 Verfahren und vorrichtung zur verteilung von objekten in einer heterogenen gruppe von datenspeichergeräten Expired - Fee Related DE60206656T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0116204 2001-12-14
FR0116204A FR2833726B1 (fr) 2001-12-14 2001-12-14 Procede de dispositif de repartition d'objets dans un groupe heterogene de dispositifs de stockage de donnees
PCT/FR2002/004351 WO2003054735A1 (fr) 2001-12-14 2002-12-13 Procede et dispositif de repartition d'objets dans un groupe heterogene de dispositifs de stockage de donnees

Publications (2)

Publication Number Publication Date
DE60206656D1 DE60206656D1 (de) 2005-11-17
DE60206656T2 true DE60206656T2 (de) 2006-07-06

Family

ID=8870505

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60206656T Expired - Fee Related DE60206656T2 (de) 2001-12-14 2002-12-13 Verfahren und vorrichtung zur verteilung von objekten in einer heterogenen gruppe von datenspeichergeräten

Country Status (9)

Country Link
US (1) US7197618B2 (de)
EP (1) EP1454269B1 (de)
JP (1) JP4405806B2 (de)
CN (1) CN1280760C (de)
AT (1) ATE306693T1 (de)
CA (1) CA2466933A1 (de)
DE (1) DE60206656T2 (de)
FR (1) FR2833726B1 (de)
WO (1) WO2003054735A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4418286B2 (ja) * 2003-07-14 2010-02-17 富士通株式会社 分散型ストレージシステム
JP4559295B2 (ja) * 2005-05-17 2010-10-06 株式会社エヌ・ティ・ティ・ドコモ データ通信システム及びデータ通信方法
US8380960B2 (en) * 2008-11-04 2013-02-19 Microsoft Corporation Data allocation and replication across distributed storage system
KR101603202B1 (ko) 2009-09-21 2016-03-14 삼성전자주식회사 이기종 멀티프로세서 시스템 온 칩에서의 rpc 데이터 배치 방법 및 장치
US10282291B2 (en) * 2012-04-20 2019-05-07 Enmotus, Inc. Storage system with data management mechanism and method of operation thereof
US9507800B2 (en) * 2013-10-23 2016-11-29 Netapp, Inc. Data management in distributed file systems
US9575974B2 (en) 2013-10-23 2017-02-21 Netapp, Inc. Distributed file system gateway
US9436404B2 (en) * 2013-12-06 2016-09-06 Concurrent Ventures, LLC System and method for dynamically load balancing across storage media devices having fast access rates
US10235096B2 (en) * 2013-12-06 2019-03-19 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on an average or discounted average sustained performance level
US10048895B2 (en) 2013-12-06 2018-08-14 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on a mid-range performance level
US9274722B2 (en) 2013-12-06 2016-03-01 Concurrent Ventures, LLP System, method and article of manufacture for monitoring, controlling and improving storage media system performance
JP6291937B2 (ja) * 2014-03-19 2018-03-14 日本電気株式会社 ブロックストレージ、ストレージシステム、コンピュータシステム、ブロックストレージ制御方法、ストレージシステム制御方法およびプログラム
US11042330B2 (en) * 2017-03-01 2021-06-22 Samsung Electronics Co., Ltd. Methods and systems for distributed data storage
US11650849B2 (en) 2018-09-25 2023-05-16 International Business Machines Corporation Efficient component communication through accelerator switching in disaggregated datacenters
US10802988B2 (en) * 2018-09-25 2020-10-13 International Business Machines Corporation Dynamic memory-based communication in disaggregated datacenters
US10637733B2 (en) 2018-09-25 2020-04-28 International Business Machines Corporation Dynamic grouping and repurposing of general purpose links in disaggregated datacenters
US11163713B2 (en) 2018-09-25 2021-11-02 International Business Machines Corporation Efficient component communication through protocol switching in disaggregated datacenters
US10831698B2 (en) 2018-09-25 2020-11-10 International Business Machines Corporation Maximizing high link bandwidth utilization through efficient component communication in disaggregated datacenters
US11012423B2 (en) 2018-09-25 2021-05-18 International Business Machines Corporation Maximizing resource utilization through efficient component communication in disaggregated datacenters
US10915493B2 (en) 2018-09-25 2021-02-09 International Business Machines Corporation Component building blocks and optimized compositions thereof in disaggregated datacenters
US10671557B2 (en) 2018-09-25 2020-06-02 International Business Machines Corporation Dynamic component communication using general purpose links between respectively pooled together of like typed devices in disaggregated datacenters
US11182322B2 (en) 2018-09-25 2021-11-23 International Business Machines Corporation Efficient component communication through resource rewiring in disaggregated datacenters

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01173236A (ja) * 1987-12-28 1989-07-07 Nec Corp ファイル格納媒体選択方式
JPH04165541A (ja) * 1990-10-30 1992-06-11 Hitachi Ltd ファイル再配置方法
JPH04299747A (ja) * 1991-03-28 1992-10-22 Omron Corp 情報処理装置に於けるデータ管理システム
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US6330621B1 (en) * 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager

Also Published As

Publication number Publication date
US20050033749A1 (en) 2005-02-10
ATE306693T1 (de) 2005-10-15
CN1280760C (zh) 2006-10-18
FR2833726A1 (fr) 2003-06-20
JP4405806B2 (ja) 2010-01-27
CA2466933A1 (fr) 2003-07-03
EP1454269B1 (de) 2005-10-12
EP1454269A1 (de) 2004-09-08
WO2003054735A1 (fr) 2003-07-03
FR2833726B1 (fr) 2004-03-05
JP2005534084A (ja) 2005-11-10
CN1605078A (zh) 2005-04-06
US7197618B2 (en) 2007-03-27
DE60206656D1 (de) 2005-11-17

Similar Documents

Publication Publication Date Title
DE60206656T2 (de) Verfahren und vorrichtung zur verteilung von objekten in einer heterogenen gruppe von datenspeichergeräten
DE60313037T2 (de) Flusssteuerung in Netzwerkeinheiten
DE102020113347A1 (de) Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten
DE602004011890T2 (de) Verfahren zur Neuverteilung von Objekten an Recheneinheiten
DE10062063B4 (de) Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE10341574A1 (de) Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock
DE10341573A1 (de) Integrierte modellbasierte prädikative Steuerung und Optimierung innerhalb eines Prozesssteuerungssystems
WO2009056416A1 (de) Verfahren zur rechnergestützten exploration von zuständen eines technischen systems
DE102005062838A1 (de) Verfahren und Vorrichtung zur Auswertung einer vorgeschlagenen Lösung zu einem Randwertproblem
DE10341762B4 (de) Handhabung der Realisierbarkeit von Beschränkungen und Grenzen in einem Optimierer für Prozesssteuerungssysteme
DE60213519T2 (de) Vorrichtung zur Steuerung eines Servomotors
DE112018002500T5 (de) Speicherarray für Hybriddaten
AT412678B (de) Verfahren zur rechnergestützten erstellung von prognosen für operative systeme sowie system zur erstellung von prognosen für operative systeme
EP0791870A1 (de) Verfahren und Anordnung zur Adaption eines Fuzzy-Reglers
DE102016007651B4 (de) Numerische Steuerung mit Funktion zur automatischen Auswahl eines Speicherungsziels für ein Bearbeitungsprogramm
DE102009056282A1 (de) Technik zum Steuern von Verarbeitungsressourcen
DE112011103603T5 (de) Verfahren und Vorrichtung zum Bestimmen eines Werkzeugwegs und Programm dafür
DE10017551A1 (de) Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens
DE10035639A1 (de) Schedulingverfahren und -gerät für Netzergänzungsspeichergeräte und andere Systeme
EP3668036A1 (de) Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
EP3901713B1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
DE4439505A1 (de) Verfahren zum Entwurf eines Fuzzy-Reglers
DE112021004158T5 (de) Steuerungsunterstützungsvorrichtung, Steuerungssystem und Steuerungsunterstützungsverfahren
DE102013225997A1 (de) Verfahren zum Ermitteln eines Modellwertsaus einem Random-Forest-Modell
CH676304A5 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee