DE202017106569U1 - Analyse grossangelegter Datenverarbeitungsaufträge - Google Patents

Analyse grossangelegter Datenverarbeitungsaufträge Download PDF

Info

Publication number
DE202017106569U1
DE202017106569U1 DE202017106569.3U DE202017106569U DE202017106569U1 DE 202017106569 U1 DE202017106569 U1 DE 202017106569U1 DE 202017106569 U DE202017106569 U DE 202017106569U DE 202017106569 U1 DE202017106569 U1 DE 202017106569U1
Authority
DE
Germany
Prior art keywords
job
data
distributed computing
subordinate
additional
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.)
Active
Application number
DE202017106569.3U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202017106569U1 publication Critical patent/DE202017106569U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Computerprogrammprodukt, beinhaltend Anweisungen, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, ein computerimplementiertes Verfahren zur Datenanalyse in einem verteilten Computersystem durchzuführen, wobei das Verfahren Folgendes umfasst:Zugriff auf Daten, die in einem Speichergerät einer ersten Verarbeitungszone gespeichert sind, die mit einem bestimmten, verteilten Datenverarbeitungsauftrag verknüpft sind, der ausgeführt worden ist;Ermittlung identifizierender Informationen aus den auf dem Speichergerät gespeicherten Daten, die einen bestimmten, mit dem bestimmten verteilten, Datenverarbeitungsauftrag verknüpften untergeordneten Auftrag identifizieren;Vergleich der identifizierenden Informationen mit den auf einem Speichergerät einer zweiten Verarbeitungszone gespeicherten Daten als Reaktion auf die Ermittlung der identifizierenden Informationen, die einen bestimmten untergeordneten, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften Auftrag identifizieren;Identifizierung eines zusätzlichen untergeordneten Auftrags als zugehörig zu dem bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf einem Ergebnis des Vergleichs der identifizierenden Informationen mit Daten, die in dem Speichergerät in der zweiten Verarbeitungszone gespeichert sind;Zuordnung bestimmter, mit dem bestimmten untergeordneten verknüpfter Ausgabedaten zu zusätzlichen mit dem zusätzlichen untergeordneten Auftrag verknüpfter Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag;Ermittlung der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten; undBereitstellung, zur Anzeige, der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem bestimmten zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten.

Description

  • HINTERGRUND
  • Großangelegte Datenverarbeitung ist in Webunternehmen sowie innerhalb verschiedener Branchen mittlerweile stark verbreitet. Großangelegte Datenverarbeitung kann parallele Verarbeitung enthalten, die im Allgemeinen das gleichzeitige Ausführen einer Operation auf jedes Element einer großen Datenmenge beinhalten. Die verschiedenen Operationen können in einer datenparallelen Pipeline aneinandergereiht werden, um einen effizienten Mechanismus zur Verarbeitung eines Datensatzes zu generieren. Die Produktion eines Datensatzes kann die Erstellung von untergeordneten Aufträgen oder Phasen umfassen, die die Hauptaufgabe oder den übergeordneten Auftrag ausführen, wobei ein untergeordneter Auftrag auf verschiedenen Verarbeitungszonen ausgeführt werden kann. Aufgrund der Größe der großangelegten Datenverarbeitungsaufträge ist es jedoch schwierig, die Leistung der großangelegten Aufträge zu analysieren.
  • KURZDARSTELLUNG
  • Die vorliegende Spezifikation bezieht sich im Allgemeinen auf großangelegte Datenverarbeitungsaufträge.
  • Die Diagnose von Auffälligkeiten in Datenverarbeitungs-Pipelines kann schwierig sein, nachdem die Pipelines den Betrieb beendet haben. Einige der Herausforderungen umfassen fehlende Logs, Datenzuordnungsprobleme zwischen mehreren Durchläufen, die Informationszuordnung zu anderen Verarbeitungs-Events und die Ermittlung einer Beziehung zwischen einem Hauptauftrag mit den Phasen oder untergeordneten Aufträge eines entsprechenden Hauptauftrags. Es kann eine Reihe relevanter Diagnoseinformationen und Analysen geben, einschließlich von Pipeline-Versagen, Langsamkeit und Leistungskennzahlen. Somit besteht ein Bedarf für ein Datenanalyse-Tool, das die Erfassung relevanter Informationen bezüglich des verteilten Datenverarbeitungsauftrags und die Diagnose von Auffälligkeiten in den Daten-Pipelines ermöglicht.
  • Im Allgemeinen kann ein innovativer Aspekt des in dieser Spezifikation beschriebenen Gegenstands in Computerprogrammprodukten ausgeführt werden, die Anweisungen umfassen, die bei der Ausführung durch einen oder mehrere Prozessoren, den einen oder die mehreren Prozessoren zur Durchführung von Verfahren veranlassen, die folgende Aktionen umfassen: Den Zugriff auf Daten, die auf einem Speichergerät einer ersten Verarbeitungszone gespeichert sind, die mit einem bestimmten, verteilten Datenverarbeitungsauftrag verknüpft sind, der ausgeführt wurde; die Ermittlung von identifizierenden Informationen, aus den auf dem Speichergerät gespeicherten Daten, die einen bestimmten, mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpften, untergeordneten Auftrag identifizieren; der Vergleich der identifizierenden Informationen mit den auf dem Speichergerät einer zweiten Verarbeitungszone gespeicherten Daten, als Reaktion auf die Ermittlung der identifizierenden Informationen, die einen mit einem bestimmten, verteilten, Datenverarbeitungsauftrag verknüpften bestimmten untergeordneten Auftrag identifizieren; die Identifizierung eines weiteren, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften, untergeordneten Auftrags , basierend auf einem Ergebnis des Vergleichs der identifizierenden Informationen von Daten, die auf dem Speichergerät der zweiten Verarbeitungszone gespeichert sind; die Zuordnung bestimmter, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten mit zusätzlichen mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag; die Ermittlung von Leistungskennzahlen für den bestimmten, verteilten Datenverarbeitungsauftrag basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten; und die Bereitstellung zur Anzeige der Leistungskennzahlen für den bestimmten, verteilten Datenverarbeitungsauftrag basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten.
  • In bestimmten Implementierungen umfassen die Verfahren weiterhin Aktionen zum Leistungsdatenvergleich für den bestimmten, verteilten Datenverarbeitungsauftrag mit einem Leistungsgrenzwert; sowie die Bereitstellung einer Benachrichtigung basierend auf einem Ergebnis des Leistungsdatenvergleichs für den bestimmten, verteilten Datenverarbeitungsauftrag mit dem Leistungsgrenzwert.
  • In bestimmten Implementierungen besteht die Benachrichtigung aus einem oder mehreren der folgenden Elemente: ein akustischer Alarm, ein taktiler Alarm, ein visueller Alarm oder eine elektronische Nachricht. In bestimmten Implementierungen umfassen die Leistungsdaten eines oder mehrere der folgenden Elemente: eine Laufzeit, Speicherauslastung, CPU-Zeit, Festplattenauslastung, einer Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten, verteilten Datenverarbeitungsauftrag, einen oder mehrere mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpfte Zähler oder ein Verarbeitungsstatus.
  • In bestimmten Implementierungen werden die Speicherauslastungen, die CPU, die Zeit der Festplattenauslastung, die Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten Datenverarbeitungsauftrag, der eine oder die mehreren mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpften Zähler und/oder der Verarbeitungsstatus in Abhängigkeit mit der Benachrichtigung geändert, insbesondere durch ein Signal an einen Datenprozessor und/oder in Abhängigkeit mit dem Ergebnis des Vergleichs mit dem Leistungsgrenzwert.
  • In bestimmten Implementierungen umfassen die Verfahren weiterhin Aktionen zur Anzeige einer Benutzerschnittstelle, die eine Leistungsdatenanzeige beinhaltet, wobei die Benutzerschnittstelle eine interaktive hierarchische Struktur umfasst.
  • In bestimmten Implementierungen umfassen die identifizierenden Informationen ein gemeinsames Präfix, das in den Daten identifiziert wird.
  • In bestimmten Implementierungen ist der bestimmte, verteilte Datenverarbeitungsauftrag mit einer bestimmten Pipeline verknüpft; und die Zuordnung von bestimmten, mit dem untergeordneten Auftrag verknüpften Ausgabedaten zu zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag umfasst die Zuweisung des bestimmten untergeordneten Auftrags und des zusätzlichen untergeordneten Auftrags zu der bestimmten Pipeline; und die Verfahren beinhalten folgende Aktionen: Ermittlung der Pipeline-Leistungsdaten für einen ersten Durchlauf der bestimmten Pipeline; und die Ermittlung der Pipeline-Leistungsdaten für einen zweiten Durchlauf der bestimmten Pipeline.
  • Andere Umsetzungen der vorstehenden Aspekte umfassen entsprechende Systeme, Vorrichtungen und Computerprogramme, die konfiguriert sind, die Aktionen der Verfahren auszuführen, die auf Computerspeichervorrichtungen codiert sind.
  • Bestimmte Implementierungen des in dieser Spezifikation beschriebenen Gegenstands können so implementiert werden, dass sie einen oder mehrere der folgenden Vorteile realisieren. Die Systeme und Verfahren ermöglichen einem Mechanismus die zuverlässige und präzise Analyse der Richtigkeit und Leistung von großangelegten Datenverarbeitungsaufträgen. Die Systeme und Verfahren erzielen ein intuitives Datenanalyse-Tool, das die Diagnose von Pipeline-Durchflussfehlern und der Pipeline-Präzision im Vergleich zu Systemen ohne diese Systeme und Verfahren beschleunigt und verbessert. Das ermöglicht spezifischere und wirksamere Abhilfemaßnahmen, was sowohl Zeit als auch Systemressourcen spart. Weiterhin erzielen Implementierungen der vorliegenden Offenbarung technische Vorteile, wie die Identifizierung von Daten untergeordneter Aufträge bezüglich eines Hauptauftrags, wenn die Daten des untergeordneten Auftrags in den Verarbeitungszonen gespeichert sind; eine automatisierte Erfassung und Zuordnung der Daten eines untergeordneten Auftrags, der in den Verarbeitungszonen gespeichert ist; eine wirksamere und schnellere Verarbeitung für die Erfassung und Zuordnung von Leistungsdaten; automatische Benachrichtigungen oder Warnungen in Bezug auf die Leistungskennzahlen eines Auftrags; und eine Analyse und Diagnose der Auftragsleistung, einschließlich einer intuitiven Benutzerschnittstelle. Insbesondere erzielen Implementierungen der vorliegenden Offenbarung den technischen Vorteil einer einfacheren Identifizierung der Grundursachen von Leistungsabfall und der Identifizierung von Phasen, die mehr Ressourcen über verschiedene Durchläufe verwenden.
  • Die Details einer oder mehrerer Implementierungen der Erfindung sind in den nachstehenden beigefügten Zeichnungen und der Beschreibung dargelegt. Andere Merkmale und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen deutlich.
  • Figurenliste
    • 1 stellt ein Beispiel eines verteilten Datenverarbeitungssystems dar, das gemäß Implementierungen der vorliegenden Offenbarung ausgeführt werden kann.
    • 2 stellt ein Beispiel eines Systems zur Analyse von Daten eines verteilten Datenverarbeitungssystems dar, das gemäß Implementierungen der vorliegenden Offenbarung ausgeführt werden kann.
    • 3 stellt ein Beispiel einer Benutzerschnittstelle zur Verarbeitung dar, die gemäß Implementierungen der vorliegenden Offenbarung ausgeführt werden kann.
    • 4 stellt ein Flussdiagramm eines Beispiels eines Prozesses zur Analyse von Daten in einem verteilten Datenverarbeitungssystem dar, das gemäß Implementierungen der vorliegenden Offenbarung ausgeführt werden kann.
  • In den verschiedenen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Auf einer hohen Ebene können Implementierungen der vorliegenden Offenbarung eine Offline-Analyse der Pipeline sowie einen Diagnoserahmen bereitstellen, über den relevante Daten bezüglich der mit den verteilten Datenverarbeitungs-Pipelines gesammelt und organisiert werden können, die in den verschiedenen Verarbeitungszonen gespeichert sind. Zusätzlich werden die Daten zugeordnet und dem Benutzer auf strukturiertere Weise präsentiert und können eine automatische Benachrichtigung in Bezug auf bestimmte Leistungskennzahlen bereitstellen. Einige exemplarische Leistungsanalysen umfassen unter anderem: Die Häufigkeit, in der die Pipeline in der letzten Zeit (N) gelaufen ist und den entsprechenden Status; die Laufzeiten für die verschiedenen Stufen oder Phasen des Datenverarbeitungsauftrags; Zählerabweichungen zwischen den verschiedenen Durchläufen der Pipeline; die Anzahl an einmaligen Ausfällen, die für eine bestimmte Pipeline aufgetreten sind, sowie jegliche bestehenden Bugs; eine Änderung in der Verarbeitungsumgebung der Pipeline, wie Gruppierung, Planung und Strategie zwischen den verschiedenen Durchläufen der Pipeline; sowie andere vorübergehende Aspekte, die sich auf die Pipeline auswirken könnten. Ein Beispiel eines verteilten Datenverarbeitungsauftrags ist ein MapReduce-Auftrag, der Map-, Shuffle- und Reduce-Phasen umfassen könnte. Andere verteilte Verarbeitungssysteme können aber auch von den Implementierungen der vorliegenden Offenbarung profitieren.
  • Diese Merkmale und weitere Merkmale sind nachstehend detaillierter beschrieben.
  • 1 stellt ein Beispiel eines verteilten Datenverarbeitungssystems 100 dar, das gemäß Implementierungen der vorliegenden Offenbarung ausgeführt werden kann. Das verteilte Datenverarbeitungssystem 100 kann einen Datenprozessor 102 beinhalten, der einen oder mehrere Computer beinhalten könnte. Der Datenprozessor 102 kann Daten speichern, zum Beispiel in Speicherknoten 110 in den Verarbeitungszonen 104, 106 und 108. Herkömmliche Verarbeitungszonen können große Mengen an Daten speichern. Einige Daten werden redundant auf verschiedenen Verarbeitungszonen gespeichert, sodass auch beim Ausfall einer gesamten Verarbeitungszone die Daten wiederhergestellt werden können. Der Datenprozessor 102 kann mit den Verarbeitungszonen 104, 106 und 108 über ein Netzwerk 112 kommunizieren.
  • Ein Speicherknoten kann ein oder mehrere Computerspeichermedien umfassen. In einigen Implementierungen ist ein Speicherknoten ein Datenserver, zum Beispiel ein Server einschließlich einer Vorrichtung zur Datenverarbeitung und mehreren Festplattenlaufwerken, auf denen die Daten gespeichert werden können. Eine Gruppe an Speicherknoten könnte ein Rack, ein Subnetz, eine Verarbeitungszone oder verschiedene andere Ansammlungen an Servern oder Speicherknoten umfassen.
  • Eine Verarbeitungszone könnte eine Gruppierung an Speicherknoten umfassen. Eine Verarbeitungszone ist konzipiert, um relativ unabhängig von anderen Verarbeitungszonen zu agieren. Beispielsweise kann eine Verarbeitungszone unabhängige Ressourcen haben, wie eine Stromversorgung, Netzwerke, Umgebungskontrollen, Sicherheitsfunktionen oder dergleichen sowie jede Kombination daraus. Verarbeitungszonen können beispielsweise Vernetzungssysteme, Backup-Stromversorgungen, Klimaregelungen, Sicherheitsfunktionen oder dergleichen sowie jede Kombination daraus beinhalten. Eine Verarbeitungszone kann eine einzelne Einrichtung oder ein Gebäude umfassen sowie eine oder mehrere Einrichtungen und kann in einigen Fällen auf einen Teil einer einzelnen Einrichtung beschränkt sein. In 1 sind die Verarbeitungszonen 104, 106 und 108 mit drei Speicherknoten gezeigt; jede Verarbeitungszone kann jedoch mehr oder weniger Speicherknoten haben. Daten können in Datenblöcken gespeichert werden, wobei jeder Datenblock eine vorgegebene Menge an Daten enthält. In einigen Implementierungen kann ein Datenblock ein zusammenhängender Teil der Daten aus einer Datei sein. In anderen Implementierungen kann ein Datenblock eine oder mehrere nicht zusammenhängende Teile der Daten aus einer Datei sein. In einigen Implementierungen werden Metadaten in den Verarbeitungszonen 104, 106 und 108 verwendet, um den Überblick über die gespeicherten Daten zu behalten. Beispielsweise können Metadaten vorgeben, welche Teile einer Datei in welchen Verarbeitungszonen gespeichert werden. Darüber hinaus kann die Speicherung von Datenblöcken in bestimmten Verarbeitungszonen vorgegeben werden. Beispielsweise kann die Speicherung von Daten in einer Verarbeitungszone basierend auf dem geografischen Standort der Verarbeitungszone vorgegeben werden.
  • In einem verteilten Datenverarbeitungssystem, zum Beispiel dem verteilten Datenverarbeitungssystem 100 aus 1, kann ein bestimmter, verteilter Datenverarbeitungsauftrag einen Hauptauftrag umfassen, der mehrere untergeordnete Aufträge erstellt, die sich über mehrere Verarbeitungszonen 104, 106 und 108 erstrecken können. Diese Aufträge können auch als Batch-Aufträge bezeichnet werden. Da sich untergeordnete Aufträge über mehrere Verarbeitungszonen erstrecken, ist der Zugriff auf die Daten an verschiedenen Standorten mit herkömmlichen Systemen und Prozessen schwierig. Insbesondere könnte es mit diesen herkömmlichen Systemen und Prozessen nicht möglich sein, konsolidierte Daten für den gesamten Auftrag zu erhalten, um eine präzise Leistungsanalyse und Diagnose bereitzustellen. Insbesondere können zum Beispiel die oben beschriebenen Metadaten verloren gehen oder gelöscht werden, sobald ein verteilter Datenverarbeitungsauftrag abgeschlossen ist. Aus diesem Grund ist eine Zuordnung zwischen verschiedenen untergeordneten Aufträgen und dem Hauptauftrag möglicherweise schwierig umzusetzen.
  • Beispielsweise könnte in einem typischen MapReduce-System das MapReduce-Framework den Auftrag automatisch in mehrere untergeordnete Aufträge unterteilen, die manchmal parallel ausgeführt werden können. Die Beziehungen zwischen dem Hauptauftrag und den untergeordneten Aufträgen sind nicht gut realisierbar, insbesondere für einen Auftrag der beendet wurde. Weiterhin ist es beispielsweise schwierig Zähler bezüglich der Anzahl an Objekten und Operationen, die der MapReduce-Auftrag verarbeitet, zu verfolgen und zuzuordnen, die als Kennzeichen für das Verhalten des Auftrags sowie zum Debugging des Auftrags verwendet werden, sowie Informationen über die Code-Version, die zum binären Aufbau des MapReduce-Auftrags verwendet wurde. Zusätzlich wird z. B. ein MapReduce-Auftrag im Rahmen eines großangelegten MapReduce-Datenverarbeitungssystems typischerweise regelmäßig durchgeführt, es ist jedoch schwierig, die relative Leistung des gleichen Auftrags im Laufe der Zeit zu betrachten, beispielsweise, wenn Änderungen im MapReduce-System im Rahmen eines Entwicklungsprozesses eingeführt werden. Darüber hinaus ist es schwierig Informationen über die Interaktion des MapReduce-Auftrags mit der verteilten Runtime-Umgebung zu erhalten. Implementierungen der vorliegenden Offenbarung ermöglichen jedoch die Überwindung jeder dieser Schwierigkeiten oder Herausforderungen und somit die Bereitstellung der entsprechenden Funktionalität für die Leistung und Diagnose eines großangelegten Datenverarbeitungssystems, wie unten genauer beschrieben ist.
  • Implementierungen der vorliegenden Offenbarung bieten eine Möglichkeit zur Erfassung und Zuordnung der relevanten Informationen bezüglich jedes der untergeordneten Aufträge, zur Ermittlung einer Beziehung zwischen den entsprechenden untergeordneten Aufträgen und dem Hauptauftrag, zur Ermittlung, wie unterschiedliche Aufträge im Verhältnis zueinander ausgeführt werden sowie zur Befähigung von Entwicklern zur Identifizierung, welche Phase oder Stufe in jedem Auftrag ausgeführt wird, selbst wenn die Daten auf unterschiedlichen Verarbeitungszonen gespeichert sind. Zusätzlich können Implementierungen der vorliegenden Offenbarung Daten mit Relevanzfür verschiedene Durchläufe der gleichen Pipeline erfassen und gruppieren, um verbesserte Diagnose- und Analysefähigkeiten bereitzustellen. Wie unten detaillierter beschrieben ist, können beispielsweise ein Fußabdruck oder ein Muster der Daten ermittelt werden, die mit dem verteilten Datenverarbeitungsauftrag verknüpft sind, der zur Identifizierung von untergeordneten Aufträgen verwendet werden könnte, die auf verschiedenen Verarbeitungszonen verknüpft mit dem Hauptauftrag gespeichert sind. Beispielsweise können ein Fußabdruck oder ein Muster ein gemeinsames Präfix umfassen, das mit dem Hauptauftrag verknüpfte untergeordnete Aufträge eindeutig identifiziert. Auf diese Weise können mit untergeordneten Aufträgen verknüpfte Daten identifiziert und einander sowie dem Hauptauftrag zugeordnet werden, und aus diesen Daten können Leistungsinformationen ermittelt werden.
  • 2 stellt ein Beispiel eines Systems 200 zur Analyse von Daten eines verteilten Datenverarbeitungssystems dar, das gemäß Implementierungen der vorliegenden Offenbarung ausgeführt werden kann. Als ein Beispiel einer verteilten Datenverarbeitung ist eine verarbeitende Pipeline 210 in 2 dargestellt. Die Pipeline 210 kann sowohl in einer Informationsdatenbank eines verteilten Datenverarbeitungsauftrags 220 als auch in einer Pipeline-Informationsdatenbank 230 Daten speichern oder mit diesen Datenbanken kommunizieren. Wie vorstehend beschrieben, können diese Datenbanken in Speichergeräten innerhalb der Verarbeitungszonen gespeichert werden. Zum Beispiel kann ein Teil der mit der Pipeline 210 verknüpften Daten in einer Verarbeitungszone gespeichert werden und ein anderer Teil in Verbindung mit der Pipeline 210 kann in einer anderen Verarbeitungszone gespeichert werden. Weiterhin kann jede dieser Datenportionen beispielsweise mit einem entsprechenden untergeordneten Auftrag der Pipeline 210 verknüpft werden.
  • Daten von sowohl der Informationsdatenbank des verteilten Datenverarbeitungsauftrags 220 als möglicherweise auch von der Pipeline-Informationsdatenbank 230 können über einen Datenprozessor 240 erreicht werden. Eine der Hauptfunktionen eines Datenprozessors 240 ist eine Pipeline zur Datenerfassung und Verarbeitung 250, die alle für die Pipeline relevanten Informationen erfasst und verarbeitet und diese Daten in die Verarbeitungsdatenbank 260 schreibt. Die Pipeline zur Datenerfassung und Verarbeitung 250 kann Informationen von einer Reihe von Quellen erfassen, einschließlich der Informationsdatenbank des verteilten Datenverarbeitungsauftrags 220 und der Pipeline-Informationsdatenbank 230, auf die über einen Datenprozessor 240 zugegriffen werden kann. Darüber hinaus kann die Pipeline zur Datenerfassung und Verarbeitung 250 Informationen von externen Diensten und der Verarbeitungsumgebung 280 erfassen. Die verarbeitende Benutzerschnittstelle (UI) 270 stellt Informationen zur Anzeige bereit aus den Daten, die von der Pipeline zur Datenerfassung und Verarbeitung 250 erfasst und verarbeitet werden und die in der Verarbeitungsdatenbank 260 gespeichert sind.
  • Die Pipeline der Verarbeitung 250 kann Informationen in Bezug aufjeden Auftrag aus mehreren Quellen erfassen, einschließlich von Protokolldateien, Protokolldatenbanken, Event-Logs und Runtime-Umgebungseinstellungen, die anschließend in der verarbeitenden UI 270 präsentiert werden können. Beispielsweise kann die Verarbeitungs-Pipeline 250 Informationen in einem vorbestimmten Zeitabstand erfassen. Die Informationen, die durch die Verarbeitungs-Pipeline 250 identifiziert und erfasst werden, können in einer Verarbeitungsdatenbank 260 gespeichert werden. Die Daten können auch optimiert werden für eine Kombination mit anderen Daten, bevor oder nachdem diese gespeichert werden, um eine effektivere Datenverarbeitung für eine Präsentation in der verarbeitenden UI 270 zu ermöglichen.
  • Einige Beispiele der Arten an Informationen, die die Verarbeitungs-Pipeline 250 erfassen könnte, sind unter anderem: die Laufzeit von jedem Auftrag; die Speicherauslastung, CPU-Zeit und Festplattenauslastung für jede Durchführung eines Auftrags; Informationen bezüglich jeder Phase oder Stufe eines Auftrags für jede Durchführung des Auftrags; die verstrichene Zeit für jede Phase oder Stufe zusammen mit der Speicherauslastung, CPU-Zeit und Festplattenauslastung für jede Stufe oder Phase; eine „über-/untergeordnete“ Beziehung zwischen dem Hauptauftrag und den untergeordneten Aufträgen oder Stufen, die von den Protokolldateien oder Protokolldatenbanken erfasst und rekonstruiert werden können, in die das System die Protokollierung-Informationen schreibt; jegliche Zählerinformationen, die in jeder Phase oder Stufe protokolliert werden, die aus Protokolldateien oder Datenbanken oder von einer anderen Datenbank erfasst werden können, in der die Zählerinformationen aufgrund deren großen Volumens gespeichert werden können.
  • Die verarbeitende UI 270 kann für die Anzeige der Leistungsinformationen, die von der Verarbeitungs-Pipeline 250 ermittelt wurden, so strukturiert werden, dass der Benutzer eine selektive Ansicht der verschiedenen Detailebenen für die mit dem Auftrag verknüpften Informationen erhält. Beispielsweise kann die verarbeitende UI 270 eine Informationshierarchie umfassen, sodass ein Benutzer selektiv Informationen einer höheren Ebene über das System oder den Auftrag einsehen und eine Auswahl zur Ansicht detaillierterer Informationen über das System oder den Auftrag oder über einen Teil des Systems oder Auftrags treffen kann. Diese interaktive Hierarchie der anzuzeigenden Informationen ist weiter im Detail mit Verweis auf 3 beschrieben, und zeigt ein Beispiel einer verarbeitenden UI, die vorstehend beschrieben worden ist.
  • 3 zeigt ein Beispiel einer verarbeitenden UI 300 gemäß Implementierungen der vorliegenden Offenbarung. Die verarbeitende UI 300 kann beispielsweise eine Dashboard-UI 305 beinhalten. Die Dashboard-UI 305 kann eine interaktive Hierarchie der Informationsebenen beinhalten, die es einem Benutzer erlauben, die Detailinformationen eines Auftrags selektiv zu durchsuchen. Diese verarbeitende UI 300 ermöglicht einem Benutzer eine einfachere Beobachtung des Status aller Durchläufe eines bestimmten Auftrags, den Vergleich verschiedener Durchläufe, den Vergleich verschiedener Aufträge und Ähnliches, sowie jede Kombination daraus.
  • Zum Beispiel kann die UI der ersten Ebene 310 alle spezifischen Aufträge anzeigen, die mit dem Benutzer verknüpft sind oder die der Benutzer zur Anzeige ausgewählt hat. Die UI der ersten Ebene 310 kann auch die allumfassende Anzahl an Aufträgen anzeigen, die in einem vorgegebenen Zeitraum bestanden oder nicht bestanden wurden. Weiterhin kann die UI der ersten Ebene beispielsweise eine Anzahl an Ausführungen nach Status sowie eine Gesamtdauer nach Arbeitsablauf anzeigen. Im Rahmen der verarbeitenden UI300 kann ein Benutzer jeden entsprechenden Auftrag auswählen, was zur Bereitstellung einer Anzeige der Informationen der nächsten Ebene, der UI der zweiten Ebene 320, führen kann.
  • Die UI der zweiten Ebene 320 kann historische Daten in Bezug auf die verstrichene Zeit und die verbrauchten Ressourcen nach Durchläufen eines bestimmten Auftrags oder für einen bestimmten Zeitrahmen anzeigen. Die UI der zweiten Ebene 320 kann auch eine Reihe der folgenden Leistungskennzahlen anzeigen: Durchlaufdauer der Pipeline, CPU-Nutzungsdauer der Pipeline, Pipeline-Speicherauslastung, Pipeline-Festplattenauslastung, Instanzen oder Mengen an Pipeline-Durchläufen, Phasendauer nach Durchlauf, eine Liste der „n“ längsten, durchschnittlichen Phasendauern sowie eine Liste der Phasendauer nach Name. Weiterhin kann der Benutzer zum Beispiel während der Präsentation eine Liste der Instanzen vergangener Auftragsdurchläufe in der UI der zweiten Ebene 320 eine dieser Instanzen auswählen, sodass die nächste Ebene an Informationen, die UI der dritten Ebene 330, angezeigt werden.
  • Die UI der dritten Ebene 330 kann Informationen in Bezug auf eine spezielle Durchlaufinstanz eines Auftrags anzeigen. Die UI der dritten Ebene 330 könnte beispielsweise Informationen in Bezug auf die Laufzeit, CPU-Nutzungsdauer, Speicherauslastung und Festplattenauslastung für jede Phase eines Auftrags anzeigen, sowie die binär aufgebaute Version für den Auftrag. Die UI der dritten Ebene 330 kann auch die Pipeline-Zustände, einen Startpunkt und eine Dauer der Pipeline, Phasen der Pipeline sowie die mit der Instanz des Auftrags verknüpften Zählerwerte anzeigen. Darüber hinaus kann eine Zeitachse des Starts und Stopps einer jeden Phase in der UI der dritten Ebene 330 angezeigt werden.
  • Als weitere Funktion der UI der zweiten Ebene 320 kann ein Benutzer zwei verschiedene Durchläufe aus der Anzeige auswählen und diese Durchläufe miteinander vergleichen. Diese Auswahl kann beispielsweise die Anzeige einer Vergleichs-UI veranlassen, in der Informationen in Bezug auf die zwei ausgewählten Durchläufe für einen einfacheren Vergleich nebeneinander angezeigt werden. Die Vergleichs-UI kann Teil der UI der zweiten Ebene 320 sein oder aber eine separate UI, die innerhalb der verarbeitenden UI 300 angezeigt wird.
  • 4 zeigt ein Flussdiagramm eines Beispiels eines Prozesses 400 zur Analyse von Daten in einem verteilten Datenverarbeitungssystem gemäß Implementierungen der vorliegenden Offenbarung. Obwohl Prozess 400 mit den Schritten in einer bestimmten Reihenfolge dargestellt und beschrieben ist, können einer oder mehrere dieser Schritte in einer alternativen Reihenfolge als dargestellt und beschrieben durchgeführt werden.
  • Sobald ein großangelegter Datenverarbeitungsauftrag abgeschlossen ist, können mit dem Auftrag in verschiedenen Verarbeitungszonen verknüpfte Informationen gespeichert werden und somit schwer zu identifizieren, abzufragen und zu analysieren sein. Gemäß Implementierungen der vorliegenden Offenbarung, kann in 410 auf Daten zugegriffen werden, die in einem oder mehreren Speichergeräten in einer ersten Verarbeitungszone gespeichert sind. Die Daten, auf die in 410 zugegriffen wird, können mit einem bestimmten verteilten Datenverarbeitungsauftrag verknüpft sein, der ausgeführt worden ist.
  • In 420 können die identifizierenden Informationen, die einen bestimmten, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften, untergeordneten Auftrag identifizieren, aus den Daten ermittelt werden, die in einem Speichergerät in der ersten Verarbeitungszone gespeichert sind. Die identifizierenden Informationen können ein Muster beinhalten, das einen untergeordneten Auftrag in Verbindung mit dem bestimmten, verteilten Datenverarbeitungsauftrag eindeutig identifiziert. Das Muster könnte beispielsweise ein gemeinsames Präfix sein, das in den Daten identifiziert wird, und das identisch zu anderen untergeordneten Aufträgen in Verbindung mit dem bestimmten, verteilten Datenverarbeitungsauftrag ist.
  • Als Reaktion auf die Ermittlung der identifizierenden Informationen, die einen bestimmten, mit einem bestimmten verteilten, Datenverarbeitungsauftrag verknüpften, untergeordneten Auftrag identifizieren, können die identifizierenden Informationen in 430 mit Daten verglichen werden, die in einem Speichergerät in einer zweiten Verarbeitungszone gespeichert sind. Wie die erste Verarbeitungszone, kann die zweite Verarbeitungszone ein oder mehrere Speichergeräte beinhalten, auf denen mit einem oder mehreren untergeordneten Aufträgen verknüpfte Daten gespeichert werden. In 440 kann ein zusätzlicher untergeordneter Auftrag als zugehörig zu einem bestimmten, verteilten Datenverarbeitungsauftrag identifiziert werden, basierend auf einem Ergebnis des Vergleichs zwischen den identifizierenden Informationen, die einen bestimmten untergeordneten Auftrag als zugehörig zu dem bestimmten, verteilten Datenverarbeitungsauftrag identifizieren sowie Daten, die in dem Speichergerät in der zweiten Verarbeitungszone gespeichert sind.
  • In 450 können bestimmte, mit dem bestimmten untergeordneten Auftrag verknüpfte Ausgabedaten den zusätzlichen, mit dem bestimmten untergeordneten Auftrag verknüpfte Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag zugeordnet werden. Beispielsweise können eine oder mehrere Beziehungen zwischen untergeordneten Aufträgen und entsprechenden Beziehungen zwischen dem untergeordneten Auftrag und dem Hauptauftrag ermittelt werden.
  • Weiterhin können in 460 Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag bestimmt werden, basierend auf den bestimmten, mit dem bestimmten Auftrag verknüpften Ausgabedaten sowie zusätzlichen mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten. Die Leistungsdaten können Folgendes umfassen: eine Laufzeit, Speicherauslastung, CPU-Zeit, Festplattenauslastung, eine Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten, verteilten Datenverarbeitungsauftrag, einen oder mehrere Zähler in Verbindung mit dem bestimmten, verteilten Datenverarbeitungsauftrag, einen Verarbeitungsstatus oder Ähnliches sowie eine Kombination daraus.
  • Sobald die Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag bestimmt wurden, können diese Leistungsdaten in 470 zur Anzeige bereitgestellt werden, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten sowie den zusätzlichen mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten. Beispielsweise können verschiedene Leistungsinformationen und Kennzahlen aus den erfassten Daten berechnet werden und können in einer interaktiven UI angezeigt werden. Weiterhin können Leistungsdaten zum Beispiel für den bestimmten, verteilten Datenverarbeitungsauftrag mit einem Leistungsgrenzwert verglichen werden; und eine Benachrichtigung kann basierend auf einem Ergebnis des Leistungsdatenvergleichs des bestimmten, verteilten Datenverarbeitungsauftrags mit dem Leistungsgrenzwert bereitgestellt werden. Die Benachrichtigung kann beispielsweise einen akustischen Alarm, einen taktilen Alarm, einen visuellen Alarm, eine elektronische Nachricht oder Ähnliches sowie eine Kombination daraus beinhalten.
  • In bestimmten Implementierungen kann die Benachrichtigung zur automatischen Anpassung von mindestens einem der folgenden Elemente verwendet werden: die Laufzeit, die Speicherauslastung, die CPU-Zeit, die Festplattenauslastung, die Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten Datenverarbeitungsauftrag, dem einen oder den mehreren Zählern, verknüpft mit dem bestimmten, verteilten Datenverarbeitungsauftrag, der Leistungskennzahlen und/oder dem Verarbeitungsstatus, die in Abhängigkeit mit der Benachrichtigung geändert werden, insbesondere durch ein Signal an einen Datenprozessor. Zusätzlich oder alternativ dazu kann die Änderung auf die Abhängigkeit des Ergebnisses des Vergleichs, der auf den Leistungsgrenzwert Bezug nimmt, zurückzuführen sein.
  • Wie oben beschrieben, können die Leistungsdaten, die in 270 zur Anzeige bereitgestellt werden, über eine UI bereitgestellt werden, die eine Anzeige der Leistungsdaten beinhaltet. Die UI kann eine interaktive hierarchische Struktur beinhalten. Auf diese Weise kann die UI selektiv die Anzeige verschiedener Detailebenen oder Informationen in Bezug auf verschiedene Aufträge, verschiedene Durchführungen einer Pipeline, verschiedene untergeordnete Aufträge oder Ähnliches basierend auf der Auswahl eines Benutzers anzeigen. Wie oben mit Verweis auf 3 beschrieben, kann die UI beispielsweise verschiedene hierarchische Ebenen zur Anzeige beinhalten, mit denen ein Benutzer interagieren kann und die selektiv, basierend auf der Art von Informationen, die ein Benutzer wünscht, angezeigt werden können.
  • In Implementierungen der vorliegenden Offenbarung kann der bestimmte, verteilte Datenverarbeitungsauftrag einer bestimmten Pipeline der verteilten Datenverarbeitung zugeordnet werden. Somit kann die Zuordnung bestimmter, mit dem bestimmten untergeordneten Auftrag verknüpfter Ausgabedaten zu zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpfter Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag beispielsweise die Zuordnung des bestimmten untergeordneten Auftrags zu dem zusätzlichen untergeordneten Auftrag mit der bestimmten Pipeline beinhalten. Weiterhin können die Leistungsdaten der Pipeline beispielsweise für einen ersten Durchlauf der bestimmten Pipeline ermittelt werden und die Leistungsdaten der Pipeline können für einen zweiten Durchlauf der bestimmten Pipeline bestimmt werden.
  • Somit kann ein Vergleich zwischen verschiedenen Durchläufen einer bestimmten Pipeline erstellt werden und die Leistungsdaten können auf der UI bereitgestellt werden, sodass die verschiedenen Durchläufe der bestimmten Pipeline nebeneinander verglichen werden können. Dementsprechend kann ein Benutzer Unstimmigkeiten, Latenzen, Unterschiede im Ressourcenverbrauch oder Ähnliches, sowie jede Kombination daraus leichter identifizieren. Die Identifizierung der Beziehung zwischen verschiedenen Durchläufen der gleichen Pipeline ermöglicht eine Vergleichserstellung, die eine effektivere Diagnose von Problemen der verteilten Datenverarbeitungs-Pipeline ermöglicht.
  • Somit erzielen Implementierungen der vorliegenden Offenbarung technische Vorteile, wie die Identifizierung von Daten untergeordneter Aufträge in Bezug auf einen Hauptauftrag, wenn die Daten des untergeordneten Auftrags in den Verarbeitungszonen gespeichert sind; eine automatisierte Erfassung und Zuordnung der Daten eines untergeordneten Auftrags, der in den Verarbeitungszonen gespeichert ist; eine wirksamere und schnellere Verarbeitung für die Erfassung und Zuordnung von Leistungsdaten; automatische Benachrichtigungen oder Warnungen in Bezug auf die Leistungskennzahlen eines Auftrags; und eine Analyse und Diagnose der Auftragsleistung, einschließlich einer intuitiven Benutzerschnittstelle. Weiterhin umfassen bestimmte Vorteile und technische Wirkungen der Implementierungen der vorliegenden Offenbarung eine interaktive UI, mit der ein Benutzer den Status aller Auftragsdurchläufe beobachten kann; die Fähigkeit zum Vergleich zweier Auftragsdurchläufe nebeneinander, für eine vereinfachte Untersuchung der möglichen Grundursachen und jeglicher Leistungsabfälle im Auftrag; die automatische Identifizierung eines Auftrags, dessen Leistung über die Zeit abnimmt; und die Identifizierung von Phasen innerhalb eines Auftrags, die am meisten Zeit in Anspruch nehmen oder die meisten Computerressourcen verbrauchen. Somit können Mängel oder Probleme in einem verteilten Datenverarbeitungsauftrag einfacher und schneller diagnostiziert und korrigiert werden, wodurch die Verarbeitungszeit reduziert und die Leistung des verteilten Datenverarbeitungssystems verbessert wird.
  • Es wurde eine Anzahl von Implementierungen beschrieben. Trotzdem versteht es sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Zum Beispiel können verschiedene Formen der vorstehend dargestellten Abläufe verwendet und Schritte neu geordnet, hinzugefügt oder entfernt werden.
  • Implementierungen der Erfindung und alle in dieser Spezifikation beschriebenen Funktionsvorgänge können in digitalen elektronischen Schaltungen oder in Computersoftware, -Firmware oder -Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden. Implementierungen der Erfindung können als ein oder mehrere Computerprogrammprodukte implementiert werden, d. h. als ein oder mehrere Module von Computerprogrammbefehlen, die auf einem computerlesbaren Medium zur Ausführung codiert sind, oder um den Betrieb von Datenverarbeitungsvorrichtungen zu steuern. Das computerlesbare Medium kann ein maschinenlesbares Datenspeichergerät, ein maschinenlesbares Speichersubstrat, ein Arbeitsspeicher, eine Stoffzusammensetzung, die ein maschinenlesbares verbreitetes Signal bewirkt, oder eine Kombination aus einem oder mehreren derselben sein.
  • Der Begriff „Datenverarbeitungsvorrichtung“ umfasst alle Vorrichtungen, Geräte und Maschinen zum Verarbeiten von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers oder mehrerer Prozessoren oder Computer. Die Vorrichtung kann neben der Hardware auch einen Code beinhalten, der eine Ausführungsumgebung für das betreffende Computerprogramm bildet, z. B. einen Code, der Prozessor-Firmware, einen Protokollstapel, ein Datenbank-Managementsystem, ein Betriebssystem oder eine Kombination einer oder mehrerer der genannten darstellt. Ein propagiertes Signal ist ein künstlich erzeugtes Signal, wie z. B. ein maschinengeneriertes elektrisches, optisches oder elektromagnetisches Signal, das erzeugt wird, um Informationen für die Übertragung zu einer geeigneten Empfangsvorrichtung zu codieren.
  • Während diese Offenbarung viele Details enthält, sollten diese nicht als Begrenzungen bezüglich des Umfangs der Erfindung oder dessen ausgelegt werden, was beansprucht werden kann, sondern vielmehr als Beschreibungen von Merkmalen, die spezifisch für bestimmte Implementierungen der Erfindung sind. Bestimmte Merkmale, die in dieser Spezifikation im Zusammenhang mit separaten Implementierungen beschrieben werden, können darüber hinaus in Kombination in einer einzelnen Implementierung implementiert werden. Umgekehrt können verschiedene Merkmale, die im Kontext einer einzelnen Implementierung beschrieben sind, auch in mehreren Implementierungen getrennt oder in einer geeigneten Teilkombination implementiert werden. Außerdem können, auch wenn die Merkmale vorstehend ggf. als in bestimmten Kombinationen wirkend beschrieben und zunächst auch als solche beansprucht werden, in einigen Fällen ein oder mehrere Merkmale einer beanspruchten Kombination aus der Kombination herausgenommen und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
  • Gleichermaßen soll dies, obwohl die Abläufe in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, nicht so verstanden werden, dass die besagten Abläufe in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen bzw. alle dargestellten Abläufe durchgeführt werden müssen, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den vorstehend beschriebenen Implementierungen nicht als in allen Implementierungen erforderlich ausgelegt werden, zudem sollte davon ausgegangen werden, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzelnen Software-Produkt oder in mehreren Software-Produkten gebündelt integriert sein können.
  • Somit wurden bestimmte Implementierungen der vorliegenden Offenbarung beschrieben. Andere Implementierungen fallen in den Umfang der folgenden Ansprüche. Die in den Ansprüchen ausgeführten Handlungen können beispielsweise in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Es wurde eine Anzahl von Implementierungen beschrieben. Trotzdem versteht es sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Sinn und Umfang der Offenbarung abzuweichen. Zum Beispiel können verschiedene Formen der vorstehend dargestellten Abläufe verwendet und Schritte neu geordnet, hinzugefügt oder entfernt werden. Dementsprechend liegen andere Implementierungen im Geltungsbereich der folgenden Ansprüche.

Claims (23)

  1. Computerprogrammprodukt, beinhaltend Anweisungen, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, ein computerimplementiertes Verfahren zur Datenanalyse in einem verteilten Computersystem durchzuführen, wobei das Verfahren Folgendes umfasst: Zugriff auf Daten, die in einem Speichergerät einer ersten Verarbeitungszone gespeichert sind, die mit einem bestimmten, verteilten Datenverarbeitungsauftrag verknüpft sind, der ausgeführt worden ist; Ermittlung identifizierender Informationen aus den auf dem Speichergerät gespeicherten Daten, die einen bestimmten, mit dem bestimmten verteilten, Datenverarbeitungsauftrag verknüpften untergeordneten Auftrag identifizieren; Vergleich der identifizierenden Informationen mit den auf einem Speichergerät einer zweiten Verarbeitungszone gespeicherten Daten als Reaktion auf die Ermittlung der identifizierenden Informationen, die einen bestimmten untergeordneten, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften Auftrag identifizieren; Identifizierung eines zusätzlichen untergeordneten Auftrags als zugehörig zu dem bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf einem Ergebnis des Vergleichs der identifizierenden Informationen mit Daten, die in dem Speichergerät in der zweiten Verarbeitungszone gespeichert sind; Zuordnung bestimmter, mit dem bestimmten untergeordneten verknüpfter Ausgabedaten zu zusätzlichen mit dem zusätzlichen untergeordneten Auftrag verknüpfter Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag; Ermittlung der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten; und Bereitstellung, zur Anzeige, der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem bestimmten zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten.
  2. Computerprogrammprodukt nach Anspruch 1, wobei das Verfahren ferner Folgendes umfasst: Vergleich der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag mit einem Leistungsgrenzwert; und Bereitstellung einer Benachrichtigung basierend auf einem Ergebnis des Leistungsdatenvergleichs für den bestimmten, verteilten Datenverarbeitungsauftrag mit dem Leistungsgrenzwert.
  3. Computerprogrammprodukt nach Anspruch 2, wobei die Benachrichtigung eines oder mehrere der folgenden Elemente beinhaltet: ein akustischer Alarm, ein taktiler Alarm, ein visueller Alarm oder eine elektronische Nachricht.
  4. Computerprogrammprodukt nach mindestens einem der Ansprüche 1 bis 3, wobei die Leistungsdaten eines oder mehrere der folgenden Elemente beinhalten: eine Laufzeit, Speicherauslastung, CPU-Zeit, Festplattenauslastung, eine Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten, verteilten Datenverarbeitungsauftrag, einen oder mehrere, mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpfte Zähler, oder einen Verarbeitungsstatus.
  5. Computerprogrammprodukt nach mindestens einem der Ansprüche 2 bis 4, wobei die Laufzeit, die Speicherauslastungen, die CPU, die Zeit der Festplattenauslastung, die Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten Datenverarbeitungsauftrag, der eine oder die mehreren mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpfte Zähler, die Leistungskennzahlen und/oder der Verarbeitungsstatus in Abhängigkeit mit der Benachrichtigung geändert werden, insbesondere durch ein Signal an einen Datenprozessor und/oder in Abhängigkeit von dem Ergebnis des den Leistungsgrenzwert betreffenden Vergleichs.
  6. Computerprogrammprodukt nach mindestens einem der Ansprüche 1 bis 5, wobei das Verfahren ferner umfasst: Anzeige einer Benutzerschnittstelle, die die Anzeige von Leistungsdaten beinhaltet, wobei die Benutzerschnittstelle eine interaktive hierarchische Struktur umfasst.
  7. Computerprogrammprodukt nach mindestens einem der Ansprüche 1 bis 6, wobei die identifizierenden Informationen ein gemeinsames Präfix umfassen, das in den Daten identifiziert wird.
  8. Computerprogrammprodukt nach mindestens einem der Ansprüche 1 bis 7, wobei der bestimmte, verteilte Datenverarbeitungsauftrag mit einer bestimmten Pipeline verknüpft ist; wobei die Zuordnung bestimmter, mit dem bestimmten untergeordneten Auftrag verknüpfter Ausgabedaten zu zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpfter Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag die Zuordnung des bestimmten untergeordneten Auftrags zu dem zusätzlichen untergeordneten Auftrag mit der bestimmten Pipeline umfasst. Verfahren, ferner umfassend: Ermittlung der Pipeline-Leistungsdaten für einen ersten Durchlauf der bestimmten Pipeline; und Ermittlung der Pipeline-Leistungsdaten für einen zweiten Durchlauf der bestimmten Pipeline.
  9. System, welches das Folgende umfasst: einen oder mehrere Prozessor(en); und einen Speicher mit ausführbaren Anweisungen, die bei der Ausführung veranlassen, dass der eine oder die mehreren Prozessoren Operationen ausführen, die Folgendes umfassen: Zugriff auf Daten, die in einem Speichergerät einer ersten Verarbeitungszone gespeichert sind, die mit einem bestimmten, verteilten Datenverarbeitungsauftrag verknüpft sind, der ausgeführt worden ist; Ermittlung identifizierender Informationen aus den auf dem Speichergerät gespeicherten Daten, die einen bestimmten untergeordneten, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften Auftrag identifizieren; Vergleich der identifizierenden Informationen mit den auf einem Speichergerät einer zweiten Verarbeitungszone gespeicherten Daten als Reaktion auf die Ermittlung der identifizierenden Informationen, die einen bestimmten untergeordneten, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften Auftrag identifizieren; Identifizierung eines zusätzlichen untergeordneten Auftrags als zugehörig zu dem bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf einem Ergebnis des Vergleichs der identifizierenden Informationen mit Daten, die in dem Speichergerät in der zweiten Verarbeitungszone gespeichert sind; Zuordnung bestimmter, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten zu zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten für den bestimmten, verteilten Datenverarbe itungsauftrag; Ermittlung der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten ; und Bereitstellung, zur Anzeige, der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten .
  10. System nach Anspruch 9, wobei die Operationen ferner umfassen: Vergleich der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag mit einem Leistungsgrenzwert; und Bereitstellung einer Benachrichtigung, basierend auf einem Ergebnis des Leistungsdatenvergleichs für den bestimmten, verteilten Datenverarbeitungsauftrag mit dem Leistungsgrenzwert.
  11. System nach Anspruch 10, wobei die Benachrichtigung eines oder mehrere der folgenden Elemente umfasst: ein akustischer Alarm, ein taktiler Alarm, ein visueller Alarm oder eine elektronische Nachricht.
  12. System nach Anspruch 9, wobei die Leistungsdaten eines oder mehrere der folgenden Elemente umfassen: eine Laufzeit, Speicherauslastung, CPU-Zeit, Festplattenauslastung, eine Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten, verteilten Datenverarbeitungsauftrag, einen oder mehrere Zähler in Verbindung mit dem bestimmten, verteilten Datenverarbeitungsauftrag, oder einen Verarbeitungsstatus.
  13. System nach Anspruch 12, wobei die Laufzeit, die Speicherauslastung, die CPU, Zeit der Festplattenauslastung, die Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten Datenverarbeitungsauftrag, der eine oder die mehreren mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpften Zähler, die Leistungskennzahlen und/oder der Verarbeitungsstatus in Abhängigkeit von einer Benachrichtigung geändert werden, insbesondere eines Signals an einen oder mehrere Datenprozessoren und/oder in Abhängigkeit von dem Ergebnis des den Leistungsgrenzwert betreffenden Vergleichs.
  14. System nach mindestens einem der Ansprüche 9 bis 13c9, wobei die Operationen ferner umfassen: Anzeige einer Benutzerschnittstelle, die die Anzeige von Leistungsdaten beinhaltet, wobei die Benutzerschnittstelle eine interaktive hierarchische Struktur umfasst.
  15. System nach mindestens einem der Ansprüche 9 bis 1498, wobei die identifizierenden Informationen ein gemeinsames Präfix umfassen, das in den Daten identifiziert wird.
  16. System nach Anspruch 9, wobei der bestimmte, verteilte Datenverarbeitungsauftrag mit einer bestimmten Pipeline verknüpft ist; wobei die Zuordnung bestimmter, mit dem bestimmten untergeordneten Auftrag verknüpfter Ausgabedaten zu zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpfter Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag die Zuordnung des bestimmten untergeordneten Auftrags zu dem zusätzlichen untergeordneten Auftrag mit der bestimmten Pipeline umfasst. wobei die Operationen ferner umfassen: Ermittlung der Pipeline-Leistungsdaten für einen ersten Durchlauf der bestimmten Pipeline; und Ermittlung der Pipeline-Leistungsdaten für einen zweiten Durchlauf der bestimmten Pipeline.
  17. Computerlesbares Speichergerät, welches Anweisungen speichert, die durch einen oder mehrere Prozessoren ausführbar sind, die bei einer solchen Ausführung den einen oder die mehreren Prozessoren zum Ausführen von Operationen in einem verteilten Computersystem veranlassen, die Operationen umfassend: Zugriff auf Daten, die in einem Speichergerät einer ersten Verarbeitungszone gespeichert sind, die mit einem bestimmten, verteilten Datenverarbeitungsauftrag verknüpft sind, der ausgeführt worden ist; Ermittlung identifizierender Informationen aus den auf dem Speichergerät gespeicherten Daten, die einen bestimmten untergeordneten, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften Auftrag identifizieren; Vergleich der identifizierenden Informationen mit den auf einem Speichergerät einer zweiten Verarbeitungszone gespeicherten Daten als Reaktion auf die Ermittlung der identifizierenden Informationen, die einen bestimmten untergeordneten, mit dem bestimmten verteilten Datenverarbeitungsauftrag verknüpften Auftrag identifizieren; Identifizierung eines zusätzlichen untergeordneten Auftrags als zugehörig zu dem bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf einem Ergebnis des Vergleichs der identifizierenden Informationen mit Daten, die in dem Speichergerät in der zweiten Verarbeitungszone gespeichert sind; Zuordnung bestimmter, mit dem bestimmten untergeordneten Auftrag verknüpfter Ausgabedaten zu zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten für den bestimmten, verteilten Datenverarbe itungsauftrag; Ermittlung der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten ; und Bereitstellung, zur Anzeige, der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag, basierend auf den bestimmten, mit dem bestimmten untergeordneten Auftrag verknüpften Ausgabedaten und den zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpften Ausgabedaten.
  18. Computerlesbares Speichergerät nach Anspruch 17, wobei die Operationen ferner umfassen: Vergleich der Leistungsdaten für den bestimmten, verteilten Datenverarbeitungsauftrag mit einem Leistungsgrenzwert; und Bereitstellung einer Benachrichtigung basierend auf einem Ergebnis des Leistungsdatenvergleichs für den bestimmten, verteilten Datenverarbeitungsauftrag mit dem Leistungsgrenzwert.
  19. Computerlesbares Speichergerät nach Anspruch 18, wobei die Benachrichtigung eines oder mehrere der folgenden Elemente umfasst: ein akustischer Alarm, ein taktiler Alarm, ein visueller Alarm oder eine elektronische Nachricht.
  20. Computerlesbares Speichergerät nach Anspruch 117, wobei die Leistungsdaten eines oder mehrere der folgenden Elemente umfassen: eine Laufzeit, Speicherauslastung, CPU-Zeit, Festplattenauslastung, eine Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten, verteilten Datenverarbeitungsauftrag, ein oder mehrere mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpfte Zähler, oder ein Verarbeitungsstatus.
  21. Computerlesbares Speichergerät nach Anspruch 20, wobei die Laufzeit, die Speicherauslastung, die CPU, Zeit der Festplattenauslastung, die Beziehung zwischen jedem untergeordneten Auftrag und dem bestimmten Datenverarbeitungsauftrag, der eine oder die mehreren mit dem bestimmten, verteilten Datenverarbeitungsauftrag verknüpften Zähler, die Leistungskennzahlen und/oder der Verarbeitungsstatus in Abhängigkeit von einer Benachrichtigung geändert werden, insbesondere durch ein Signal an einen Datenprozessor und/oder in Abhängigkeit von dem Ergebnis des den Leistungsgrenzwert betreffenden Vergleichs.
  22. Computerlesbares Speichergerät nach mindestens einem der Ansprüche 17 bis 21, ferner umfassend: Anzeige einer Benutzerschnittstelle, die die Anzeige von Leistungsdaten beinhaltet, wobei die Benutzerschnittstelle eine interaktive hierarchische Struktur umfasst.
  23. Computerlesbares Speichergerät nach mindestens einem der Ansprüche 17 bis 22, wobei der bestimmte, verteilte Datenverarbeitungsauftrag mit einer bestimmten Pipeline verknüpft ist; wobei die Zuordnung bestimmter, mit dem bestimmten untergeordneten Auftrag verknüpfter Ausgabedaten zu zusätzlichen, mit dem zusätzlichen untergeordneten Auftrag verknüpfter Ausgabedaten für den bestimmten, verteilten Datenverarbeitungsauftrag die Zuordnung des bestimmten untergeordneten Auftrags zu dem zusätzlichen untergeordneten Auftrag mit der bestimmten Pipeline umfasst. wobei die Operationen ferner umfassen: Ermittlung der Pipeline-Leistungsdaten für einen ersten Durchlauf der bestimmten Pipeline; und Ermittlung der Pipeline-Leistungsdaten für einen zweiten Durchlauf der bestimmten Pipeline.
DE202017106569.3U 2017-02-14 2017-10-30 Analyse grossangelegter Datenverarbeitungsaufträge Active DE202017106569U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/432,375 2017-02-14
US15/432,375 US10514993B2 (en) 2017-02-14 2017-02-14 Analyzing large-scale data processing jobs

Publications (1)

Publication Number Publication Date
DE202017106569U1 true DE202017106569U1 (de) 2018-05-15

Family

ID=60269923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017106569.3U Active DE202017106569U1 (de) 2017-02-14 2017-10-30 Analyse grossangelegter Datenverarbeitungsaufträge

Country Status (5)

Country Link
US (4) US10514993B2 (de)
EP (4) EP3583503B1 (de)
CN (2) CN116089482A (de)
DE (1) DE202017106569U1 (de)
WO (1) WO2018151767A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590620B1 (en) * 2004-06-18 2009-09-15 Google Inc. System and method for analyzing data records
US10514993B2 (en) 2017-02-14 2019-12-24 Google Llc Analyzing large-scale data processing jobs
US11012317B2 (en) * 2017-08-18 2021-05-18 Salesforce.Com, Inc. Visualization for monitoring infrastructure entities
US20190042308A1 (en) * 2018-08-31 2019-02-07 Intel Corporation Technologies for providing efficient scheduling of functions
US11880360B2 (en) * 2021-03-23 2024-01-23 Opsera Inc. Transforming data in DevOps landscape
US20230418792A1 (en) * 2022-06-28 2023-12-28 Hewlett Packard Enterprise Development Lp Method to track and clone data artifacts associated with distributed data processing pipelines

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001234628A1 (en) * 2000-01-28 2001-08-07 Ibeam Broadcasting Corporation Method and system for real-time distributed data mining and analysis for networks
US7237243B2 (en) * 2001-06-11 2007-06-26 Microsoft Corporation Multiple device management method and system
US7093259B2 (en) * 2001-12-20 2006-08-15 Cadence Design Systems, Inc. Hierarchically structured logging for computer work processing
US7076397B2 (en) 2002-10-17 2006-07-11 Bmc Software, Inc. System and method for statistical performance monitoring
US7246159B2 (en) 2002-11-01 2007-07-17 Fidelia Technology, Inc Distributed data gathering and storage for use in a fault and performance monitoring system
US20050071842A1 (en) * 2003-08-04 2005-03-31 Totaletl, Inc. Method and system for managing data using parallel processing in a clustered network
KR100922141B1 (ko) * 2003-09-15 2009-10-19 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링 방법 및 시스템
JP4168281B2 (ja) * 2004-09-16 2008-10-22 日本電気株式会社 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム
US8108878B1 (en) * 2004-12-08 2012-01-31 Cadence Design Systems, Inc. Method and apparatus for detecting indeterminate dependencies in a distributed computing environment
JP4611830B2 (ja) * 2005-07-22 2011-01-12 優 喜連川 データベース管理システム及び方法
US8327286B2 (en) * 2008-03-13 2012-12-04 Microsoft Corporation Unifying application launchers and switchers
US8869165B2 (en) * 2008-03-20 2014-10-21 International Business Machines Corporation Integrating flow orchestration and scheduling of jobs and data activities for a batch of workflows over multiple domains subject to constraints
US20110119680A1 (en) * 2009-11-16 2011-05-19 Yahoo! Inc. Policy-driven schema and system for managing data system pipelines in multi-tenant model
JP2013524386A (ja) * 2010-04-13 2013-06-17 イーティー インターナショナル,インコーポレイティド ランスペース方法、システムおよび装置
US20110276966A1 (en) * 2010-05-06 2011-11-10 Arm Limited Managing task dependency within a data processing system
US9172608B2 (en) * 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9367601B2 (en) 2012-03-26 2016-06-14 Duke University Cost-based optimization of configuration parameters and cluster sizing for hadoop
US9836711B2 (en) * 2012-05-17 2017-12-05 Hitachi, Ltd. Job execution system, job execution program, and job execution method
US9235446B2 (en) 2012-06-22 2016-01-12 Microsoft Technology Licensing, Llc Parallel computing execution plan optimization
US9413849B2 (en) * 2013-12-05 2016-08-09 International Business Machines Corporation Distributing an executable job load file to compute nodes in a parallel computer
US10372492B2 (en) * 2013-12-11 2019-08-06 Dropbox, Inc. Job-processing systems and methods with inferred dependencies between jobs
US10310903B2 (en) * 2014-01-17 2019-06-04 Red Hat, Inc. Resilient scheduling of broker jobs for asynchronous tasks in a multi-tenant platform-as-a-service (PaaS) system
US9424160B2 (en) 2014-03-18 2016-08-23 International Business Machines Corporation Detection of data flow bottlenecks and disruptions based on operator timing profiles in a parallel processing environment
EP3132352B1 (de) * 2014-04-17 2018-09-12 AB Initio Technology LLC Integrierte überwachung und kontrolle eines verarbeitungsumfeldes
US9965336B2 (en) * 2014-04-30 2018-05-08 International Business Machines Corporation Delegating iterative storage unit access in a dispersed storage network
US10705877B2 (en) * 2014-05-29 2020-07-07 Ab Initio Technology Llc Workload automation and data lineage analysis
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
GB2513779B (en) * 2014-08-14 2015-05-13 Imp Io Ltd A method and system for scalable job processing
CN105511957B (zh) * 2014-09-25 2019-05-07 国际商业机器公司 用于生成作业告警的方法和***
WO2016090010A1 (en) * 2014-12-03 2016-06-09 Hakman Labs LLC Workflow definition, orchestration and enforcement via a collaborative interface according to a hierarchical checklist
US9684546B2 (en) * 2014-12-16 2017-06-20 Microsoft Technology Licensing, Llc Job scheduling and monitoring in a distributed computing environment
US9684689B2 (en) * 2015-02-03 2017-06-20 Ca, Inc. Distributed parallel processing system having jobs processed by nodes based on authentication using unique identification of data
US9430290B1 (en) * 2015-03-31 2016-08-30 International Business Machines Corporation Determining storage tiers for placement of data sets during execution of tasks in a workflow
US11429442B2 (en) * 2015-06-29 2022-08-30 Vmware, Inc. Parallel and distributed computing using multiple virtual machines
US20170249762A1 (en) * 2016-02-29 2017-08-31 Microsoft Technology Licensing, Llc Critical Path Detection in Job
US10037230B2 (en) * 2016-07-29 2018-07-31 Hewlett Packard Enterprise Development Lp Managing data processing resources
US20180123918A1 (en) * 2016-10-28 2018-05-03 Linkedin Corporation Automatically detecting latency bottlenecks in asynchronous workflows
US20180173776A1 (en) * 2016-12-21 2018-06-21 Sap Se Mapping 1:Many Relationships for Elements in a Database System
US10514993B2 (en) 2017-02-14 2019-12-24 Google Llc Analyzing large-scale data processing jobs

Also Published As

Publication number Publication date
EP4020218B1 (de) 2023-10-18
EP4020218A1 (de) 2022-06-29
US10514993B2 (en) 2019-12-24
EP4276628A2 (de) 2023-11-15
US20210064505A1 (en) 2021-03-04
CN116089482A (zh) 2023-05-09
CN110537170A (zh) 2019-12-03
US10860454B2 (en) 2020-12-08
WO2018151767A1 (en) 2018-08-23
CN110537170B (zh) 2023-03-28
EP3798848B1 (de) 2022-04-06
EP3583503A1 (de) 2019-12-25
US20240020215A1 (en) 2024-01-18
US20200117570A1 (en) 2020-04-16
EP4276628A3 (de) 2024-01-24
EP3798848A1 (de) 2021-03-31
EP3583503B1 (de) 2020-12-23
US20180232295A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
DE202017106569U1 (de) Analyse grossangelegter Datenverarbeitungsaufträge
DE112017006164T5 (de) Differenzvergleich von ausführbaren Datenflussdiagrammen
DE112012000797B4 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
DE112010003932B4 (de) Automatische Korrektur einer Anwendung auf der Grundlage des Laufzeitverhaltens
EP1703350B1 (de) Diagnose eines Automatisierungssystems
DE102013201174A1 (de) Online-Überprüfung einer Standby-Datenbank in physischen Replikationsumgebungen mit Protokollversand
DE102014116367A1 (de) Verwaltung von leistungsstufen von informationstechnologiesystemen
DE2244402A1 (de) Datenverarbeitungsanlage
DE102005049055A1 (de) Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen
DE112014002275T5 (de) Datenbankverwaltungssystem und -verfahren
DE112013006588T5 (de) Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür
DE112012000245T5 (de) Aktivitätsaufzeichnungssystem für eine parallele Softwareumgebung
DE60303413T2 (de) Verfahren und computersystem zum reduzieren von ausführungszeiten bei der materialbedarfsplanung
DE112020004116T5 (de) Dynamisches abändern der parallelität einer aufgabe in einer pipeline
DE112014000336T5 (de) Vorablesezugriff für einen übergeordneten Kern in einem Mehrkern-Chip
DE112011100168B4 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
DE112011101759T5 (de) Sampling von Leerlauftransitionen
DE102014116117B4 (de) Verfahren und System zum Mining von Mustern in einem Datensatz
DE102012210064A1 (de) Verwalten von aus Geschäftsobjekten erzeugten Ereignissen
EP2567295B1 (de) Verfahren zum selektiven aufzeichnen, rekonstruieren und analysieren des programmlaufs eines steuerungsprogramms
DE112018006950B4 (de) Ressourcensteuerungseinrichtung, Ressourcensteuerungsverfahren und Ressourcensteuerungsprogramm
DE102021122077A1 (de) Programmatisches erkennen von leistungsanomalien
DE102010026273B4 (de) Verfahren zum Betrieb von Datenverarbeitungseinheiten und Datenverarbeitungssystemen
DE102020206861A1 (de) Computerimplementiertes Laufzeitsystem, Netzwerk zur Verarbeitung medizinischer Informationen, entsprechendes Verfahren und entsprechendes Computerprogrammprodukt

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0011340000

R151 Utility model maintained after payment of second maintenance fee after six years