DE112012000953B4 - Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit - Google Patents

Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit Download PDF

Info

Publication number
DE112012000953B4
DE112012000953B4 DE112012000953.3T DE112012000953T DE112012000953B4 DE 112012000953 B4 DE112012000953 B4 DE 112012000953B4 DE 112012000953 T DE112012000953 T DE 112012000953T DE 112012000953 B4 DE112012000953 B4 DE 112012000953B4
Authority
DE
Germany
Prior art keywords
data
rank
ranks
heat
imbalance
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
DE112012000953.3T
Other languages
English (en)
Other versions
DE112012000953T5 (de
Inventor
Sangeetha Seshadri
Lawrence Yiumchee Chiu
Paul Henri Muench
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.)
GlobalFoundries Inc
Original Assignee
GlobalFoundries Inc
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 GlobalFoundries Inc filed Critical GlobalFoundries Inc
Publication of DE112012000953T5 publication Critical patent/DE112012000953T5/de
Application granted granted Critical
Publication of DE112012000953B4 publication Critical patent/DE112012000953B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0653Monitoring storage devices or systems
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit durch eine Prozessoreinheit in einer Datenverarbeitungs-Speicherumgebung, das aufweist:- Berechnen einer Vielzahl von Ranghitzen durch Verwenden einer Vielzahl detaillierter, mit einer Bereichsgranularität gesammelter statistischer Daten, eingeschlossen das Berücksichtigen von Bandbreite- und Eingaben/Ausgaben-pro-Sekunde-Metriken- Erstellen eines anpassungsfähigen Datenplatzierungsplans zum Verlagern von Daten in Abhängigkeit von der Vielzahl von berechneten Ranghitzen;- Platzieren der Daten in einer Vielzahl von Datenspeicherrängen und- Ausgleichen der Lasten der Vielzahl von Datenspeicherrängen gemäß dem anpassungsfähigen Datenplatzierungsplan durch Verlagern von Daten in Abhängigkeit von der Vielzahl von berechneten Ranghitzen,- wobei die Ranghitze in Abhängigkeit von einer Bereichshitze ermittelt wird und die Bereichshitze aus einer linearen Kombination von zufälligen und aufeinanderfolgenden Eingaben-/Ausgaben-pro-Sekunde des Bereichs berechnet wird

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf Computer und insbesondere auf das dynamische Beseitigen von Leistungsungleichgewicht zur Laufzeit in einer Datenverarbeitungs-Speicherumgebung.
  • HINTERGRUND
  • In der Gesellschaft von heute sind Computersysteme üblich. Computersysteme findet man am Arbeitsplatz, zu Hause oder in der Schule. Computersysteme können Datenspeichersysteme oder Plattenspeichersysteme zum Verarbeiten und Speichern von Daten enthalten. Ein Speichersystem kann ein oder mehrere Plattenlaufwerke enthalten. Die Plattenlaufwerke können in einem Array angeordnet sein, wie beispielsweise in einer RAID-Topologie (Redundant Array of Independent Disks Topology), damit im Fall eines Hardware- oder Softwarefehlers für die Sicherheit der Daten gesorgt ist. Die Datenspeichersysteme können mit einem Host wie beispielsweise einem Großrechner verbunden sein. Die Plattenlaufwerke in zahlreichen Datenspeichersystemen wurden üblicherweise als Direktzugriffs-Speichereinheiten (Direct Access Storage Devices, DASD) bezeichnet. DASD-Einheiten speichern Daten üblicherweise in einer Spur, die ein kreisförmiger Pfad auf der Oberfläche einer Platte ist, auf der Daten aufgezeichnet und von der aufgezeichnete Daten gelesen werden. Um einen höheren Durchsatz bei Systemen zu erzielen, bei denen mehrere gleichzeitige E/A-Anforderungen (IO requests) simultan verarbeitet werden, können Daten über mehrere physische Einheiten (wie beispielsweise Plattenlaufwerke, Adapter usw.) hinweg verteilt werden, sodass Anforderungen, die auf verschiedene Datenspeicherorte zugreifen, gleichzeitig bedient werden können. Jedoch kann sich im Verlauf der Zeit die Arbeitslast derart entwickeln, dass einige Einheiten übermäßig ausgelastet sind, während andere unzureichend ausgelastet sind. Außerdem kann bei den Datenspeichersystemen die Arbeitslast der Plattenspeicher-Teilsysteme im Lauf der Zeit schwanken, und es können sich ein natürliches Ungleichgewicht bzw. natürliche Ungleichgewichte ergeben. Durch das Ungleichgewicht kann eine Unausgeglichenheit sowohl in der Dimension der Bandbreite (BB), als auch in der Dimension der E/A-Operationen pro Sekunde (input/output per second, IOPS) erzeugt werden, sodass daher keine akzeptable Leistung erfolgt.
  • Aus Guerra et al., „Cost Effective Storage using Extent Based Dynamic Tiering", FAST 2011, S. 20 - 20, 15. - 17-03.2011, ist die Optimierung der erzielbaren System leistung bei Reduzierung von Speicherkosten bekannt. Damit wird der Stromverbrauch dadurch gesenkt, dass Daten auf den Speicher mit dem günstigsten Verbrauch verschoben werden.
  • Ausgehend von diesem Stand der Technik stellt sich die Erfindung die Aufgabe, ein wirklichkeitsnahe Berechnung des Stromverbrauchs von Rängen zu bewerkstelligen, die aus mehreren Bereichen bestehen können, um eine effektive Behebung von Leistungsungleichgewichten zu erreichen.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch das Verfahren nach Anspruch 1 sowie das System nach Anspruch 8 und das Computerprogrammprodukt nach Anspruch 9. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
  • KURZDARSTELLUNG
  • Die Erfindung beruht im wesentlichen darauf, dass zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit durch eine Prozessoreinheit in einer Datenverarbeitungs-Speicherumgebung eine Vielzahl von Ranghitzen berechnet wird, ein anpassungsfähiger Datenplatzierungsplan erstellt wird, Daten in einer Vielzahl von Datenspeicherrängen platziert werden und Lasten der Datenspeicherränge gemäß dem anpassungsfähigen Datenplatzierungsplan ausgeglichen werden. Dabei wird die Ranghitze in Abhängigkeit von einer Bereichshitze ermittelt und die Bereichshitze aus einer linearen Kombination von zufälligen und aufeinanderfolgenden EA-Anzahlen Eingaben-/Ausgaben-pro-Sekunde des Bereichs berechnet.
  • Die folgenden Teilaspekte sind Bestandteil der Erfindung: In einem Datenspeichersystem mit verschiedenen Speichereinheiten, von denen einige eine höhere Leistung aufweisen als andere, können Speichersysteme natürliche Ungleichgewichte entwickeln und sowohl in der Dimension der Bandbreite, als auch in der Dimension der Eingaben/Ausgaben pro Sekunde unausgeglichen werden. Durch die Entwicklung von Ungleichgewichten in der Datenverarbeitungsumgebung werden Leistung und Systemverarbeitung verringert.
  • Dementsprechend und angesichts des Vorangehenden werden verschiedene beispielhafte Verfahrens-, System- und Computerprogrammprodukt-Ausführungsformen zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit in einer Computerumgebung bereitgestellt. Bei einer Ausführungsform ist die Computerumgebung für das Berechnen einer „Ranghitze“ mithilfe einer Vielzahl detaillierter, mit einer Bereichsgranularität gesammelter statistischer Daten konfiguriert, eingeschlossen das Berücksichtigen von Bandbreite- und Eingaben/Ausgaben-pro-Sekunde-Metriken. Ein anpassungsfähiger Datenplatzierungsplan wird erstellt, um die Daten zu verlagern. Die Daten werden in Datenspeicherrängen platziert. Die Lasten der Datenspeicherränge werden gemäß dem anpassungsfähigen Datenplatzierungsplan ausgeglichen.
  • Figurenliste
  • Im Folgenden werden eine oder mehrere Ausführungsformen der Erfindung ausschließlich beispielhaft beschrieben, unter Bezugnahme auf die begleitenden Zeichnungen, die Folgendes zeigen:
    • Die 1 veranschaulicht eine Computerspeicherumgebung mit einer beispielhaften Speichereinheit, in der Aspekte der vorliegenden Erfindung realisiert werden können;
    • die 2 veranschaulicht ein beispielhaftes Blockschaubild, das eine Hardwarestruktur eines Datenspeichersystems in einem Computersystem zeigt, in dem Aspekte der vorliegenden Erfindung realisiert werden können;
    • die 3 ist ein Ablaufplan, der ein beispielhaftes Verfahren zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit veranschaulicht;
    • die 4 ist ein beispielhaftes Schaubild, das eine Latenzkurve veranschaulicht, in der Aspekte der vorliegenden Erfindung realisiert werden können;
    • die 5A ist ein beispielhaftes Schaubild, das einen Anwendungsfall des Hinzufügens eines Rangs veranschaulicht, in dem Aspekte der vorliegenden Erfindung realisiert werden können;
    • die 5B ist ein beispielhaftes Schaubild, das einen alternativen Ablauf des Hinzufügens eines Rangs veranschaulicht, in dem Aspekte der vorliegenden Erfindung realisiert werden können;
    • die 5C ist ein beispielhaftes Schaubild, das einen Leistungsungleichgewichts-Anwendungsfall veranschaulicht, in dem Aspekte der vorliegenden Erfindung realisiert werden können;
    • die 5D ist ein beispielhaftes Schaubild, das Mechanismen zum Beseitigen von Leistungsungleichgewicht veranschaulicht, in denen Aspekte der vorliegenden Erfindung realisiert werden können, und
    • die 6 ist ein Ablaufplan, der ein beispielhaftes Verfahren zum dynamischen Beseitigen von Leistungsungleichgewicht zwischen Datenspeicherrängen veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In einem Speichersystem können sich aufgrund einer Kombination verschiedener Faktoren natürliche Leistungsungleichgewichte entwickeln, und es kann entlang den Dimensionen Bandbreite und Eingaben/Ausgaben pro Sekunde unausgeglichen werden und keine akzeptable Leistung bieten. Zu diesen Faktoren können die folgenden zählen: 1) Datenplatzierung: Platzieren von „heißen Daten, auf die simultan zugegriffen wird“ auf denselben Einheiten (wie beispielsweise Rängen), 2) Änderungen der Arbeitslast, durch die eine zuvor optimale Platzierung eine suboptimale und unakzeptable Leistung bietet, 3) Hinzufügen/Entfernen/Verschlechtern der Qualität von Hardware sowie die Unfähigkeit des Systems, sich an Konfigurationsänderungen anzupassen, 4) andere Migrationsaktivitäten oder Konfigurationsänderungen wie beispielsweise Erstellen/Entfernen/Migrieren von Datenträgern, und 5) Migrieren, Hinzufügen von neuer Hardware sowie verminderte Qualität von Hardware in dem System können alle zu einem Leistungsungleichgewicht beitragen.
  • Bei vorhandenen Ansätzen, die sich mit dem natürlichen Ungleichgewicht beschäftigen, werden Techniken wie beispielsweise Striping oder zufällige Platzierung verwendet. Bei solchen Ansätzen wird jedoch eine Platzierung zugewiesen, bevor sich das Zugriffsmuster zeigt, und es wird lediglich die Wahrscheinlichkeit eines Ungleichgewichts verringert. Durch einen solchen Ansatz wird das Ungleichgewicht nicht beseitigt, und das Ungleichgewicht wird nicht beim ersten Auftreten des Ungleichgewichts korrigiert. Bei anderen Ansätzen wird ein Ansatz zum Neuverteilen von Arbeitslast verwendet, bei dem die Arbeitslast zu einem redundanten sekundären Speicherort der Daten umgeleitet wird, wenn der primäre Speicherort überlastet ist. Bei einem derartigen Ansatz wird weder das Ungleichgewicht in einem Speicher-Teilsystem zur Laufzeit beseitigt, noch das Problem gelöst, wenn kein sekundärer Speicherort zur Verfügung steht. Bei diesen Ansätzen wird die Leistungsverminderung auf der Ebene des Speicher-Teilsystems nicht wirkungsvoll angegangen, die eine Folge davon ist, dass einige Ränge in dem System überlastet sind, während einige Ränge unzureichend ausgelastet sind. Der Hauptfaktor eines solchen Versagens bei der Lösung des Problems besteht darin, dass diese Ansätze nicht mit der Detailliertheit auf die Probleme eingehen, die bei den Speicher-Teilsystemen erforderlich ist, oder wenn doch, auf eine statische Weise.
  • Bei einer Ausführungsform sorgen die Mechanismen der veranschaulichten Ausführungsformen für das dynamische Beseitigen von Leistungsungleichgewicht zur Laufzeit durch anpassungsfähiges Platzieren von Daten in Speicherrängen. Ein anpassungsfähiger Algorithmus hat Arbeitslast und eine Konfiguration zur Grundlage.
  • Bei einer Ausführungsform werden bei den Mechanismen der veranschaulichten Ausführungsformen detaillierte, mit Bereichsgranularität gesammelte statistische Daten zum Berechnen von Ranghitze(n) verwendet, wobei sowohl Bandbreite- und IOPS-Fähigkeiten der Hardware als auch als auch Arbeitslastmerkmale berücksichtigt werden. Die durchschnittliche Ranghitze über die Ränge hinweg (zu den Variationen zählt das Verwenden der IOPS-Latenzkurve und von Korrelationskoeffizienten) wird verwendet, und es wird ein Plan zum Verlagern von Bereichen erstellt, um ein langfristiges Leistungsungleichgewicht in dem System ohne plötzliche extreme Reaktionen zu verringern. Die Migrationen werden dementsprechend gesteuert. Es wird ein Planungsprozess durch das Vorhandensein von Leistungsungleichgewicht und andere Ereignissen wie beispielsweise das Hinzufügen/Entfernen/Verschlechtern der Qualität von Hardware, das Erstellen/Entfernen/Rekonfigurieren von Datenträgern sowie andere derartige Konfigurationsereignisse (wie beispielsweise das Zusammenführen von Pools) ausgelöst.
  • Die 1 zeigt ein beispielhaftes Computersystem 10, in dem Aspekte der vorliegenden Erfindung realisiert werden können. Das Computersystem 10 enthält die Zentraleinheit (CPU) 12, die mit einer oder mehreren Massenspeichereinheiten 14 und der Arbeitsspeichereinheit 16 verbunden ist. Zu den Massenspeichereinheiten können Festplattenlaufwerkeinheiten (hard disk drive devices, HDD devices), Solid-State-Einheiten (solid state devices, SSD) usw. gehören, die in einem redundanten Array unabhängiger Festplatten (redundant array of independent disks, RAID) konfiguriert sein können. Die näher beschriebenen Sicherungsoperationen können auf der oder den Einheit(en) 14 ausgeführt werden, die sich in dem System 10 oder anderswo befinden. Bei der Arbeitsspeichereinheit 16 kann es sich um Speicher wie beispielsweise elektrisch löschbaren programmierbaren Nur-Lese-Speicher (electrically erasable programmable read only memory, EEPROM) oder um eine Menge ähnlicher Einheiten handeln. Die Arbeitsspeichereinheit 16 und die Massenspeichereinheit 14 sind mit der CPU 12 über ein signalführendes Medium verbunden. Die CPU 12 ist außerdem durch den Datenübertragungsanschluss 18 mit einem Datenübertragungsnetzwerk 20 verbunden, an das eine Vielzahl weiterer Computersysteme 22 und 24 angeschlossen ist.
  • Die 2 ist ein beispielhaftes Blockschaubild 200, das gemäß der vorliegenden Erfindung eine Hardwarestruktur eines Datenspeichersystems in einem Computersystem zeigt. Die 2 zeigt die Host-Computer 210, 220, 225, die jeweils als eine Zentraleinheit zum Ausführen von Datenverarbeitung als ein Teil eines Datenspeichersystems 200 dienen. Die Hosts (physische oder virtuelle Einheiten) 210, 220 und 225 können eine oder mehrere neue physische Einheiten oder logische Einheiten zum Erreichen der Zwecke der vorliegenden Erfindung in dem Datenspeichersystem 200 sein. Bei einer Ausführungsform und lediglich beispielhaft angeführt kann ein Datenspeichersystem 200 als IBM® System Storage™ DS8000™ realisiert sein. Eine Netzwerkverbindung 260 kann eine Fibre-Channel-Fabric, ein Fibre-Channel-Punkt-zu-Punkt-Link, eine Fibre-Channel-over-Ethernet-Fabric oder ein Fibre-Channel-over-Ethernet-Punkt-zu-Punkt-Link, eine FICON- oder ESCON-E/A-Schnittstelle oder eine beliebige andere Art E/A-Schnittstelle, ein drahtloses Netzwerk, ein kabelgebundenes Netzwerk, ein LAN, ein WAN, heterogen, homogen, öffentlich (d.h. das Internet), privat oder eine beliebige Kombination davon sein. Die Hosts 210, 220 und 225 können lokal angeordnet oder auf einen oder mehrere Standorte verteilt sein und können mit einer beliebigen Art von Fabric (oder Fabric-Channel) (nicht in 2 gezeigt) oder Netzwerkadapter 260 zu dem Speicher-Controller 240 ausgestattet sein wie beispielsweise Fibre-Channel-, FICON-, ESCON-, Ethernet-, Lichtwellenleiter-, Drahtlos- oder Koaxialadaptern. Das Datenspeichersystem 200 ist dementsprechend mit einem geeigneten Fabric- (nicht in 2 gezeigt) oder Netzwerkadapter 260 für den Datenaustausch ausgestattet. Das Datenspeichersystem 200 wird in der 1 mit dem Speicher-Controller 240 und dem Speicher 230 gezeigt.
  • Um ein klareres Verständnis der hier beschriebenen Verfahren zu erleichtern, wird der Speicher-Controller 240 in der 2 als eine einzelne Verarbeitungseinheit mit einem Mikroprozessor 242, einem Systemarbeitsspeicher 243 und einem nicht flüchtigem Speicher („NVS“) 216 gezeigt, die nachfolgend ausführlicher beschrieben werden. Es wird darauf hingewiesen, dass bei einigen Ausführungsformen der Speicher-Controller 240 aus mehreren Verarbeitungseinheiten besteht, von denen jede über ihren eigenen Prozessorkomplex und Systemarbeitsspeicher verfügt, und die durch ein zweckbestimmtes Netzwerk in dem Datenspeichersystem 200 miteinander verbunden sind. Der Speicher 230 kann aus einer oder mehreren Speichereinheiten bestehen wie beispielsweise Speicher-Arrays, die mithilfe eines Speichernetzwerks mit dem Speicher-Controller 240 verbunden sind.
  • Bei einigen Ausführungsformen können die in dem Speicher 230 enthaltenen Einheiten in einer Schleifenarchitektur miteinander verbunden sein. Der Speicher-Controller 240 verwaltet den Speicher 230 und erleichtert das Verarbeiten von für den Speicher 230 bestimmten Schreib- und Leseanforderungen. In dem Systemarbeitsspeicher 243 des Speicher-Controllers 240 werden Programmanweisungen und Daten gespeichert, auf die der Prozessor 242 zum Ausführen von Funktionen und Verfahrensschritten zugreifen kann, die mit dem Verwalten des Speichers 230 und dem Ausführen der Schritte und Verfahren der vorliegenden Erfindung zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit in einer Computerspeicherumgebung in Zusammenhang stehen. Bei einer Ausführungsform enthält der Systemarbeitsspeicher 243 die Betriebssoftware 250 zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit in einer Computerspeicherumgebung, darunter die hier beschriebenen Verfahren und Operationen, oder steht damit in Verbindung oder im Datenaustausch. Wie in der 2 gezeigt, kann der Systemarbeitsspeicher 243 auch einen Cache 245, der hier auch als ein „Cachespeicher“ bezeichnet wird, für den Speicher 230 enthalten oder mit ihm im Datenaustausch stehen, um „Schreibdaten“ und „Lesedaten“ zu puffern, wobei diese Begriffe sich auf Schreib/Leseanforderungen und die zugehörigen Daten beziehen. Bei einer Ausführungsform ist der Cachespeicher 245 in einer Einheit außerhalb des Systemarbeitsspeichers 243 zugeordnet, aber er bleibt dennoch für den Zugriff des Mikroprozessors 242 zugänglich und kann dazu dienen, neben dem Ausführen der hier beschriebenen Operationen zusätzliche Sicherheit vor Datenverlust zu bieten.
  • Bei einigen Ausführungsformen ist der Cachespeicher 245 mit einem flüchtigen Speicher und nicht flüchtigem Speicher realisiert und zum Zweck einer verbesserten Leistung des Datenspeichersystems 200 mit dem Mikroprozessor 242 über einen lokalen Bus (in der 2 nicht gezeigt) verbunden. Der in dem Datenspeicher-Controller enthaltene NVS 216 ist für den Zugriff des Mikroprozessors 242 zugänglich und dient als zusätzliche Unterstützung für Operationen und Ausführung der vorliegenden Erfindung, wie es in anderen Figuren beschrieben wird. Der NVS 216 kann auch als ein „dauerhafter“ Cache oder „Cachespeicher“ bezeichnet sein und wird mit nicht flüchtigem Speicher realisiert, bei dem zum Erhalten der in ihm gespeicherten Daten gegebenenfalls eine externe Stromversorgung verwendet werden kann. Der NVS kann für beliebige, zum Lösen der Aufgaben der vorliegenden Erfindung geeignete Zwecke in und mit dem Cachespeicher 245 gespeichert sein. Bei einigen Ausführungsformen wird der NVS 216 durch eine Notstromversorgung (in der 2 nicht gezeigt) wie beispielsweise eine Batterie ausreichend mit Strom versorgt, um im Fall eines Ausfalls der Stromversorgung des Datenspeichersystems 200 die in ihm gespeicherten Daten zu erhalten. Bei bestimmten Ausführungsformen ist die Kapazität des NVS 216 kleiner als die oder gleich der Gesamtkapazität des Cachespeichers 245.
  • Der Speicher 230 kann physisch aus einer oder mehreren Speichereinheiten wie beispielsweise Speicher-Arrays bestehen. Ein Speicher-Array ist eine logische Gruppierung einzelner Speichereinheiten wie beispielsweise eine Festplatte. Bei bestimmten Ausführungsformen besteht der Speicher 230 aus einem JBOD-Array (Just a Bunch of Disks array) oder einem RAID-Array (Redundant Array of Independent Disks array). Eine Sammlung physischer Speicher-Arrays kann außerdem so kombiniert werden, dass sie einen Rang bildet, was den physischen Speicher von der logischen Konfiguration trennt. Der Speicherplatz in einem Rang kann logischen Datenträgern zugeordnet sein, die den in einer Schreib/Leseanforderung angegebenen Speicherort definieren.
  • Bei einer Ausführungsform und lediglich beispielhaft angeführt kann das in der 2 gezeigte Speichersystem einen logischen Datenträger oder einfach „Datenträger“ enthalten, kann verschiedene Arten von Zuordnungen aufweisen. Die Speicher 230a, 230b und 230n werden als Ränge in dem Datenspeichersystem 200 gezeigt und hier als Rang 230a, 230b und 230n bezeichnet. Ränge können in dem Datenspeichersystem 200 lokal angeordnet sein oder sich an einem physisch entfernt angeordneten Standort befinden. Mit anderen Worten: Ein lokaler Speicher-Controller kann eine Verbindung mit einem entfernt angeordneten Speicher-Controller herstellen und Speicher an dem entfernt angeordneten Standort verwalten. Der Rang 230a wird als mit zwei vollständigen Datenträgern 234 und 236 sowie mit einem Teil-Datenträger 232a konfiguriert gezeigt. Der Rang 230b wird mit einem weiteren Teil-Datenträger 232b gezeigt. Daher ist der Datenträger 232 über die Ränge 230a und 230b hinweg zugeordnet. Der Rang 230n wird als vollständig dem Datenträger 238 zugeordnet gezeigt, das heißt, der Rang 230n betrifft den gesamten physischen Speicher des Datenträgers 238. Durch die vorstehenden Beispiele wird verständlich, dass ein Rang so konfiguriert sein kann, dass er einen oder mehrere vollständige und/oder Teil-Datenträger enthalten kann. Datenträger und Ränge können außerdem in sogenannte „Spuren“ unterteilt sein, die einen festen Speicherblock darstellen. Eine Spur ist daher einem gegebenen Datenträger zugehörig und kann einen gegebenen Rang erhalten.
  • Der Speicher-Controller 240 kann zur Unterstützung bei dem dynamischen Beseitigen von Leistungsungleichgewicht in einer Computerspeicherumgebung zur Laufzeit ein Modul 255 zum Beseitigen von Leistungsungleichgewicht und ein Ranghitzemodul 247 enthalten. Das Modul 255 zum Beseitigen von Leistungsungleichgewicht und das Ranghitzemodul 247 können in Verbindung miteinander und jeder Komponente des Speicher-Controllers 240, der Hosts 210, 220, 225 und der Speichereinheiten 230 arbeiten. Das Modul 255 zum Beseitigen von Leistungsungleichgewicht und das Ranghitzemodul 247 können zusammen und in Verbindung miteinander arbeiten und strukturell ein vollständiges Modul zum dynamischen Beseitigen von Leistungsungleichgewicht in einer Computerspeicherumgebung zur Laufzeit oder einzelne Module sein. Das Modul 255 zum Beseitigen von Leistungsungleichgewicht und das Ranghitzemodul 247 können sich auch in dem Cachespeicher 245 oder anderen Komponenten des Speicher-Controllers 240 befinden, damit die Zwecke der vorliegenden Erfindung erreicht werden.
  • Der Speicher-Controller 240 kann mit einem Steuerschalter 241 zum Steuern des Fibre-Channel-Protokolls zu den Hostcomputern 210, 220, 225, einem Mikroprozessor 242 zum Steuern aller Speicher-Controller 240, einem nicht flüchtigen Steuerspeicher 243 zum Speichern eines Mikroprogramms (Betriebssoftware) 250 zum Steuern des Betriebs des Speicher-Controllers 240, Daten zum Steuern sowie jede später beschriebene Tabelle, dem Cachespeicher 245 zum vorübergehenden Speichern (Puffern) von Daten sowie den Puffern 244 zum Unterstützen des Cachespeichers 245 beim Lesen und Schreiben von Daten, einem Steuerschalter 241 zum Steuern eines Protokolls zum Steuern der Datenübertragung zu den oder von den Speichereinheiten 230, dem Modul 255 zum Beseitigen von Leistungsungleichgewicht sowie einem Ranghitzemodul 247 konstruiert sein, in dem Daten festgelegt sein können. Mehrere Puffer 244 können mit der vorliegenden Erfindung realisiert werden, um das dynamische Beseitigen von Leistungsungleichgewicht zur Laufzeit in einer Computerspeicherumgebung zu unterstützen.
  • Bei einer Ausführungsform und lediglich als Beispiel angeführt sind die Hostcomputer oder eine oder mehrere physische oder virtuelle Einheiten 210, 220, 225 und der Speicher-Controller 240 durch einen Netzwerkadapter (dies könnte ein Fibre-Channel sein) 260 als Schnittstelle verbunden, d.h. über einen als „Fabric“ bezeichneten Schalter. Bei einer Ausführungsform wird der Betrieb des in der 2 gezeigten Systems lediglich beispielhaft beschrieben. Der Mikroprozessor 242 kann den Arbeitsspeicher 243 so steuern, dass dieser Befehlsinformationen von der Hosteinheit (physisch oder virtuell) 210 sowie Informationen zum Erkennen der Hosteinheit (physisch oder virtuell) 210 speichert. Der Steuerschalter 241, die Puffer 244, der Cachespeicher 245, die Betriebssoftware 250, der Mikroprozessor 242, der Arbeitsspeicher 243, der NVS 216, das Modul 255 zum Beseitigen von Leistungsungleichgewicht sowie das Ranghitzemodul 247 tauschen miteinander Daten aus und können getrennte Komponenten oder eine einzelne Komponente sein. Außerdem können einige oder alle der Komponenten wie beispielsweise die Betriebssoftware 245 zwecks dynamischen Beseitigens von Leistungsungleichgewicht zur Laufzeit in einer Computerspeicherumgebung zusammen mit dem Arbeitsspeicher 243 vorliegen. Bei einer Ausführungsform und lediglich als Beispiel angeführt, können alle Komponenten in der Speichereinheit zu für die vorliegende Erfindung geeigneten Zwecken miteinander verbunden sein und miteinander Daten austauschen.
  • Die 3 ist ein Ablaufplan, der ein beispielhaftes Verfahren 300 zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit veranschaulicht. Die Mechanismen der veranschaulichten Ausführungsformen dienen dazu, die Gesamtleistung des Systems und die Gleichzeitigkeit zu verbessern, indem ein ausgeglichener Bereichspool unterhalten wird, wo Arbeitslast unter Berücksichtigung von Konfigurationsänderungen gleichmäßig auf die verschiedenen Ränge in dem System verteilt wird. Daten werden auf anpassungsfähige Weise in den Speicherrängen (Einheiten) platziert. Ein anpassungsfähiger Datenalgorithmus hat Arbeitslasten und Systemkonfigurationen zur Grundlage. Des Weiteren wird bei den Mechanismen der veranschaulichten Ausführungsformen eine Ranghitze verwendet, die mithilfe detaillierter, mit Bereichsgranularität gesammelter statistischer Daten berechnet wird. Mithilfe der durchschnittlichen Ranghitze über die Ränge hinweg wird ein Plan zum Verlagern von Bereichen zwecks optimaler Leistung erstellt. Ein Bereich kann eine Einheit der Datenplatzierung sein. Beispielsweise kann der Bereich bei dem System DS8000 eine feste Größe von 1 GB aufweisen, was auch die Einheit für Datenmigration sein kann. Der Algorithmus kann auf jede andere von dem System unterstützte Einheit der Datenplatzierung/Migration angewendet werden.
  • Das Verfahren 300 beginnt (Schritt 302) mit dem Berechnen einer oder mehrerer Ranghitzen mithilfe detaillierter, mit einer Bereichsgranularität gesammelter statischer Daten, unter Berücksichtigung von Bandbreite- und Eingaben/Ausgabenpro-Sekunde-Metriken (Schritt 304). Ein anpassungsfähiger Datenplatzierungsplan wird zum Verlagern der Daten erstellt (Schritt 306). Die Daten können als Bereiche oder Datensegmente dargestellt werden. Die Daten werden in den Datenspeicherrängen platziert (Schritt 308). Die Lasten der Datenspeicherränge werden gemäß dem anpassungsfähigen Datenplatzierungsplan ausgeglichen (Schritt 310). Beispielsweise kann der anpassungsfähige Datenplatzierungsplan eines oder mehrere aus einem Neuverteilungsalgorithmus (Berechnungen), einer oder mehreren Ranghitzen, einem Entscheidungsfenster und/oder einem Schwellenwert für Ungleichgewicht, den das System möglicherweise toleriert, zur Grundlage haben. Das Verfahren 300 endet (Schritt 312).
  • Wie erwähnt, besteht eine Möglichkeit zum Verringern der Arbeitslast der Plattenspeicher-Teilsysteme darin, Daten, auf die häufig zugegriffen wird, bei Bedarf auf akzeptablere(n) Einheiten zu verschieben, zu platzieren oder zu „migrieren“. Die Entscheidung zum anpassungsfähigen Platzieren von Daten selbst ist komplex, und die folgenden Faktoren können dabei in Erwägung gezogen werden: 1) Arbeitslast und Abweichungen im Lauf der Zeit, darunter durchschnittliches und Spitzenverhalten. (Das Hauptproblem besteht darin, dass Lokalität und das Verhältnis zwischen Daten dynamisch durch Arbeitslastverhalten erzeugt werden und nicht im Voraus bekannt sind bzw. nicht „im Vorfeld“ bekannt sind), 2) Einheitenmerkmale wie beispielsweise BB, IOPS-Fähigkeiten (Metriken) und 3) Systemkonfiguration wie beispielsweise Rangzuweisungen. Die Migration von Daten auf der Grundlage des anpassungsfähigen Datenplatzierungsplans ist möglicherweise keine sofortige Aktivität und kann durch die verfügbare Bandbreite beschränkt werden.
  • Die Anforderungen für einen neuen Ausgleich sollten skalierbar sein (d.h., die für den neuen Ausgleich des Systems und zum Beseitigen des Leistungsungleichgewichts erforderlichen Ressourcen sollten proportional zu der Menge von Daten sein, die neu verteilt werden), robust gegenüber kurzen Abweichungen bei der Arbeitslast, Dynamik, d.h., sich an neue Ereignisse oder Änderungen der Arbeitslast oder des Systems wie beispielsweise Konfigurationsänderungen anpassen, in der Lage sein, zukünftige Ereignisse wie beispielsweise Änderungen der Arbeitslast und Datenplatzierung vorherzusehen, die Tatsache berücksichtigen, dass eine beträchtliche Verzögerung zwischen Analyse und Ausführung auftreten kann, und generisch sein, d.h., verschiedene Einheitentypen von verschiedenen Anbietern und ebenso unterschiedliches Arbeitslastverhalten (zufällig, aufeinanderfolgend und/oder gemischt) unterstützen.
  • Eines der Ziele des dynamischen Beseitigens von Leistungsungleichgewicht zur Laufzeit ist eine erhöhte Leistung und Gleichzeitigkeit des Systems durch Beibehalten ausgeglichener Bereichspools, wo die Arbeitslast gleichmäßig auf Ränge in dem System verteilt ist. Ein Bereichspool kann ein logisches Konstrukt sein, das zum Verwalten einer Menge von Bereichen derselben Art verwendet wird, die einer gegebenen Ranggruppe zugehörig sind. Wenn ein Bereichspool definiert wird, kann er einer Ranggruppe und einem Bereichstyp zugewiesen werden. Ein oder mehrere Ränge mit demselben Bereichstyp können einem Bereichspool zugewiesen werden, aber ein Rang kann nur einem Bereichspool zugewiesen werden. Es können so viele Bereichspools wie Ränge vorhanden sein. Es gibt keine Beschränkungen hinsichtlich der Anzahl oder Größe von Rängen, die dem Bereichspool zugewiesen sind. Alle Bereiche der einem Bereichspool zugewiesenen Ränge stehen unabhängig voneinander für eine Zuordnung zu logischen Datenträgern zur Verfügung, die dem Bereichspool zugehörig sind. Bei den Mechanismen werden Hauptkomponenten angewendet, um das Beseitigen der Ungleichgewichte mithilfe von Berechnungen von Hitzemetriken, einem Entscheidungsfenster, Plangrößenschätzung und/oder einem Algorithmus zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit zu erleichtern.
  • Eine Hitzemetrik kann zum Berechnen von Ranghitze(n) verwendet werden. Ranghitze wird aus Messungen der Bereichshitze rekonstruiert. Bereichshitzemessungen werden regelmäßig aus dem zugrundeliegenden System gesammelt. Statistische Bereichsdaten werden von den Mechanismen auf zwei Arten verwendet: (1) werden bei dem dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit Messungen der Bereichshitze zum Berechnen von Ranghitze verwendet und (2) werden bei den Mechanismen zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit Messungen der Bereichshitze zum Erkennen heißer Bereiche in den Quellrängen und im Fall einer Austauschoperation zum Erkennen und/oder Austauschen kalter Bereiche in dem Zielrang verwendet. Bei der Ranghitze kann es sich um die augenblickliche Ranghitze auf der Grundlage exponentieller gleitender Durchschnitte (EGD) (zusammenfassende Maße) von Bereichshitze(n) und augenblicklicher Rangkonfiguration (d.h. die aktuelle Menge von Bereichen in dem Rang) handeln. Bei einer Ausführungsform und lediglich beispielhaft angeführt, können die folgenden Gleichungen zum Berechnen von Ranghitze und Bereichshitze in Betracht gezogen werden: Rh = Σ EGD ( HBereich )
    Figure DE112012000953B4_0001
    wobei Rh die Ranghitze ist, EGD die exponentiellen gleitenden Durchschnitte sind und die HBereich die Bereichshitze ist. Der Bereich gehört zu den augenblicklichen Rangkonfigurationen (die aktuelle Menge von Bereichen in dem Rang). Die Bereichshitze selbst kann als eine lineare Kombination von zufälligen und aufeinanderfolgenden EA-Anzahlen berechnet werden wie beispielsweise: EGD ( HBereich ) = EGD ( ZEAA ) + EGD ( AEAA )
    Figure DE112012000953B4_0002
    wobei die ZEAA die zufällige Eingabe/Ausgabeanzahl und die AEAA die aufeinanderfolgende Eingabe/Ausgabeanzahl ist. Der EGD der Bereichshitze wird unterhalten, um heiße Bereiche in einem Rang zu erkennen. Zu anderen möglichen Varianten zum Berechnen der Ranghitze zählen das Verwenden gewichteter Metrik für zufälligen und aufeinanderfolgenden Zugriff in Abhängigkeit von Einheitenfähigkeiten, Latenzmetriken usw.
  • Eines der Ziele der Mechanismen zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit besteht darin, das System für die gewählte Metrik in einem ausgeglichenen Zustand zu halten. Dies kann mithilfe einer Entscheidungsfenster-Berechnung erreicht werden. Ein Entscheidungsfenster stellt die Häufigkeit dar, mit der ein anpassungsfähiger Datenplatzierungsplan erstellt wird. Die Länge des Entscheidungsfensters kann auf der Grundlage verschiedener Faktoren gewählt werden, einschließlich, aber ohne darauf beschränkt zu sein, die Arbeitslastmerkmale, die verfügbare Migrationsbandbreite sowie andere anwendbare Hardware- und Arbeitslastmerkmale.
  • Die folgende Beschreibung dient dazu, die Funktionalität des Entscheidungsfensters zu veranschaulichen; sie soll nicht auf alle Situationen zutreffen, sondern ein ausreichendes Verständnis der Darstellung der Häufigkeit, mit der der anpassungsfähige Datenplan erstellt wird, und der Anwendung der verschiedenen bereits erwähnten Faktoren zu ermöglichen. Bei einer Ausführungsform ermöglichen die Mechanismen bedarfsweise die Wahl mehrerer Entscheidungsfenster, und das Entscheidungsfenster kann beispielsweise ein Entscheidungsfenster von 6 Stunden sein. Bei jedem Entscheidungsfenster wird eine Migrationsempfehlung erstellt. Die Empfehlung stellt den Plan für die Migration dar und beinhaltet die Menge von Bereichen, die migriert werden müssen, die Quellränge und die Zielränge. Die Empfehlungsgröße bezeichnet die erstellte Anzahl solcher Migrationspläne. Für eine Berechnung der Empfehlungsgröße kann die Größe der Migrationsempfehlung mithilfe einer Anzahl von Faktoren wie beispielsweise einer Anzahl aktiver Bereiche in dem System, der Menge verfügbarer Migrationsbandbreite, der aktuellen Last des Systems sowie der Länge des Entscheidungsfensters berechnet werden.
  • Beispielsweise können die logistischen Operationen des Entscheidungsfensters mithilfe mehrerer Berechnungen veranschaulicht werden, darunter die Berechnungen der Kosten und der Größe der Migrationsempfehlung. Diese Berechnungen sollen nicht auf alle Situationen zutreffen, sondern werden zum Darlegen verschiedener Entscheidungsfensterberechnungen veranschaulicht.
  • Für eine Kostenberechnung: Sei Tm = Auf Migration verwendete Zeit pro Entscheidungsfenster .
    Figure DE112012000953B4_0003
  • Die in dem neu ausgeglichenen Zustand verbrachte Zeitdauer kann weniger als die Tm betragen, um das Verwenden von Ressourcen auf Migration zu rechtfertigen, beispielsweise 4 Tm. Dieses Argument beinhaltet, dass die Entscheidung, einen neuen Ausgleich vorzunehmen, ein Entscheidungsfenster mit der Länge von 4 Tm zur Grundlage hat. Unter Verwendung des obigen Beispiels und ausgehend von der Annahme eines Entscheidungsfensters von 2 Tagen, können 720 Minuten Migrationsaktivität pro Fenster ausgeführt werden. Mit der Häufigkeit von 4 Migrationen alle 5 Minuten können 576 Migrationen pro Entscheidungsfenster ausgeführt werden. Die Anzahl der Ränge, die pro Entscheidungsfenster neu ausgeglichen werden, kann sich wie folgt ergeben: Angenommen, es müssen für den neuen Ausgleich 10 % der heißen Ränge migriert werden. (80 Bereiche für SAS/SSD-Ränge (serial attached small computer system interface/solid-state drive ranks) und 200 Bereiche für SATA-Ränge (serial advanced technology attachment ranks). Ausschließlich mit Verschiebeoperationen können 7,2 SAS/SSD-Ränge und 2,88 SATA-Ränge neu ausgeglichen werden. Ausschließlich mit Austauschoperationen können 3,6 SAS/SSD-Ränge und 1,44 SATA-SATA-Ränge pro Entscheidungsfenster ausgeglichen werden.
  • Größe der Migrationsempfehlung: Max Empf Größe = Minimum ( oberer Grenzwert auf der Grunlage von aktiven Bereichen , oberer Grenzwert auf der Grunlage der Bandbreite )
    Figure DE112012000953B4_0004
    wobei die Max Empf Größe die maximale Empfehlungsgröße und das Minimum der obere Grenzwert auf Grundlage von aktiven Bereichen und der obere Grenzwert auf der Grundlage der Bandbreite ist. Akt Bereichob = #BereicheSchicht/2
    Figure DE112012000953B4_0005
    wobei Akt Bereichob der obere Grenzwert auf der Grundlage von aktiven Bereichen und die #BereicheSchicht die Anzahl der Bereiche in der Schicht ist. BBob ( #RängeSchicht / *  RangBBSchwellenw * ( %BBmig/100 ,0 ) * DFE ) / ( BereichMB )
    Figure DE112012000953B4_0006
    wobei BBob der obere Grenzwert auf der Grundlage von Bandbreite ist, die #RängeSchicht die Anzahl von Rängen in der Schicht ist, der RangBBSchwellenw der Rang-Bandbreite-Schwellenwert ist, der %BBmig der für die Migration verfügbare Prozentanteil der Bandbreite ist, die DFE die Dauer des Entscheidungsfensters ist, und die BereichMB die Bereichsgröße in Megabyte (MB) ist.
  • Daher können diese Berechnungen innerhalb des Entscheidungsfensters verwendet werden, um eines der Ziele des dynamischen Beseitigens von Leistungsungleichgewicht zur Laufzeit zu erreichen, indem das System für die gewählte Metrik in einem ausgeglichenen Zustand gehalten wird.
  • Wie zuvor erwähnt, kann bei den Mechanismen ein probabilistischer Algorithmus angewendet werden, um die möglichen Ziele für Datenplatzierungsaktivität zu erkennen, während gleichzeitig sichergestellt wird, dass die Ziele zur Zeit der Migration nicht überlastet sind. Gleichzeitig wird durch den anpassungsfähigen Datenalgorithmus sichergestellt, dass Einheiten (Ränge) nicht unzureichend ausgelastet sind. Bei einer Ausführungsform können für jede Schicht in dem aktuellen Bereichspool der Ablauf der Berechnungen und des anpassungsfähigen Datenalgorithmus wie folgt beschrieben werden: Als Erstes können die Mechanismen eine Ranghitze für jeden Rang berechnen, wobei die projizierte Ranghitze (PRH) gleich der tatsächlichen Ranghitze (TRH) sein kann. Als Zweites werden die Ranghitzen in absteigender Reihenfolge der Ranghitze sortiert. Es sollte beachtet werden, dass es sich bei der Ranghitze gemäß den Anforderungen des Datenverarbeitungssystems oder den gewünschten Einstellungen um eine einzige Ranghitze oder um mehrere Ranghitzen handeln kann. Des Weiteren können die Ranghitzen abhängig von dem System auch in aufsteigender Reihenfolge sortiert werden. Als Drittes, Berechnen des Durchschnitts (DURCH) und der Standardabweichung (STABW) der Ranghitze für die Menge von Rängen, die neu ausgeglichen werden. Als Viertes kann der Mechanismus eine oder mehrere Mengen heißer Ränge H erkennen, bei denen die PRH größer als der DURCH ist. Als Fünftes können die Mechanismen, während heiße Ränge und Zielränge vorhanden sind, einen heißen Rang als einen Quellrang und einen seiner Bereiche als einen Quellbereich aus dem Quellrang bestimmen. Als Sechstes können die Mechanismen mehrere Zielränge (kalte Ränge oder einfach „K“) erkennen, wo die PRH kleiner als der DURCH ist und die PRH kleiner als der Eingabe/Ausgabe-Schwellenwert (E/A-Schwellenwert) des Rangs ist. Der Schwellenwert für einen Rang kann statisch auf der Grundlage von Einheitenkalibrierung ermittelt werden, um festzustellen, welches die maximal akzeptable Last eines Rangs ist, bevor die Latenz eine akzeptable Leistung überschreitet. Wenn die Hitze (Quellbereich) plus die PRH (Zielrang) kleiner als der DURCH ist, dann Ermitteln, ob in dem Zielrang zusätzliche Kapazität vorhanden ist und Verschieben des Quellbereichs in den Zielrang. Andernfalls Erkennen des Zielbereichs als gleich dem kältesten Bereich in dem Zielrang und anschließendes Austauschen des Zielbereichs gegen den Quellbereich, gefolgt von einem Aktualisieren der PRH der Quell- und Zielränge. Die Mechanismen können das Sortieren der Ranghitze in absteigender/aufsteigender Reihenfolge von Ranghitze(n) wiederholen. Des Weiteren können sie den anpassungsfähigen Algorithmus einsetzen, der auf das Minimieren der Ungleichheit in dem System abzielt, indem versucht wird, kleinere Standardabweichungen zwischen Ranghitze(n) zu erreichen. Andere Varianten des Algorithmus dienen dazu, das Ungleichgewicht zu verringern, wie es nachfolgend beschrieben wird.
  • Die 4 ist ein beispielhaftes Schaubild, das eine Latenzkurve 400 veranschaulicht, in der die vorliegende Erfindung realisiert werden kann. Bei Einheiten in dem Datenspeichersystem, wie beispielsweise in der 1 und der 2, kann von vornherein eine Latenz-IOPS Kurve bekannt sein, die der Latenzkurve (Kurve) 400 in der 4 ähnelt. Die vertikale Achse 410 der Latenzkurve 400 veranschaulicht die Latenz des Systems, und die horizontale Achse 412 veranschaulicht die IOPS 406 (in der 4 als 406A bis 406B gezeigt). Die Kurve zeigt das heiße Gebiet 402 (mit einem gitterartigen Muster veranschaulicht) und das kalte Gebiet 404 (durch diagonale Linien veranschaulicht) zusammen mit dem mit einem „A“ gekennzeichneten IOPSA 406A und dem mit einem „B“ gekennzeichneten IOPSB 406B. Sobald der IOPSB bekannt ist, kann ein Rangschwellenwert berechnet werden.
  • Bei einer Ausführungsform wird bei einer möglichen Variante des Algorithmus zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit die IOPS-Latenzkurve 400 verwendet, und dies ähnelt dem zuvor beschriebenen ursprünglichen Algorithmus, abgesehen davon, dass ein Rang als „heiß“ klassifiziert ist, d.h. ein Quellrang, wenn die projizierte Ranghitze (PRH) größer als der IOPSB-Schwellenwert des Rangs ist. Bei einer Ausführungsform kann ein Rang als „kalt“ klassifiziert sein, d.h. der Zielrang, wenn die PRH kleiner als die IOPSB ist. Die IOPSB kann auf der Grundlage des IOPSB-Punkts des Einheitentyps, der Anzahl von Laufwerken in dem Rang und eines RAID-Schemas berechnet werden.
  • Bei einer Ausführungsform werden bei einer dritten Variante des anpassungsfähigen Datenalgorithmus Korrelationskoeffizienten zum Erkennen eng korrelierter heißer Bereiche verwendet, und die Bereiche werden neu verteilt, um die Arbeitslastspitzen zu verringern, die bewirken, dass Ränge überlastet werden. Bei einer Ausführungsform erkennen die Mechanismen die obersten N % der heißesten Bereiche in den Bereichspools, die für das Beseitigen von Ungleichgewicht in Betracht gezogen werden. Da die Gesamtanzahl von Bereichen in einem Pool groß sein kann, können die Mechanismen im Interesse der Wirksamkeit die neue Ausgleichsoperation auf die obersten N % der heißesten Bereiche beschränken, was auf der Grundlage von EGD (Bereichshitze) ermittelt wird. Ein gemeinsamer Korrelationskoeffizient wird zwischen diesen Bereichen berechnet. Mithilfe eines einfachen Korrelations-Cluster-Mechanismus unterteilen die Mechanismen die Bereiche in Cluster positiv korrelierter Bereiche. Für jeden Cluster können die Bereiche nach Bereichshitze sortiert sein. Die Bereiche werden mithilfe von Striping über die in der Schicht verfügbaren Ränge hinweg neu verteilt.
  • Die 5A bis D sind beispielhafte Schaubilder, die die verschiedenen Prozesse und Mechanismen zum Beseitigen von Leistungsungleichgewicht veranschaulichen. Die 5A ist ein beispielhaftes Schaubild 500, das einen Anwendungsfall des Hinzufügens eines Rangs veranschaulicht, in dem Aspekte der vorliegenden Erfindung realisiert werden können. Die 5A bis 5D veranschaulichen jeweils mehrere Ränge 502. In jedem der Ränge 502A befinden sich mehrere Bereiche, entweder ein heißer Bereich 510 oder ein kalter Bereich 512. Die Ränge 502 sind in einen heißen Rang 502A und einen Zielrang 502B unterteilt, um die Migration des heißen Bereichs 510 und/oder der kalten Bereiche 512 zu veranschaulichen. In der 5A kann mithilfe des Vorhandenseins mehrerer Ränge in derselben Schicht eine Vorbedingung erkannt werden. Mehrere weitere Vorbedingungen können beinhalten: 1) die Verfügbarkeit von Rangstatistiken sowie die Fähigkeit, die Ränge zu sortieren und 2) die Verfügbarkeit von Rangkonfiguration wie beispielsweise Rangzuordnung.
  • Bei einer Ausführungsform werden die Mechanismen durch Hinzufügen eines neuen Rangs in einer Schicht mit einem bereits vorhandenen Rang ausgelöst. Bei ihrer Auslösung können die Mechanismen die Hitze für alle Ränge in der Schicht berechnen. Während das Leistungsungleichgewicht einen Schwellenwert überschreitet, der als das akzeptable Ausmaß von Ungleichgewicht in dem System definiert sein kann, können die Mechanismen heiße Ränge erkennen (wo die Hitze einen Schwellenwert überschreitet). Der Zielrang 502B kann gleich den neu hinzugefügten Rängen sein. Wenn heiße Ränge 502A vorhanden sind, können die Mechanismen den heißen Bereich (510) von dem heißen Rang 502A in den Zielrang 502B migrieren. Beispielsweise wird der heiße Bereich 510 in dem heißen Rang 502A in den Zielrang 502B migriert. Die anschließende Migration zeigt den neuen heißen Rang 502A ohne den migrierten heißen Bereich 510. Der migrierte heiße Bereich 510 erscheint jetzt in dem Zielrang 502B. Die 5A veranschaulicht, dass der Zielrang 502B leer ist, und nach dem Migrieren des heißen Bereichs 510 enthält der Zielrang jetzt einen heißen Bereich 510.
  • Die 5B ist ein beispielhaftes Schaubild, das einen alternativen Ablauf zum Hinzufügen eines Rangs veranschaulicht, in dem die vorliegende Erfindung realisiert werden kann. In der 5B veranschaulichen drei Szenarios 520, 522 und 524 das Hinzufügen eines Rangs mithilfe alternativer Abläufe. Bei dem ersten Szenario 520 wird einer der heißen Bereiche 510 von dem heißen Rang 502A in den Zielrang 502B migriert. Die Migration erfolgt in einen neu hinzugefügten Rang. Bei dem zweiten Szenario 522 sind keine heißen Bereiche (510) in dem heißen Rang 502A vorhanden, und in dem heißen Rang 502A befinden sich nur kalte Bereiche 512. Es erfolgt keine Migration von den heißen Rängen 502A zu dem Zielrang 502B, da das Leistungsungleichgewicht den Schwellenwert nicht überschreitet. Bei dem dritten Szenario 524 erfolgt trotz des Vorhandenseins von heißen Bereichen (510) in dem heißen Rang 502A keine Migration von dem heißen Rang 502A in den Zielrang 502B, da der Quellrang nicht heiß genug ist.
  • Die 5C ist ein beispielhaftes Schaubild, das einen Leistungsungleichgewicht-Anwendungsfall veranschaulicht, in dem die vorliegende Erfindung realisiert werden kann. Bei einer Ausführungsform kann mithilfe des Vorhandenseins mehrerer Ränge in derselben Schicht eine Vorbedingung erkannt werden. Mehrere weitere Vorbedingungen können beinhalten: 1) die Verfügbarkeit von Rangstatistiken und die Fähigkeit zum Sortieren der Ränge und 2) die Verfügbarkeit von Rangkonfiguration wie beispielsweise Rangzuordnung.
  • Bei einer Ausführungsform werden die Mechanismen dadurch ausgelöst, dass der aktuelle Zeitzyklus sich am Entscheidungsfenster befindet. Bei ihrer Auslösung können die Mechanismen eine Ranghitze für alle Ränge in der Schicht berechnen. Während das Rang-Leistungsungleichgewicht den Schwellenwert überschreitet, der als das akzeptable Ausmaß von Leistungsungleichgewicht in dem System definiert sein kann, können die Mechanismen der veranschaulichten Ausführungsformen heiße Ränge (wo die Hitze einen Schwellenwert überschreitet) erkennen. Wenn heiße Ränge 502A vorhanden sind, können die Mechanismen der veranschaulichten Ausführungsformen die Ränge 502B (wo ein Ungleichgewicht zwischen Quelle und Ziel maximal ist) zum Ziel haben. Wenn zusätzliche Kapazität in den Zielrängen 502B vorhanden ist, können die Mechanismen einen heißen Bereich 510 aus dem heißen Rang 502A in einen Zielrang 502B verschieben. Andernfalls können die Mechanismen den heißen Bereich 510 aus dem heißen Rang 502A gegen den kalten Bereich 512 aus dem Zielrang 502B austauschen. Beispielsweise erscheint der migrierte heiße Bereich 510 aus dem heißen Rang 502A jetzt in dem Zielrang 502B. Die 5C veranschaulicht, dass der Zielrang 502B vor der Migration nur einen kalten Bereich 512 enthält, und dass nach der Migration der heiße Bereich 510 in dem Zielrang 502B platziert ist, der nun einen heißen Bereich 510 und einen kalten Bereich 512 enthält.
  • Die 5D ist ein beispielhaftes Schaubild, das Mechanismen zum Beseitigen von Leitungsungleichgewicht mit alternativen Abläufen veranschaulicht, in denen die vorliegende Erfindung realisiert werden kann. In der 5D veranschaulichen drei Szenarios 530, 532 und 524 den Leistungsungleichgewichts-Anwendungsfall mithilfe alternativer Abläufe. Bei dem ersten Szenario 530 ist nur ein heißer Bereich 510 in dem heißen Rang 502A vorhanden, wobei mehrere kalte Bereiche 512 vorhanden sind. Es erfolgt keine Migration von dem heißen Rang 502A in den Zielrang 502B, da der Quellrang nicht heiß genug ist. Es sollte beachtet werden, dass eine weitere Bedingung dafür, dass Bereiche nicht aus dem heißen Rang in den kalten Rang migriert werden, eintritt, wenn die Migration bewirken würde, dass der kalte Rang die DURCH-Hitze zwischen den Rängen überschreitet, die neu ausgeglichen werden, oder wenn die Migration bewirken würde, dass die Last des kalten Rangs den Schwellenwert der Einheit überschreitet. Bei dem zweiten Szenario 532 sind sowohl heiße Bereiche 510 als auch kalte Bereiche 512 in dem Zielrang 502B vorhanden, und in dem heißen Rang 502A sind nur heiße Bereiche 510 vorhanden. Es erfolgt keine Migration, da das Leistungsungleichgewicht keinen Schwellenwert überschreitet. Bei dem dritten Szenario 534 ist der heiße Rang 502A vollständig mit heißen Bereichen (510) gefüllt, und der Zielrang 502B ist vollständig mit kalten Bereichen 512 gefüllt. Es erfolgt eine Migration von dem heißen Rang 502A in den Zielrang 502B, oder es werden einige der heißen Bereiche 510 gegen einige der kalten Bereiche 512 ausgetauscht, da weder in dem heißen Rang 502A, noch in dem kalten Rang 502B zusätzliche Kapazität vorhanden ist.
  • Die 6 ist ein Ablaufplan, der ein beispielhaftes Verfahren 600 für dynamisches Leistungsungleichgewicht zur Laufzeit zwischen Datenspeicherrängen veranschaulicht. Bei einer Ausführungsform erkennen die Mechanismen der veranschaulichten Ausführungsformen langfristiges Ungleichgewicht/langfristige Ungleichgewichte über mehrere Dimensionen/Metriken hinweg (BB und IOPS) und sorgen für eine stabile, möglichst wenig beeinträchtigende und skalierbare Strategie zum Beseitigen von Ungleichgewicht zwischen Rängen in einer einzigen Schicht eines mehrschichtigen Systems. Mithilfe eines prozentualen Auslastungsfaktors der IOPS- und BB-Ressourcen kann ein Algorithmus erstellt und automatisch auf Einheiten mehrerer Anbieter angewendet werden. Außerdem kann mithilfe zusammenfassender Maße wie beispielsweise exponentieller gleitender Durchschnitte ein Algorithmus scharfe Spitzen ohne extreme Reaktionen berücksichtigen. Ein probabilistischer Algorithmus kann verwendet und eingesetzt werden, um die möglichen Ziele für Datenplatzierungsaktivität zu erkennen und gleichzeitig sicherzustellen, dass die Ziele zur Zeit der Migration oder nach dem Ausführen des Migrationsplans nicht bereits überlastet sind, während der Algorithmus gleichzeitig sicherstellt, dass Einheiten (Ränge) nicht unzureichend ausgelastet sind. Bei einer Ausführungsform werden verschiedene Mechanismen verwendet, um die Menge an Platzierungsempfehlung abhängig von der Systemaktivität anzupassen, um einen Wechsel zwischen „heiß“ und „kalt“ in dem System zu erkennen und das Erstellen der Empfehlung automatisch zu beenden, wenn Situationen erkannt werden, die nicht behoben werden können.
  • Das Verfahren beginnt (Schritt 602) mit dem Auslösen eines Planungsprozesses durch das Vorhandensein eines Leistungsungleichgewichts und von Ereignissen (Schritt 603). Bei dem Verfahren 600 werden mit einer Bereichsgranularität gesammelte statistische Daten verwendet, um eine Ranghitze zu berechnen (Schritt 604). In den statistischen Daten sind detaillierte statistische Daten enthalten, und bei dem Verfahren 600 werden die Fähigkeiten verschiedener Hardware-Einheiten entlang mehreren Dimensionen (wie beispielsweise Bandbreite und Eingabe/Ausgabeoperationen pro Sekunde) sowie Arbeitslastmerkmale berücksichtigt (Schritt 606). Langfristige und kurzfristige Ungleichgewichte über mehrere Dimensionen hinweg werden erkannt (Schritt 607). Bei dem Verfahren 600 wird eine prozentuale Auslastung der Dimensionen angewendet (Schritt 608). Eine durchschnittliche Hitze über die Ränge hinweg wird zum Erstellen eines Plans verwendet (Schritt 609). Ziele für die anpassungsfähige Platzierung der Daten werden gefunden (Schritt 610). Es wird verhindert, dass die Ziele (Zieleinheiten) zur Zeit einer Migration der Daten und nach dem Ausführen von Migrationsanweisungen überlastet werden (Schritt 611). Ein Plan zum Verlagern, Migrieren und Platzieren von Bereichen wird erstellt (Schritt 612). Das Verfahren beinhaltet in dem Plan eine stabile, möglichst wenig beeinträchtigende und skalierbare Strategie zum Beseitigen eines Ungleichgewichts zwischen Rängen, beispielsweise in einer einzigen Schicht eines mehrschichtigen Systems (Schritt 613). Ein oder mehrere Bereiche werden migriert (Schritt 614). Bei dem Verfahren 600 werden die migrierten Bereiche in einem Zielrang platziert (Schritt 616). Verschiedene Maße werden verwendet und eingesetzt, um scharfe Spitzen zu berücksichtigen (Schritt 618). Bei dem Verfahren wird ein Rückmeldungsmechanismus angewendet, um die Platzierung von Daten anzupassen, während gleichzeitig ein ausgeglichener Bereichspool beibehalten wird (Schritt 620). Bei dem Verfahren 600 werden Datenspeicherränge für maximale Auslastung zur Zeit der Migration angepasst (Schritt 622). Das Verfahren 600 endet (Schritt 624).
  • Wie vorstehend beschrieben, werden bei den Mechanismen detaillierte, mit Bereichsgranularität gesammelte statistische Daten verwendet, um Ranghitze unter Berücksichtigung von Bandbreite und IOPS-Fähigkeiten der Hardware sowie Arbeitslastmerkmalen zu berechnen. Mithilfe der durchschnittlichen Ranghitze über die Ränge hinweg (zu den Varianten zählen das Verwenden der IOPS-Latenzkurve und von Korrelationskoeffizienten), können die Mechanismen einen Plan zum Verlagern von Bereichen erstellen, um langfristiges Leistungsungleichgewicht/langfristige Leistungsungleichgewichte in dem System ohne plötzliche extreme Reaktionen zu verringern. Die Migrationen der Daten (Bereiche) werden schrittweise ausgemessen und ein Planungsprozess für einen anpassungsfähigen Datenplan wird durch das Vorhandensein von Leistungsungleichgewicht und anderen Ereignissen wie beispielsweise Hinzufügen/Entfernen/Verschlechtern der Qualität von Hardware, Erstellen/Entfernen/Neukonfiguration von Datenträgern und andere derartige Konfigurationsereignisse (wie beispielsweise das Zusammenführen von Pools) ausgelöst.

Claims (9)

  1. Verfahren zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit durch eine Prozessoreinheit in einer Datenverarbeitungs-Speicherumgebung, das aufweist: - Berechnen einer Vielzahl von Ranghitzen durch Verwenden einer Vielzahl detaillierter, mit einer Bereichsgranularität gesammelter statistischer Daten, eingeschlossen das Berücksichtigen von Bandbreite- und Eingaben/Ausgaben-pro-Sekunde-Metriken - Erstellen eines anpassungsfähigen Datenplatzierungsplans zum Verlagern von Daten in Abhängigkeit von der Vielzahl von berechneten Ranghitzen; - Platzieren der Daten in einer Vielzahl von Datenspeicherrängen und - Ausgleichen der Lasten der Vielzahl von Datenspeicherrängen gemäß dem anpassungsfähigen Datenplatzierungsplan durch Verlagern von Daten in Abhängigkeit von der Vielzahl von berechneten Ranghitzen, - wobei die Ranghitze in Abhängigkeit von einer Bereichshitze ermittelt wird und die Bereichshitze aus einer linearen Kombination von zufälligen und aufeinanderfolgenden Eingaben-/Ausgaben-pro-Sekunde des Bereichs berechnet wird
  2. Verfahren nach Anspruch 1, das außerdem das Verwenden einer durchschnittlichen Ranghitze über die Vielzahl von Datenspeicherrängen hinweg oder einer IOPS-Latenzkurve oder der Vielzahl von Korrelationskoeffizienten zum Erstellen des anpassungsfähigen Datenplatzierungsplans beinhaltet.
  3. Verfahren nach Anspruch 1, das außerdem das Ausführen von mindestens einem der Folgenden beinhaltet: - Platzieren der Daten in einem aus einer Vielzahl von Zielen in der Vielzahl von Datenspeicherrängen und - Auslösen eines Planungsprozesses für den anpassungsfähigen Datenplan durch das Vorhandensein eines Leistungsungleichgewichts und einer Vielzahl von Ereignissen.
  4. Verfahren nach Anspruch 1, das außerdem das Ausführen von mindestens einem der Folgenden beinhaltet: - Erkennen einer Vielzahl von Ungleichgewichten über eine Vielzahl von Dimensionen der Bandbreite- und/oder der IOPS-Metriken hinweg, - Anwenden einer prozentualen Auslastung der Vielzahl von Dimensionen, - Finden einer Vielzahl von Zielen zum Platzieren der Daten, - Verwenden einer Vielzahl von zusammenfassenden Maßen zum Berücksichtigen einer Vielzahl von Spitzen und - Anwenden eines Rückmeldungsmechanismus zum Anpassen der Platzierung der Daten.
  5. Verfahren nach Anspruch 1, das außerdem das Ausführen von mindestens einem der Folgenden beinhaltet: - Verhindern der Überlastung einer Vielzahl von Zielen zur Zeit der Platzierung der Daten in der Vielzahl von Datenspeicherrängen und - Anpassen der Vielzahl von Datenspeicherrängen zum Zweck der maximalen Auslastung zur Zeit der Migration.
  6. Verfahren nach Anspruch 1, das außerdem das Ausführen von mindestens einem der Folgenden beinhaltet: - Sortieren der Vielzahl von Ranghitzen in aufsteigender oder absteigender Reihenfolge, - Berechnen einer durchschnittlichen (DURCH) oder einer Standardabweichungs- (STABW) Ranghitze aus der Vielzahl von Ranghitzen, - Erkennen einer Vielzahl von heißen Rängen (H) mit einer projizierten Ranghitze (PRH), die größer als eine tatsächliche Ranghitze (TRH) ist, - während die Vielzahl von heißen Rängen und eine Vielzahl von Zielrängen vorhanden sind, Bestimmen eines Quellrangs als einem heißesten Rang und eines Quellbereichs als eines heißesten Bereichs aus dem Quellrang und - Erkennen derjenigen aus der Vielzahl von Zielrängen als kalte Ränge (K), bei denen die PRH kleiner als DURCH oder STABW und die PRH kleiner als ein Eingabe/Ausgabe-Schwellenwert der Vielzahl von Datenspeicherrängen ist.
  7. Verfahren nach Anspruch 6, wobei das Erkennen derjenigen aus der Vielzahl von Zielrängen als kalte Ränge beinhaltet, wenn der Quellbereich und die PRH kleiner als DURCH oder STABW sind: - Wenn eine zusätzliche Kapazität in der Vielzahl von Zielrängen vorhanden ist, Verschieben des Quellbereichs in einen aus der Vielzahl von Zielrängen, andernfalls: - Erkennen eines Zielbereichs als gleich einem kältesten Bereich in einem aus der Vielzahl von Zielrängen und - Austauschen des Zielbereichs gegen den Quellbereich, wobei die PRH des Quellrangs und des Zielrangs aktualisiert werden.
  8. System zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit in einer Datenverarbeitungs-Speicherumgebung, das aufweist: - eine Prozessoreinheit, die in der Datenverarbeitungs-Speicherumgebung betrieben werden kann, wobei die Prozessoreinheit dazu eingerichtet ist, die Schritte eines der Ansprüche 1 bis 7 auszuführen.
  9. Computerprogrammprodukt zum dynamischen Beseitigen von Leistungsungleichgewicht zur Laufzeit in einer Datenverarbeitungs-Speicherumgebung durch eine Prozessoreinheit, wobei das Computerprogrammprodukt ein nicht flüchtiges computerlesbares Speichermedium mit darauf gespeicherten computerlesbaren Programmcodeabschnitten aufweist, wobei die computerlesbaren Programmcodeabschnitte, wenn sie von einem Computer ausgeführt werden, den Computer zum Ausführen des Verfahrens gemäß einem der Ansprüche 1 bis 7 veranlassen.
DE112012000953.3T 2011-04-29 2012-04-12 Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit Expired - Fee Related DE112012000953B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
USUS-13/098,143 2011-04-29
US13/098,143 US8365023B2 (en) 2011-04-29 2011-04-29 Runtime dynamic performance skew elimination
US13/098,143 2011-04-29
PCT/IB2012/051775 WO2012146998A1 (en) 2011-04-29 2012-04-12 Runtime dynamic performance skew elimination

Publications (2)

Publication Number Publication Date
DE112012000953T5 DE112012000953T5 (de) 2013-12-05
DE112012000953B4 true DE112012000953B4 (de) 2018-08-30

Family

ID=47068925

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012000953.3T Expired - Fee Related DE112012000953B4 (de) 2011-04-29 2012-04-12 Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit

Country Status (6)

Country Link
US (5) US8365023B2 (de)
JP (1) JP5466794B2 (de)
CN (1) CN103502956B (de)
DE (1) DE112012000953B4 (de)
GB (1) GB2505115A (de)
WO (1) WO2012146998A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972676B2 (en) 2011-01-28 2015-03-03 International Business Machines Corporation Assigning device adaptors and background tasks to use to copy source extents to target extents in a copy relationship
US20140259023A1 (en) * 2013-03-07 2014-09-11 Seagate Technology Llc Adaptive vibration mitigation
US20140351151A1 (en) * 2013-05-23 2014-11-27 International Business Machines Corporation Providing a lease period determination
CN104516471B (zh) 2013-09-27 2017-04-12 国际商业机器公司 一种管理存储器系统的电源的方法和装置
CN104679575B (zh) * 2013-11-28 2018-08-24 阿里巴巴集团控股有限公司 输入输出流的控制系统及其方法
CN103631538B (zh) * 2013-12-05 2017-04-05 华为技术有限公司 冷热数据识别门限值计算方法、装置和系统
US9665288B1 (en) * 2013-12-26 2017-05-30 EMC IP Holding Company LLC Techniques for determining workload skew
US10209898B2 (en) * 2014-04-03 2019-02-19 International Business Machines Corporation Estimation of performance utilization of a storage device
KR102318478B1 (ko) * 2014-04-21 2021-10-27 삼성전자주식회사 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
US10484470B2 (en) 2014-05-09 2019-11-19 International Business Machines Corporation Peak cyclical workload-based storage management in a multi-tier storage environment
US9436406B2 (en) 2014-07-07 2016-09-06 International Business Machines Corporation Migration decision window selection based on hotspot characteristics
US9372630B2 (en) 2014-07-09 2016-06-21 International Business Machines Corporation Migration of newly allocated data to a storage tier
US9979662B2 (en) 2015-04-17 2018-05-22 International Business Machines Corporation Storage area network workload balancing
US9940057B2 (en) * 2015-10-20 2018-04-10 International Business Machines Corporation I/O statistic based depopulation of storage ranks
US10248353B2 (en) * 2016-01-07 2019-04-02 International Business Machines Corporation Dynamicly freeing storage space in tiered storage systems
CN105824720B (zh) * 2016-03-10 2018-11-20 中国人民解放军国防科学技术大学 一种面向数据连续读取的重删纠删混合系统的数据放置方法
US10203994B2 (en) * 2016-05-12 2019-02-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Determining and using correlative thermal efficiency impacts to distribute workloads
US10241719B2 (en) * 2016-06-27 2019-03-26 International Business Machines Corporation Dynamic granularity for storage optimization
JP6675290B2 (ja) 2016-09-09 2020-04-01 キオクシア株式会社 ストレージシステム及び方法
US10303392B2 (en) * 2016-10-03 2019-05-28 International Business Machines Corporation Temperature-based disk defragmentation
US10042578B2 (en) * 2016-11-08 2018-08-07 International Business Machines Corporation Extent migration in multi-tier storage systems
US10353610B1 (en) * 2017-03-16 2019-07-16 EMC IP Holding Company LLC Method, apparatus and computer program product for configuring a data storage system
JP2018197933A (ja) * 2017-05-23 2018-12-13 富士通株式会社 ストレージ制御装置、情報処理システムおよびプログラム
US11157194B2 (en) 2018-01-12 2021-10-26 International Business Machines Corporation Automated predictive tiered storage system
US11151037B2 (en) 2018-04-12 2021-10-19 International Business Machines Corporation Using track locks and stride group locks to manage cache operations
US10606776B2 (en) 2018-04-16 2020-03-31 International Business Machines Corporation Adding dummy requests to a submission queue to manage processing queued requests according to priorities of the queued requests
US10884849B2 (en) 2018-04-27 2021-01-05 International Business Machines Corporation Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data
US10831597B2 (en) 2018-04-27 2020-11-10 International Business Machines Corporation Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data
US10776013B2 (en) 2018-04-27 2020-09-15 International Business Machines Corporation Performing workload balancing of tracks in storage areas assigned to processing units
CN110413197B (zh) * 2018-04-28 2023-06-27 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机程序产品
US10664185B2 (en) 2018-06-18 2020-05-26 International Business Machines Corporation Backend-aware extent balancing
CN111104055B (zh) * 2018-10-29 2023-10-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN111026677B (zh) * 2019-10-31 2022-02-18 苏州浪潮智能科技有限公司 一种基于ema算法的缓存分配方法、系统、终端及存储介质
US11442654B2 (en) 2020-10-15 2022-09-13 Microsoft Technology Licensing, Llc Managing and ranking memory resources
US20220164118A1 (en) * 2020-11-23 2022-05-26 Microsoft Technology Licensing, Llc Managing and ranking memory resources

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3774154A (en) 1972-08-21 1973-11-20 Ibm Error control circuits and methods
US4115759A (en) 1977-08-08 1978-09-19 Honeywell Information Systems Inc. Multiple bit deskew buffer
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6493795B1 (en) 1998-12-30 2002-12-10 Emc Corporation Data storage system
US6574699B1 (en) * 1999-12-07 2003-06-03 International Business Machines Corporation Fast track reassign in a rotating storage media
JP2004127147A (ja) * 2002-10-07 2004-04-22 Hitachi Ltd デスキュー回路およびそれを用いたディスクアレイ制御装置
US7461146B2 (en) 2003-01-20 2008-12-02 Equallogic, Inc. Adaptive storage block data distribution
US7937551B2 (en) 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
US7191207B2 (en) 2003-06-11 2007-03-13 International Business Machines Corporation Apparatus and method to dynamically allocate bandwidth in a data storage and retrieval system
US7366837B2 (en) 2003-11-24 2008-04-29 Network Appliance, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7290195B2 (en) * 2004-03-05 2007-10-30 Microsoft Corporation Adaptive acknowledgment delay
US7916574B1 (en) * 2004-03-05 2011-03-29 Netlist, Inc. Circuit providing load isolation and memory domain translation for memory module
US7595629B2 (en) 2004-07-09 2009-09-29 Formfactor, Inc. Method and apparatus for calibrating and/or deskewing communications channels
GB0419599D0 (en) 2004-09-03 2004-10-06 Ibm Controlling preemptive work balancing in data storage
US7138823B2 (en) * 2005-01-20 2006-11-21 Micron Technology, Inc. Apparatus and method for independent control of on-die termination for output buffers of a memory device
US7467335B2 (en) 2005-07-01 2008-12-16 Alcatel-Lucent Usa Inc. Method and apparatus for synchronizing data channels using an alternating parity deskew channel
US7836250B2 (en) 2005-07-15 2010-11-16 International Business Machines Corporation Automatic rebalancing of a data storage system
JP2007183816A (ja) * 2006-01-06 2007-07-19 Elpida Memory Inc メモリ制御装置
US9037828B2 (en) 2006-07-13 2015-05-19 International Business Machines Corporation Transferring storage resources between snapshot storage pools and volume storage pools in a data storage system
KR101128234B1 (ko) 2006-08-23 2012-03-23 엘지전자 주식회사 메모리 접근 제어 장치 및 방법
CN100476742C (zh) 2007-02-09 2009-04-08 华中科技大学 基于对象存储设备的负载平衡方法
US7839162B2 (en) 2007-06-27 2010-11-23 Tabula, Inc. Configurable IC with deskewing circuits
US7774631B1 (en) * 2007-06-30 2010-08-10 Emc Corporation Method and system for minimizing power consumption in a multiprocessor data storage system
US8117619B2 (en) 2007-08-31 2012-02-14 International Business Machines Corporation System and method for identifying least busy resources in a storage system using values assigned in a hierarchical tree structure
JP2009199478A (ja) 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式
US7839716B2 (en) * 2008-12-19 2010-11-23 Lsi Corporation Apparatus and systems for VT invariant DDR3 SDRAM write leveling
US7957218B2 (en) * 2009-06-11 2011-06-07 Freescale Semiconductor, Inc. Memory controller with skew control and method
US20100325352A1 (en) 2009-06-19 2010-12-23 Ocz Technology Group, Inc. Hierarchically structured mass storage device and method
US8880835B2 (en) 2009-07-07 2014-11-04 International Business Machines Corporation Adjusting location of tiered storage residence based on usage patterns
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US8484418B2 (en) * 2010-10-22 2013-07-09 Intel Corporation Methods and apparatuses for idle-prioritized memory ranks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GUERRA, Jorge, et al.: Cost Effective Storage using Extent Based Dynamic Tiering. In: FAST 2011, 15.-17.03.2011, S. 1-14.

Also Published As

Publication number Publication date
US20120278668A1 (en) 2012-11-01
JP2014502395A (ja) 2014-01-30
GB2505115A (en) 2014-02-19
US8719645B2 (en) 2014-05-06
US9104316B2 (en) 2015-08-11
US20130232270A1 (en) 2013-09-05
US8738975B2 (en) 2014-05-27
US20130185528A1 (en) 2013-07-18
US8365023B2 (en) 2013-01-29
GB201320009D0 (en) 2013-12-25
CN103502956A (zh) 2014-01-08
JP5466794B2 (ja) 2014-04-09
US8443241B2 (en) 2013-05-14
CN103502956B (zh) 2016-05-11
WO2012146998A1 (en) 2012-11-01
US20140359380A1 (en) 2014-12-04
US20120278669A1 (en) 2012-11-01
DE112012000953T5 (de) 2013-12-05

Similar Documents

Publication Publication Date Title
DE112012000953B4 (de) Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit
DE112020002526B4 (de) Blockmodusumschaltung in datenspeichersystem
DE112010004969B4 (de) Hybrides Speicherteilsystem und Verfahren zum Verwalten eines solchen
DE112012004798B4 (de) Anpassung der Auslagerungsgeschwindigkeit auf Grundlage von Anforderungen an Lese- und Schreib-Antwortzeiten
DE112013006643B4 (de) Speichersystem und steuerungsverfahren für speichersystem
DE69738159T2 (de) Anordnung und Verfahren zur Wiederzuteilung von logischen an physikalische Plattengeräte unter Verwendung eines Speichersteuergerätes
DE112013001421B4 (de) Auf Richtlinien beruhendes Verwalten von Speicherfunktionen in Datenreplikationsumgebungen
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE112005001050T5 (de) Liefern eines alternativen Cachespeicherungsschemas auf der Speicherbereichnetzwerkebene
DE112019000992T5 (de) Verwaltung virtueller Speicherlaufwerke in einem Datenspeichersystem
DE102013205571B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen
DE112010003794B4 (de) Datenspeicherung unter Verwendung von Bitmaps
DE112013006656T5 (de) Speichersystem
DE112018003524T5 (de) Dynamische datenverlagerung unter verwendung von speicherbänken auf cloud-grundlage
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE102008015185A1 (de) Hierarchisches Speichersystem mit vorausschauender Datenübertragung
US10860260B2 (en) Method, apparatus and computer program product for managing storage system
DE112020003290B4 (de) Datenplatzierung in einer schreib-cache-architektur, die eine lesehitze-datenaufteilung unterstützt
DE112018005121T5 (de) Speichersystem unter verwendung von cloud-speicher als eine speicherbank
DE602004011175T2 (de) Speichersteuergerät, Speichersystem, und Speichersystemsteuerungsverfahren
DE112020003062T5 (de) Dynamische anpassung einer logischen speicherkapazität für speicherlaufwerke
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE112021005233T5 (de) Verbesserte anwendungsleistung durch verwenden vonspeichersystemoptimierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES US 2 LLC (N.D.GES.DES STAATES , US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE GBR, DE

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0012000000

Ipc: G11C0008000000

Effective date: 20131105

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES US 2 LLC (N.D.GES.DES STAATES , US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: GLOBALFOUNDRIES US 2 LLC (N.D.GES.DES STAATES DELAWARE), HOPEWELL JUNCTION, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee