DE112012000953B4 - Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit - Google Patents
Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0727—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity 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
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 Computersystem10 , in dem Aspekte der vorliegenden Erfindung realisiert werden können. Das Computersystem10 enthält die Zentraleinheit (CPU)12 , die mit einer oder mehreren Massenspeichereinheiten 14 und der Arbeitsspeichereinheit16 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 System10 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 Arbeitsspeichereinheit16 und die Massenspeichereinheit14 sind mit der CPU12 über ein signalführendes Medium verbunden. Die CPU12 ist außerdem durch den Datenübertragungsanschluss18 mit einem Datenübertragungsnetzwerk20 verbunden, an das eine Vielzahl weiterer Computersysteme22 und24 angeschlossen ist. - Die
2 ist ein beispielhaftes Blockschaubild200 , das gemäß der vorliegenden Erfindung eine Hardwarestruktur eines Datenspeichersystems in einem Computersystem zeigt. Die2 zeigt die Host-Computer210 ,220 ,225 , die jeweils als eine Zentraleinheit zum Ausführen von Datenverarbeitung als ein Teil eines Datenspeichersystems200 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 Datenspeichersystem200 sein. Bei einer Ausführungsform und lediglich beispielhaft angeführt kann ein Datenspeichersystem200 als IBM® System Storage™ DS8000™ realisiert sein. Eine Netzwerkverbindung260 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 Hosts210 ,220 und225 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 in2 gezeigt) oder Netzwerkadapter260 zu dem Speicher-Controller240 ausgestattet sein wie beispielsweise Fibre-Channel-, FICON-, ESCON-, Ethernet-, Lichtwellenleiter-, Drahtlos- oder Koaxialadaptern. Das Datenspeichersystem200 ist dementsprechend mit einem geeigneten Fabric- (nicht in2 gezeigt) oder Netzwerkadapter260 für den Datenaustausch ausgestattet. Das Datenspeichersystem200 wird in der1 mit dem Speicher-Controller240 und dem Speicher230 gezeigt. - Um ein klareres Verständnis der hier beschriebenen Verfahren zu erleichtern, wird der Speicher-Controller
240 in der2 als eine einzelne Verarbeitungseinheit mit einem Mikroprozessor242 , einem Systemarbeitsspeicher243 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-Controller240 aus mehreren Verarbeitungseinheiten besteht, von denen jede über ihren eigenen Prozessorkomplex und Systemarbeitsspeicher verfügt, und die durch ein zweckbestimmtes Netzwerk in dem Datenspeichersystem200 miteinander verbunden sind. Der Speicher230 kann aus einer oder mehreren Speichereinheiten bestehen wie beispielsweise Speicher-Arrays, die mithilfe eines Speichernetzwerks mit dem Speicher-Controller240 verbunden sind. - Bei einigen Ausführungsformen können die in dem Speicher
230 enthaltenen Einheiten in einer Schleifenarchitektur miteinander verbunden sein. Der Speicher-Controller240 verwaltet den Speicher230 und erleichtert das Verarbeiten von für den Speicher230 bestimmten Schreib- und Leseanforderungen. In dem Systemarbeitsspeicher243 des Speicher-Controllers240 werden Programmanweisungen und Daten gespeichert, auf die der Prozessor242 zum Ausführen von Funktionen und Verfahrensschritten zugreifen kann, die mit dem Verwalten des Speichers230 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 Systemarbeitsspeicher243 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 der2 gezeigt, kann der Systemarbeitsspeicher243 auch einen Cache245 , der hier auch als ein „Cachespeicher“ bezeichnet wird, für den Speicher230 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 Cachespeicher245 in einer Einheit außerhalb des Systemarbeitsspeichers243 zugeordnet, aber er bleibt dennoch für den Zugriff des Mikroprozessors242 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 Datenspeichersystems200 mit dem Mikroprozessor242 über einen lokalen Bus (in der2 nicht gezeigt) verbunden. Der in dem Datenspeicher-Controller enthaltene NVS216 ist für den Zugriff des Mikroprozessors242 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 Cachespeicher245 gespeichert sein. Bei einigen Ausführungsformen wird der NVS216 durch eine Notstromversorgung (in der2 nicht gezeigt) wie beispielsweise eine Batterie ausreichend mit Strom versorgt, um im Fall eines Ausfalls der Stromversorgung des Datenspeichersystems200 die in ihm gespeicherten Daten zu erhalten. Bei bestimmten Ausführungsformen ist die Kapazität des NVS216 kleiner als die oder gleich der Gesamtkapazität des Cachespeichers245 . - 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 Speicher230 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 Speicher230a , 230b und 230n werden als Ränge in dem Datenspeichersystem200 gezeigt und hier als Rang230a ,230b und230n bezeichnet. Ränge können in dem Datenspeichersystem200 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 Rang230a wird als mit zwei vollständigen Datenträgern234 und236 sowie mit einem Teil-Datenträger232a konfiguriert gezeigt. Der Rang230b wird mit einem weiteren Teil-Datenträger232b gezeigt. Daher ist der Datenträger232 über die Ränge230a und230b hinweg zugeordnet. Der Rang230n wird als vollständig dem Datenträger238 zugeordnet gezeigt, das heißt, der Rang230n betrifft den gesamten physischen Speicher des Datenträgers238 . 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 Modul255 zum Beseitigen von Leistungsungleichgewicht und ein Ranghitzemodul247 enthalten. Das Modul255 zum Beseitigen von Leistungsungleichgewicht und das Ranghitzemodul247 können in Verbindung miteinander und jeder Komponente des Speicher-Controllers240 , der Hosts210 , 220, 225 und der Speichereinheiten230 arbeiten. Das Modul255 zum Beseitigen von Leistungsungleichgewicht und das Ranghitzemodul247 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 Modul255 zum Beseitigen von Leistungsungleichgewicht und das Ranghitzemodul247 können sich auch in dem Cachespeicher245 oder anderen Komponenten des Speicher-Controllers240 befinden, damit die Zwecke der vorliegenden Erfindung erreicht werden. - Der Speicher-Controller
240 kann mit einem Steuerschalter241 zum Steuern des Fibre-Channel-Protokolls zu den Hostcomputern210 ,220 ,225 , einem Mikroprozessor242 zum Steuern aller Speicher-Controller240 , einem nicht flüchtigen Steuerspeicher243 zum Speichern eines Mikroprogramms (Betriebssoftware)250 zum Steuern des Betriebs des Speicher-Controllers240 , Daten zum Steuern sowie jede später beschriebene Tabelle, dem Cachespeicher 245 zum vorübergehenden Speichern (Puffern) von Daten sowie den Puffern244 zum Unterstützen des Cachespeichers245 beim Lesen und Schreiben von Daten, einem Steuerschalter241 zum Steuern eines Protokolls zum Steuern der Datenübertragung zu den oder von den Speichereinheiten230 , dem Modul255 zum Beseitigen von Leistungsungleichgewicht sowie einem Ranghitzemodul247 konstruiert sein, in dem Daten festgelegt sein können. Mehrere Puffer244 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-Controller240 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 der2 gezeigten Systems lediglich beispielhaft beschrieben. Der Mikroprozessor242 kann den Arbeitsspeicher243 so steuern, dass dieser Befehlsinformationen von der Hosteinheit (physisch oder virtuell) 210 sowie Informationen zum Erkennen der Hosteinheit (physisch oder virtuell) 210 speichert. Der Steuerschalter241 , die Puffer 244, der Cachespeicher245 , die Betriebssoftware250 , der Mikroprozessor242 , der Arbeitsspeicher243 , der NVS216 , das Modul255 zum Beseitigen von Leistungsungleichgewicht sowie das Ranghitzemodul247 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 Betriebssoftware245 zwecks dynamischen Beseitigens von Leistungsungleichgewicht zur Laufzeit in einer Computerspeicherumgebung zusammen mit dem Arbeitsspeicher243 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 Verfahren300 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 (Schritt302 ) 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 (Schritt304 ). Ein anpassungsfähiger Datenplatzierungsplan wird zum Verlagern der Daten erstellt (Schritt306 ). Die Daten können als Bereiche oder Datensegmente dargestellt werden. Die Daten werden in den Datenspeicherrängen platziert (Schritt308 ). 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 Verfahren300 endet (Schritt312 ). - 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: - 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.
-
- 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:
- 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 Latenzkurve400 veranschaulicht, in der die vorliegende Erfindung realisiert werden kann. Bei Einheiten in dem Datenspeichersystem, wie beispielsweise in der1 und der2 , kann von vornherein eine Latenz-IOPS Kurve bekannt sein, die der Latenzkurve (Kurve)400 in der4 ähnelt. Die vertikale Achse410 der Latenzkurve400 veranschaulicht die Latenz des Systems, und die horizontale Achse412 veranschaulicht die IOPS406 (in der4 als 406A bis 406B gezeigt). Die Kurve zeigt das heiße Gebiet402 (mit einem gitterartigen Muster veranschaulicht) und das kalte Gebiet404 (durch diagonale Linien veranschaulicht) zusammen mit dem mit einem „A“ gekennzeichneten IOPSA406A 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. Die5A ist ein beispielhaftes Schaubild500 , das einen Anwendungsfall des Hinzufügens eines Rangs veranschaulicht, in dem Aspekte der vorliegenden Erfindung realisiert werden können. Die5A bis5D veranschaulichen jeweils mehrere Ränge502 . In jedem der Ränge502A befinden sich mehrere Bereiche, entweder ein heißer Bereich510 oder ein kalter Bereich512 . Die Ränge502 sind in einen heißen Rang502A und einen Zielrang502B unterteilt, um die Migration des heißen Bereichs510 und/oder der kalten Bereiche512 zu veranschaulichen. In der5A 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änge502A vorhanden sind, können die Mechanismen den heißen Bereich (510 ) von dem heißen Rang502A in den Zielrang 502B migrieren. Beispielsweise wird der heiße Bereich510 in dem heißen Rang 502A in den Zielrang502B migriert. Die anschließende Migration zeigt den neuen heißen Rang502A ohne den migrierten heißen Bereich510 . Der migrierte heiße Bereich510 erscheint jetzt in dem Zielrang502B . Die5A veranschaulicht, dass der Zielrang502B leer ist, und nach dem Migrieren des heißen Bereichs510 enthält der Zielrang jetzt einen heißen Bereich510 . - 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 der5B veranschaulichen drei Szenarios520 ,522 und524 das Hinzufügen eines Rangs mithilfe alternativer Abläufe. Bei dem ersten Szenario520 wird einer der heißen Bereiche510 von dem heißen Rang502A in den Zielrang 502B migriert. Die Migration erfolgt in einen neu hinzugefügten Rang. Bei dem zweiten Szenario522 sind keine heißen Bereiche (510 ) in dem heißen Rang502A vorhanden, und in dem heißen Rang502A befinden sich nur kalte Bereiche512 . Es erfolgt keine Migration von den heißen Rängen502A zu dem Zielrang502B , da das Leistungsungleichgewicht den Schwellenwert nicht überschreitet. Bei dem dritten Szenario524 erfolgt trotz des Vorhandenseins von heißen Bereichen (510 ) in dem heißen Rang502A keine Migration von dem heißen Rang502A 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änge502B (wo ein Ungleichgewicht zwischen Quelle und Ziel maximal ist) zum Ziel haben. Wenn zusätzliche Kapazität in den Zielrängen502B vorhanden ist, können die Mechanismen einen heißen Bereich510 aus dem heißen Rang502A in einen Zielrang502B verschieben. Andernfalls können die Mechanismen den heißen Bereich510 aus dem heißen Rang502A gegen den kalten Bereich512 aus dem Zielrang502B austauschen. Beispielsweise erscheint der migrierte heiße Bereich510 aus dem heißen Rang502A jetzt in dem Zielrang 502B. Die5C veranschaulicht, dass der Zielrang502B vor der Migration nur einen kalten Bereich512 enthält, und dass nach der Migration der heiße Bereich510 in dem Zielrang502B platziert ist, der nun einen heißen Bereich510 und einen kalten Bereich512 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 der5D veranschaulichen drei Szenarios530 ,532 und524 den Leistungsungleichgewichts-Anwendungsfall mithilfe alternativer Abläufe. Bei dem ersten Szenario530 ist nur ein heißer Bereich510 in dem heißen Rang502A vorhanden, wobei mehrere kalte Bereiche512 vorhanden sind. Es erfolgt keine Migration von dem heißen Rang502A in den Zielrang502B , 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 Szenario532 sind sowohl heiße Bereiche510 als auch kalte Bereiche512 in dem Zielrang502B vorhanden, und in dem heißen Rang502A sind nur heiße Bereiche510 vorhanden. Es erfolgt keine Migration, da das Leistungsungleichgewicht keinen Schwellenwert überschreitet. Bei dem dritten Szenario534 ist der heiße Rang502A vollständig mit heißen Bereichen (510 ) gefüllt, und der Zielrang502B ist vollständig mit kalten Bereichen512 gefüllt. Es erfolgt eine Migration von dem heißen Rang502A in den Zielrang502B , oder es werden einige der heißen Bereiche510 gegen einige der kalten Bereiche512 ausgetauscht, da weder in dem heißen Rang502A , noch in dem kalten Rang502B zusätzliche Kapazität vorhanden ist. - Die
6 ist ein Ablaufplan, der ein beispielhaftes Verfahren600 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 (Schritt603 ). Bei dem Verfahren600 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 Verfahren600 werden die Fähigkeiten verschiedener Hardware-Einheiten entlang mehreren Dimensionen (wie beispielsweise Bandbreite und Eingabe/Ausgabeoperationen pro Sekunde) sowie Arbeitslastmerkmale berücksichtigt (Schritt606 ). Langfristige und kurzfristige Ungleichgewichte über mehrere Dimensionen hinweg werden erkannt (Schritt607 ). Bei dem Verfahren600 wird eine prozentuale Auslastung der Dimensionen angewendet (Schritt608 ). Eine durchschnittliche Hitze über die Ränge hinweg wird zum Erstellen eines Plans verwendet (Schritt609 ). Ziele für die anpassungsfähige Platzierung der Daten werden gefunden (Schritt610 ). Es wird verhindert, dass die Ziele (Zieleinheiten) zur Zeit einer Migration der Daten und nach dem Ausführen von Migrationsanweisungen überlastet werden (Schritt611 ). Ein Plan zum Verlagern, Migrieren und Platzieren von Bereichen wird erstellt (Schritt612 ). 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 (Schritt613 ). Ein oder mehrere Bereiche werden migriert (Schritt614 ). Bei dem Verfahren600 werden die migrierten Bereiche in einem Zielrang platziert (Schritt616 ). Verschiedene Maße werden verwendet und eingesetzt, um scharfe Spitzen zu berücksichtigen (Schritt618 ). Bei dem Verfahren wird ein Rückmeldungsmechanismus angewendet, um die Platzierung von Daten anzupassen, während gleichzeitig ein ausgeglichener Bereichspool beibehalten wird (Schritt620 ). Bei dem Verfahren600 werden Datenspeicherränge für maximale Auslastung zur Zeit der Migration angepasst (Schritt622 ). Das Verfahren600 endet (Schritt624 ). - 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)
- 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
- 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. - 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. - 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. - 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. - 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. - 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. - 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 bis7 auszuführen. - 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 bis7 veranlassen.
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)
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)
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 |
-
2011
- 2011-04-29 US US13/098,143 patent/US8365023B2/en not_active Expired - Fee Related
-
2012
- 2012-04-12 GB GB1320009.2A patent/GB2505115A/en not_active Withdrawn
- 2012-04-12 DE DE112012000953.3T patent/DE112012000953B4/de not_active Expired - Fee Related
- 2012-04-12 JP JP2013540486A patent/JP5466794B2/ja not_active Expired - Fee Related
- 2012-04-12 WO PCT/IB2012/051775 patent/WO2012146998A1/en active Application Filing
- 2012-04-12 CN CN201280020910.5A patent/CN103502956B/zh not_active Expired - Fee Related
- 2012-06-25 US US13/532,204 patent/US8443241B2/en not_active Expired - Fee Related
-
2013
- 2013-01-02 US US13/732,481 patent/US8719645B2/en not_active Expired - Fee Related
- 2013-04-16 US US13/863,532 patent/US8738975B2/en not_active Expired - Fee Related
-
2014
- 2014-04-30 US US14/266,455 patent/US9104316B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
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 |