DE102004001680A1 - Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen - Google Patents

Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen Download PDF

Info

Publication number
DE102004001680A1
DE102004001680A1 DE102004001680A DE102004001680A DE102004001680A1 DE 102004001680 A1 DE102004001680 A1 DE 102004001680A1 DE 102004001680 A DE102004001680 A DE 102004001680A DE 102004001680 A DE102004001680 A DE 102004001680A DE 102004001680 A1 DE102004001680 A1 DE 102004001680A1
Authority
DE
Germany
Prior art keywords
processing
pipeline
runtime
time
processor
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.)
Granted
Application number
DE102004001680A
Other languages
English (en)
Other versions
DE102004001680B4 (de
Inventor
Jörg ILLMANN
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.)
Siemens Healthcare GmbH
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102004001680A priority Critical patent/DE102004001680B4/de
Priority to US11/033,506 priority patent/US8161486B2/en
Publication of DE102004001680A1 publication Critical patent/DE102004001680A1/de
Application granted granted Critical
Publication of DE102004001680B4 publication Critical patent/DE102004001680B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Abstract

Die Erfindung betrifft eine dynamische Steuerung von Rechnerressourcen bei der Verarbeitung von Prozessdaten (10) in einer Pipeline (12). Die Pipeline (12) umfasst eine Vielzahl von Pipeline-Prozessoren (Pi), die jeweils nach einem Anytime Ansatz arbeiten, und ein Ergebnis zu einem einstellbaren Zeitpunkt generieren können. Durch Erfassung des Laufzeitverhaltens der beteiligten Pipeline-Prozessoren (Pi) über einen IST-Wert kann unmittelbar und zur Laufzeit Einfluss auf die Ressorcenverteilung genommen werden, ohne dass die Verarbeitung der Prozessdaten (10) unterbrochen werden muss.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und ein System zur dynamischen Steuerung, vorzugsweise zum dynamischen Zuweisen, von Rechnerressourcen auf eine Vielzahl von Pipeline-Prozessoren einer Pipeline. Die Erfindung betrifft insbesondere die Verarbeitung von Prozessdaten mittels einer Verarbeitungspipeline, der unter Laufzeitbedingungen und/oder während der Verarbeitung der Prozessdaten dynamisch Ressourcen zugewiesen werden können.
  • Bei der Verarbeitung von Daten auf dem medizinischen Gebiet sind die Rahmenbedingungen häufig sehr unterschiedlich: zum einen gibt es Anwendungen, die ein sehr schnelles Verarbeiten der Daten erfordern, wie z.B. bei der Prozessdatenverarbeitung im Umfeld einer chirurgischen Operation, beispielsweise bei computergesteuerten minimal invasiven Eingriffen. Zum anderen existieren anderen Anwendungen, bei denen verstärkt auf eine möglichst umfassende Datenerfassung geachtet werden muss und bei denen die Verarbeitungszeit von geringerer Bedeutung ist, wie z.B. bei einer Analyse von bereits erfaßten Daten eines Patienten im Zusammenhang mit dem Aufstellen eines Behandlungsplanes.
  • Daraus ergibt sich, dass je nach Anwendung und Einsatzzweck in ganz unterschiedlicher Weise auf die zur Verfügung stehenden Rechnerressourcen zugegriffen wird.
  • Aus den oben beispielhaft skizzierten Anwendungsfällen ergibt sich, dass die Verarbeitungsprozesse teilweise über einen relativ langen Zeitraum aktiv sind. Dies kann dazu führen, dass die aktuell zur Verfügung stehenden Rechnerressourcen über die Dauer der Verarbeitung schwanken.
  • Bei bisherigen Systemen aus dem Stand der Technik konnten diese Schwankungen der Laufzeitbedingungen und/oder der Rechnerressourcen nicht berücksichtigt werden. Es wurde von festen, d.h. zu einem Zeitpunkt erfaßten Laufzeitparametern ausgegangen. Von daher erwiesen sich vielfach Anwendungen als defizitär, wenn während der Laufzeit Änderungen hinsichtlich der Systemkomponenten auftreten, z.B. dass für einen Verarbeitungsprozess nicht genügend Rechenkapazität zur Verfügung steht oder dass ein Verarbeitungsergebnis in ungenügender Qualität generiert wird (beispielsweise ein Bild, das mit einer viel zu geringen Auflösung dargestellt wird und von daher nicht brauchbar ist).
  • Bisherige Lösungen basierten auf einem monolithischen Verarbeitungskonzept, das weder eine Modularisierung der Verarbeitungsprozesse noch eine Flexibilität gegenüber variablen Systemparametern zuließ.
  • Besonders einige Echtzeitsysteme auf dem Gebiet der Medizintechnik erfordern die garantierte Einhaltung von vorgegebenen Zeitbedingungen. So ist es für diese Systeme charakteristisch, dass z.B. innerhalb eines vordefinierten Zeitfensters ein Verarbeitungsprozess fertiggestellt, Messdaten erfaßt bzw. verarbeitet oder bestimmte Tasks angestossen sein müssen.
  • In Bezug auf die medizinische Datenverarbeitung von Bilddaten können die aktuellen Anforderungen an den Verarbeitungsprozess insgesamt jedoch sehr unterschiedlich sein. Sollen z.B. Bilder im Rahmen einer Befundanalyse verarbeitet werden, so ist ein maximaler Genauigkeitsgrad der Bilder entscheidend. Wie lange der Verarbeitungsprozess zur Darstellung der Bilder dauert ist in diesem Fall von nachrangiger Bedeutung. Im Gegensatz dazu muss aber z.B. die Datenabfrage von Bildern im Rahmen eines operativen Eingriffs mit einem minimalen Zeitaufwand erfolgen. Hier steht also die Einhaltung der zeitli chen Rahmenbedingungen im Vordergrund. Ein System, das für verschiedene Anwendungen ausgelegt und anwendbar ist (wie z.B. ein System zur Verarbeitung von medizinischen Bilddaten), sollte deshalb auf sich zur Laufzeit des Prozesses ändernde Systembedingungen und auch auf sonstige Bedingungen flexibel reagieren können.
  • Vergegenwärtigt man sich nun weiterhin, dass eine Vielzahl von Prozessen zeitgleich ablaufen, so wird deutlich, dass die System- oder Rechnerressourcen über die Zeit sehr starken Schwankungen unterliegen.
  • Systeme, die auf einmal erfaßten Rechnerressourcen basieren und nicht flexibel auf Schwankungen hinsichtlich der Rechnerressourcen eingehen können, sind zum einen fehleranfällig und zum anderen ermöglichen sie es nicht, die Systemressourcen für den aktuellen Prozess optimal auszunutzen. Sollen z.B. Bildverarbeitungsergebnisse angezeigt werden, während sich die verfügbaren Ressourcen zur Laufzeit des Prozesses ändern, so wäre es wünschenswert, den aktiven Verarbeitungsprozess dynamisch an die veränderten, aktuell verfügbaren Ressourcen anzupassen, ohne den Verarbeitungsprozess unterbrechen zu müssen.
  • Bekannt sind Pipeline Konzepte für die Verarbeitung von Prozessdaten. Das Pipeline Konzept basiert auf einer sequentiellen Verarbeitung durch eine Vielzahl von hintereinander geschalteten Pipeline Elementen oder Pipeline-Prozessoren. Um dies zu ermöglichen, muss der Verarbeitungsprozess so strukturiert werden, dass er in kompakte, kleinere Module zerlegt werden kann. Diesen Verarbeitungsmodulen werden dann einzelne Pipeline-Prozessoren zugeordnet. Damit entsteht der Vorteil, dass diese einzelnen Module leichter erstellt, validiert und an neue Anforderungen angepaßt werden können, als wenn man einen monolithischen Gesamtblock hätte.
  • Mit dem Pipeline Konzept ist weiterhin der Vorteil verbunden, dass eine bessere Lastverteilung des Gesamtsystems erzielt werden kann.
  • Auch ist es durch die Modularität des Systems möglich, sehr flexibel einzelne Module auf andere Art oder mit anderen Modulen zu kombinieren. Damit kann das Gesamtsystem geändert werden, ohne dass die Module an sich neu erstellt werden müssen.
  • Aus einem anderen Umfeld sind sogenannte Anytime Algorithmen bekannt. Anytime Algorithmen wurden für Echtzeitsysteme entwickelt und sind bisher für Systeme auf dem Gebiet der Künstlichen Intelligenz und der Robotik eingesetzt worden und basieren auf dem Ansatz, dass ein Verarbeitungsergebnis zu jedem vordefinierbaren Zeitpunkt generiert werden kann. Je nach Umfang des Zeitintervalls, das für den Verarbeitungsprozess zur Verfügung steht, wird das Ergebnis in unterschiedlichen Qualitäts- oder Gütestufen generiert: Ist das Zeitintervall kurz, so ist die Gütestufe für das Verarbeitungsergebnis geringer; ist das Zeitintervall lang, so ist die Gütestufe für das Verarbeitungsergebnis höher. Mit dem Anytime Ansatz wird es möglich, die Güte bzw. Qualität des Verarbeitungsergebnisses der Verarbeitungszeit gegenüberzustellen und diese beiden Faktoren gegeneinander abzuwägen. Bei Anytime Systemen kann die Verarbeitungszeit sozusagen vom Anwender bestimmt bzw. gewählt werden. Das Anytime Konzept erfordert eine teilweise redundante Verarbeitung von Daten und ist insofern mit dem Ansatz der Parallelverarbeitung verwandt.
  • Im Unterschied dazu basiert die Pipelineverarbeitung auf einem rein sequentiellen Ansatz.
  • Die Erfindung basiert auf einer Kombination des Pipeline- und des Anytime-Ansatzes.
  • Ausgehend vom eingangs erwähnten Stand der Technik hat sich die vorliegende Erfindung deshalb zur Aufgabe gesetzt, einen Weg aufzuzeigen, mit dem die Rechnerressourcen zur Laufzeit dynamisch den Verarbeitungs-Prozessoren zugewiesen werden können, ohne dass der Verarbeitungsprozess unterbrochen werden muss.
  • Die Aufgabe wird durch die Merkmale der Erfindung gelöst, insbesondere durch ein Verfahren zur dynamischen Steuerung von allgemeinen Systemressourcen in Bezug auf mehrere Prozessoren, die vorzugsweise in einer Pipeline angeordnet sein können, bei der Verarbeitung von Prozeßdaten unter veränderlichen Laufzeitbedingungen. Die Aufgabenlösung sieht weiterhin vor, dass:
    • – ein Monitoring zur Laufzeit erfolgt, das einen IST-Wert für die Verarbeitungszeit jeweils eines einzelnen Prozessors erfaßt,
    • – ein Logging von Meta-Daten bezüglich der Verarbeitung des jeweiligen Prozessors zur Laufzeit erfolgt,
    • – ein Anytime-Algorithmus angewendet wird, der jeweils einem Prozessor zugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligen Prozessors zu einem beliebig wählbaren Zeitpunkt, insbesondere vom Anwender wählbaren Zeitpunkt, generiert, und dass
    • – ein Control Mechanismus angewendet wird, der zur dynamischen Steuerung der Rechnerressourcen in Hinblick auf die Prozessoren in Abhängigkeit von dem IST-Wert bestimmt ist.
  • Vorzugsweise sind die Prozessoren als Pipeline-Prozessoren ausgebildet, also in einer Pipeline angeordnet. Es ist jedoch auch denkbar, dass die Prozessoren zwar ebenfalls modular agieren aber nach einer anderen Struktur funktional miteinander interagieren.
  • Vorzugsweise umfaßt die Aufgabenlösung einen weiteren Schritt, nämlich das Erfassen eine SOLL-Wertes für eine gesamte Verarbeitungszeit. Dieser SOLL-Wert kann vom Anwender eingegeben werden oder kann automatisch aus anderen Systemeigenschaften ermittelt werden. Ist dieser SOLL-Wert erfaßt, wird dieser auch bei dem Control Mechanismus berücksichtigt, als dass dieser die Steuerung insbesondere das Zuweisen von Rechnerressourcen auf die Prozessoren in Abhängigkeit von dem IST- und dem SOLL-Wert vornimmt.
  • Eine weitere Aufgabenlösung liegt in einem System nach Anspruch 11 und in einer Anordnung nach Anspruch 21.
  • In der bevorzugten Ausführungsform der Erfindung ist der Control Mechanismus zur Laufzeit aktiviert. Es ist jedoch auch möglich, dass der Control Mechanismus bereits im Vorfeld oder in weiteren zeitlich ggf. nachgelagerten Zeitabschnitten aktiv ist. Der Control Mechanismus ist derart ausgelegt, dass er auch unter variablen Laufzeitbedingungen die aktuell verfügbaren Rechnerressourcen steuert. Insbesondere ist er zur Zuweisung der verfügbaren Ressourcen auf die Pipeline-Prozessoren bestimmt. Damit wird der Vorteil erzielt, dass die Verarbeitungsressourcen für den jeweiligen Verarbeitungsprozess während des Ablaufs und damit mit maximaler Aktualität geplant werden können. Damit ist es möglich, auf spezifische Anforderungen, die indirekt Systemparameter betreffen, einzugehen und ein optimales Verarbeitungsergebnis zu erzielen.
  • Das Verfahren ist in der bevorzugten Ausführungsform so ausgelegt, dass das Monitoring kontinuierlich und/oder in vorbestimmbaren Zeitintervallen erfolgt. Damit kann der Anwender den Grad der gewünschten Aktualität und Flexibilität wählen.
  • Vorteilhafterweise greift der Control Mechanismus auf einen Execution-Time-Scheduler zu, der die Rechnerressourcen zur Laufzeit und ohne eine Unterbrechung der Verarbeitung der Prozeßdaten dynamisch den Pipeline-Prozessoren derart zuweist, dass der SOLL-Wert für die gesamte Verarbeitungszeit eingehalten wird. Es ist jedoch auch möglich, dass der Control Mechanismus selbst so ausgelegt ist, daß der die Rechnerressourcen zur Laufzeit dynamisch den Pipeline-Prozessoren zuweist unter Berücksichtigung von IST- und SOLL-Wert. Dabei soll der IST-Wert dem SOLL-Wert angeglichen werden.
  • Die Meta-Daten umfassen zumindest Information über die Verarbeitungszeit (Timing Information) des jeweiligen Pipeline-Prozessors. Hier können aber noch weitere Verarbeitungsdaten in Bezug auf den jeweiligen Prozessor, wie z.B. Qualitätsstufe des Verarbeitungsergebnisses, Prozessorleistung, freier Speicherplatz etc. abgelegt sein. Diese Meta-Daten werden neben den Prozessdaten von Pipeline-Prozessor zu Pipeline-Prozessor weiter gereicht. Damit ist ein Pipeline-Prozessor immer über den exakt aktuellen Verarbeitungsstatus und/oder das Ergebnis des vorhergehenden Prozessors informiert.
  • Die hohe Variabilität des erfindungsgemäßen Systems ist darin zu sehen, dass der Anwender die Verarbeitungszeit nahezu frei bestimmen kann. Abhängig von seiner Wahl der Verarbeitungszeit ist die Qualität bzw. Güte des Verarbeitungsergebnisses. Die gesamte Verarbeitungszeit wird über den SOLL-Wert vom Anwender definiert. Dieser kann auch zur Laufzeit verändert oder erstmals eingestellt werden. Die Qualitätsstufe des Verarbeitungsergebnisses ergibt sich unmittelbar aus diesem SOLL-Wert.
  • Ein wichtiger Vorteil des erfindungsgemäßen Verfahrens ist darin zu sehen, dass der SOLL-Wert für die Verarbeitungszeit auch zur Laufzeit dynamisch einstellbar ist, ohne, daß die Verarbeitung der Prozessdaten unterbrochen werden muß. Sollen beispielsweise Bildverarbeitungsergebnisse dargestellt werden und werden die Anforderungen während der Berechnung verändert (z.B. die zur Verfügung stehende Zeit wird verkürzt), so können schritthaltend mit dieser Änderung Bildverarbeitungsergebnisse angezeigt werden (bezogen auf vorstehendes Beispiel: mit einer verringerten Qualität bzw. Auflösung).
  • Die Meta-Daten werden vorzugsweise dezentral und/oder parallel in den Pipeline-Prozessoren erfaßt. Damit können Ressourcenzuweisungen oder sonstige Einstellungen kontinuierlich angepasst oder verändert werden.
  • Die erfaßten Meta-Daten werden an den Execution Time Scheduler weitergeleitet und von ihm verarbeitet. Das Ergebnis dieser Steuerungsaufgabe kann dann wieder zu einer Neuverteilung der Rechnerressourcen führen. Bei längeren Verarbeitungszyklen sieht die Erfindung hier einen iterativen Prozess vor.
  • Die Aufgabenlösung nach Anspruch 21 sieht eine Anordnung vor, die mehrere Elemente umfaßt: vorzugsweise ist ein Erfassungsmodul, ein Monitoringmodul, eine Logging-Einheit, eine Anytime-Einheit, die jeweils einem Pipeline-Prozessor zugeordnet ist, und eine Control-Einheit vorgesehen. Das heisst, bezogen auf die gesamte Anordnung, sind eine Vielzahl von Pipeline-Prozessoren und diesen jeweils zugeordneten Anytime Einheiten vorgesehen. Bevorzugterweise ist die Logging-Einheit ebenfalls modular aufgebaut und ist dem jeweiligen Pipeline-Prozessor zugeordnet. Die Control Einheit ist vorzugsweise als zentrales Bauteil ausgebildet, der mit allen Pipeline-Prozessoren der Pipeline und mit dem Erfassungsmodul in Datenaustausch steht. Alternativ kann vorgesehen sein, dass einem Pipeline-Prozessor nicht nur eine Anytime Einheit zugeordnet ist, sondern ein Verbund von Anytime Einheiten, die alle auf die Funktionalität des jeweiligen Pipeline-Prozessors bezogen sind.
  • Die vorstehend beschriebenen, erfindungsgemäßen Ausführungsformen des Verfahren können auch als Computerprogrammprodukt ausgebildet sein, mit einem von einem Computer lesbaren Medium und mit einem Computerprogramm und zugehörigen Programmcode-Mitteln, wobei der Computer nach Laden des Computerprogramms zur Durchführung des oben beschriebenen, erfindungsgemäßen Verfahrens veranlaßt wird.
  • Eine alternative Aufgabenlösung sieht ein Speichermedium vor, das zur Speicherung des vorstehend beschriebenen, computerimplementierten Verfahrens bestimmt ist und von einem Computer lesbar ist.
  • Zusätzliche, vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.
  • In der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen. In dieser zeigen:
  • 1 eine schematische Übersicht über eine beispielhafte, erfindungsgemäße Architektur mit drei Pipeline-Prozessoren,
  • 2 ein Ablaufdiagramm über den Ablauf gemäß einer bevorzugten Ausführungsform der Erfindung.
  • Unter Bezugnahme auf 1 wird nachfolgend die grundlegende Struktur des erfindungsgemäßen Systems erläutert. Für die Verarbeitung von Prozessdaten 10 ist eine Pipeline 12 vorgesehen, die aus mehreren, vorzugsweise in Reihe geschalteten Pipeline-Prozessoren Pi besteht, dabei kennzeichnet die Bezugsziffer Pi den i-ten Pipeline-Prozessor. Den verschiedenen Pipeline-Prozessoren Pi werden, abhängig von der Aufgabe (also von der Art der Verarbeitung der Prozessdaten 10) unterschiedliche Tasks zugeordnet.
  • Ziel ist es, dass nach einem Durchlauf durch die Verarbeitungspileline 12 ein Verarbeitungsergebnis generiert wird.
  • Bei komplexen Systemen und/oder bei komplexen Verarbeitungsaufgaben ergeben sich häufig Schwankungen hinsichtlich der Verfügbarkeit von Rechnerressourcen – und dies auch zur Laufzeit des Verarbeitungsvorganges -. Das kann möglicherweise dazu führen, dass eine zu Beginn des Verarbeitungsvorganges getroffenen Einstellung oder Festlegung hinsichtlich der Ressourcen sich zu einem späteren Zeitpunkt als unzutreffend erweist, was sich insgesamt negativ für das Verarbeitungsergebnis auswirkt.
  • Um auf diese Schwankungen auch zur Laufzeit flexibel reagieren zu können, sieht die Erfindung vor, die jeweiligen Pipeline-Prozessoren Pi der Pipeline 12 jeweils mit einem oder mehreren Anytime Algorithmen auszubilden. Das hat zur Folge, dass die Zeitspanne, die notwendig ist, um das Verarbeitungsergebnis des jeweiligen Pipeline-Prozessors Pi zu generieren, variabel eingestellt werden kann – in Abhängigkeit von einer Qualitäts- oder Gütestufe des Verarbeitungsergebnisses. Damit wird es möglich, die Ressourcen auch zur Laufzeit optimal auf die Pipeline-Prozessoren Pi zu verteilen.
  • Ein Erfassungsmodul 16 dient zur Erfassung eines SOLL-Wertes für die gesamte Verarbeitungszeit. Dieser SOLL-Wert kann vom Anwender, abhängig von den aktuellen Systemanforderungen, eingestellt werden. Das Erfassungsmodul 16 steht in Datenaustausch mit einem Control Mechanismus. Der Control Mechanismus dient zur Steuerung der Ressourcen in Hinblick auf die Pipeline-Prozessoren Pi. Der Control Mechanismus umfaßt ein zentrales Bauteil, nämlich den Execution Time Scheduler 20. Der Execution Time Scheduler 20 steht in Datenaustausch mit den für den Verarbeitungsprozess aktivierten bzw. benötigten Pipeline-Prozessoren Pi und mit dem Erfassungsmodul 16 (in der Zeichnung nicht dargestellt).
  • In dem in 1 dargestellten Beispiel besteht die Pipeline 12 aus drei Pipeline-Prozessoren P1, P2 und P3. Als zentrales Element ist der Execution Time Scheduler 20 vorgesehen. Jeder Pipeline-Prozessor Pi erfaßt seine Verarbeitungszeit (in der Zeichnung als "ProcTime" bezeichnet). Meta-Daten 18 umfassen hauptsächlich diese vorgenannten Timing Informationen. Wesentlich ist, dass zusätzlich zu den zu verarbeitenden Prozessdaten 10 auch die Meta-Daten 18 von Pipeline-Prozessor Pi zu nachfolgendem Pipeline-Prozessor Pi+1 weitergeleitet werden. Nach Durchlaufen der Pipeline 12 werden diese Verarbeitungszeiten akkumuliert und in dem Execution Time Scheduler 20 verarbeitet. Diese Zeiten beziehen sich auf die aktuellen Verarbeitungszeiten und definieren von daher einen IST-Wert für die Verarbeitungszeit eines jeweiligen Pipeline-Prozessors Pi. Der vom Erfassungsmodul 16 erfaßte SOLL-Wert der Verarbeitung wird auch dem Execution Time Scheduler 20 zugeführt. Deshalb ist der Execution Time Scheduler 20 in der Lage, den IST-Wert und den SOLL-Wert in Bezug zueinander zu setzen und die Ressourcen so zuzuweisen, dass bei dem folgenden Durchlaufen der Pipeline 12 oder nach einer Sequenz von Pipelinedurchläufen der IST-Wert dem SOLL-Wert angepasst wird.
  • In 2 ist ein Ablaufdiagramm dargestellt, das den grundlegenden Ablauf der erfindungsgemäßen Verfahrensschritte gemäß der bevorzugten Ausführungsform zeigt.
  • Da eine Vielzahl von Pipeline-Prozessoren Pi vorgesehen sind, die – je nach Anwendungsfall – unterschiedliche Tasks erfüllen, ist es nicht immer zwingend, dass alle Pipeline-Prozessoren Pi für die jeweilige Verarbeitung notwendig sind. Deshalb werden in einem ersten Schritt die Pipeline-Prozessoren Pi erfaßt, die für den aktuellen Verarbeitungsprozess erforderlich sind.
  • Zur Laufzeit werden dann die jeweiligen Verarbeitungszeiten der einzelnen Pipeline-Prozessoren Pi erfaßt und überwacht. Dieses Monitoring findet auch zur Laufzeit statt.
  • In einem weiteren Verfahrensschritt, der in einer alternativen Ausführungsform auch zeitlich vorgelagert sein kann, werden die Laufzeitbedingungen erfaßt. Hierunter fallen Parame ter, wie insbesondere zur Verfügung stehende Rechnerressourcen, Art der gewünschten Verarbeitung und andere Parameter. Ebenso wird der SOLL-Wert erfaßt, der eine Aussage über die gewünschte gesamte Verarbeitungszeit bzw. über die Qualitätsstufe des Verarbeitungsergebnisses macht.
  • Die erfaßten Werte, von denen einige auch zur Laufzeit und andere im Vorfeld vor der eigentlichen Verarbeitung ermittelt werden können, werden dem Execution Time Scheduler 20 zugeführt. Dieser errechnet aufgrund der Werte eine optimale Belegung der Pipeline-Prozessoren Pi mit den aktuell verfügbaren Rechnerressourcen. Oder mit anderen Worten errechnet der Execution Time Scheduler 20, wieviel Verarbeitungszeit ein Pipeline-Prozessor Pi verbrauchen darf, damit der SOLL-Wert für den gesamten Verarbeitungsprozess eingehalten werden kann. Den Pipeline-Prozessoren Pi werden also Verarbeitungszeiten zugewiesen, innerhalb derer sie das Ergebnis an den nächsten Pipeline-Prozessor Pi+1 weiterreichen müssen.
  • Mögliche Interdependenzen zwischen den Verarbeitungszeiten der einzelnen Pipeline-Prozessoren Pi können durch Erfassen von zusätzlichen Interdependenz-Daten verarbeitet werden. Ist es beispielsweise notwendig, dass ein i-ter Pipeline-Prozessor Pi von seinem Vorgänger, dem Pipeline-Prozessor Pi-1 weiss, in welcher Qualitätsstufe er sein Ergebnis erzeugt hat, so ist es möglich, diese Information bei den Meta-Daten 18 zu übermitteln.
  • Nach Durchlaufen der Pipeline 12 wird überprüft, ob das Ergebnis der Pipelineverarbeitung mit dem SOLL-Wert übereinstimmt. Falls dies bejaht wird, ist das Verfahren beendet. Andernfalls kann die Pipeline 12 iterativ durchlaufen werden, bis der IST-Wert mit dem SOLL-Wert übereinstimmt.
  • Es ist jedoch auch möglich, dass der SOLL-Wert nur einmal zu Beginn der Verarbeitung und nicht dynamisch zur Laufzeit erfaßt wird. Dies vereinfacht zwar das Verfahren, führt jedoch auch zu einer eingeschränkten Flexibilität, denn dann ist der Soll-Wert fest definiert und kann nicht dynamisch variiert werden.
  • Das wesentliche Architekturkonzept liegt bei der Erfindung auf der Anpassungsmöglichkeit der Systembedingungen zur Laufzeit. Verändern sich z.B. die Anforderungen an das Verarbeitungsergebnis der Prozessdaten 10 oder verändern sich die verfügbaren Rechnerressourcen zur Laufzeit, so kann erfindungsgemäß sofort und unmittelbar eine Anpassung der Verteilung der Verarbeitungszeiten in den Pipeline-Prozessoren Pi bzw. in den Stufen der Pipeline 12 erfolgen, ohne dass die Verarbeitung unterbrochen werden muss. Beispielsweise werden Bilder, die bereits teilweise berechnet sind, nach den geänderten, neuen Rahmenbedingungen weiter berechnet.
  • Durch die Verwendung des Pipelinekonzeptes wird es möglich, dass parallel also gleichzeitig mehrere Tasks (z.B. Darstellen von Bildern) in den unterschiedlichen Stufen der Pipeline 12 abgearbeitet werden. Dies führt zu einer deutlichen Zeiteinsparung, da Berechnungen teilweise parallel ausgeführt werden können. Insgesamt bringt dies den Vorteil einer verbesserten Lastverteilung und nützt die positiven Eigenschaften von Multiprozessorsystemen aus.
  • Mit der Verwendung eines Anytime Ansatzes bei der Architektur der einzelnen Pipeline-Prozessoren Pi wird ein Abwägen zwischen der Verarbeitungszeit einerseits und der Qualität des Verarbeitungsergebnisses andererseits möglich. Damit kann wesentlich flexibler auf Systemänderungen reagiert werden, was bei Verfahren nach dem Stand der Technik teilweise gar nicht möglich war. Auch kann erreicht werden, dass die verfügbaren Ressourcen zu jedem Zeitpunkt optimal auf die aktiven Verarbeitungsmodule, insbesondere auf die Pipeline-Prozessoren Pi, verteilt werden können.

Claims (21)

  1. Verfahren zur dynamischen Steuerung von Rechnerressourcen in Bezug auf mehrere Pipeline-Prozessoren (Pi) einer Pipeline (12) bei der Verarbeitung von Prozeßdaten (10) unter veränderlichen Laufzeitbedingungen, umfassend: – Erfassen eines SOLL-Wertes für eine gesamte Verarbeitungszeit, – ein Monitoring zur Laufzeit, das einen IST-Wert für die Verarbeitungszeit jeweils eines einzelnen Pipeline-Prozessors (Pi) erfaßt, – Logging von Meta-Daten (18) bezüglich der Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zur Laufzeit, – ein Anytime-Algorithmus, der jeweils einem Pipeline-Prozessor (Pi) zugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zu einem einstellbaren Zeitpunkt generiert, und – ein Control Mechanismus, der zur dynamischen Steuerung der Rechnerressourcen in Hinblick auf die Pipeline-Prozessoren (Pi) in Abhängigkeit von dem SOLL- und dem IST-Wert bestimmt ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Control Mechanismus auch zur Laufzeit und/oder unter variablen Laufzeitbedingungen zur Steuerung, vorzugsweise zur Zuweisung von aktuell verfügbaren Rechnerressourcen auf die Pipeline-Prozessoren (Pi) bestimmt ist.
  3. Verfahren nach mindestens einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass das Monitoring kontinuierlich und/oder in vorbestimmbaren Zeitintervallen erfolgt.
  4. Verfahren nach mindestens einem der vorstehenden Ansprüdadurch gekennzeichnet, dass der Control Mechanismus unter Zugriff auf einen Execution- Time-Scheduler (20) arbeitet, der die Rechnerressourcen zur Laufzeit und ohne eine Unterbrechung der Verarbeitung der Prozeßdaten (10) dynamisch den Pipeline-Prozessoren (Pi) derart zuweist, dass der SOLL-Wert für die gesamte Verarbeitungszeit eingehalten wird.
  5. Verfahren nach mindestens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Meta-Daten (18) zumindest Information über die Verarbeitungszeit des jeweiligen Pipeline-Prozessors (Pi) umfassen.
  6. Verfahren nach mindestens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass Daten, zumindest umfassend Prozessdaten (10) und Meta-Daten (18), von einem i-ten Pipeline-Prozessor (Pi) zu einem nachfolgenden, i+1-ten Pipeline-Prozessor (Pi+1) weitergeleitet werden.
  7. Verfahren nach mindestens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der SOLL-Wert vom Anwender einstellbar ist und dass eine Qualitätsstufe des Verarbeitungsergebnisses abhängig ist von diesem SOLL-Wert.
  8. Verfahren nach mindestens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der SOLL-Wert für die Verarbeitungszeit auch zur Laufzeit dynamisch einstellbar ist, ohne, daß die Verarbeitung der Prozessdaten (10) unterbrochen werden muß.
  9. Verfahren nach mindestens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Meta-Daten (18) dezentral und/oder parallel in den Pipeline-Prozessoren (Pi) erfaßt werden.
  10. Verfahren nach mindestens einem der vorstehenden Ansprüche 4 bis 9, dadurch gekennzeichnet, dass die Meta-Daten (18) an den Execution Time Scheduler (20) weitergeleitet und von ihm verarbeitet werden.
  11. System zur dynamischen Steuerung von Rechnerressourcen in Bezug auf mehrere Pipeline-Prozessoren (Pi) einer Pipeline (12) bei der Verarbeitung von Prozeßdaten (10) unter veränderlichen Laufzeitbedingungen, umfassend: – ein Erfassungsmodul (16), das zum Erfassen eines SOLL-Wertes für eine gesamte Verarbeitungszeit bestimmt ist, – ein Monitoringmodul, das einen IST-Wert für die Verarbeitungszeit jeweils eines einzelnen Pipeline-Prozessors (Pi) zur Laufzeit erfaßt, – Logging von Meta-Daten (18) bezüglich der Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zur Laufzeit, – ein Anytime-Algorithmus, der jeweils einem Pipeline-Prozessor (Pi) zugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zu einem einstellbaren Zeitpunkt generiert, und – ein Control Mechanismus, der zur dynamischen Steuerung der Rechnerressourcen in Hinblick auf die Pipeline-Prozessoren (Pi) in Abhängigkeit von dem SOLL- und dem IST-Wert bestimmt ist.
  12. System nach Anspruch 11, dadurch gekennzeichnet, dass der Control Mechanismus auch zur Laufzeit und/oder unter variablen Laufzeitbedingungen zur Steuerung, vorzugsweise zu Zuweisung von aktuell verfügbaren Rechnerressourcen auf die Pipeline-Prozessoren (Pi) bestimmt ist.
  13. System nach mindestens einem der Ansprüche 11 oder 12, dadurch gekennzeichnet, dass das Monitoring kontinuierlich und/oder in vorbestimmbaren Zeitintervallen erfolgt.
  14. System nach mindestens einem der vorstehenden Ansprüche 11 bis 13, dadurch gekennzeichnet, dass der Control Mechanismus unter Zugriff auf einen Execution-Time-Scheduler (20) arbeitet, der die Rechnerressourcen zur Lauzeit und ohne eine Unterbrechung der Verarbeitung der Prozeßdaten (10) dynamisch den Pipeline-Prozessoren (Pi) derart zuweist, dass der SOLL-Wert für die gesamte Verarbeitungszeit eingehalten wird.
  15. System nach mindestens einem der vorstehenden Ansprüche 11 bis 14, dadurch gekennzeichnet, dass die Meta-Daten (18) zumindest Information über die Verarbeitungszeit des jeweiligen Pipeline-Prozessors (Pi) umfassen.
  16. System nach mindestens einem der vorstehenden Ansprüche 11 bis 15, dadurch gekennzeichnet, dass Daten, zumindest umfassend Prozessdaten (10) und Meta-Daten (18), von einem i-ten Pipeline-Prozessor (Pi) zu einem nachfolgenden, i+1-ten Pipeline-Prozessor (Pi+1) weitergeleitet werden.
  17. System nach mindestens einem der vorstehenden Ansprüche 11 bis 16, dadurch gekennzeichnet, dass der SOLL-Wert vom Anwender einstellbar ist und dass eine Qualitätsstufe des Verarbeitungsergebnisses abhängig ist von diesem SOLL-Wert.
  18. System nach mindestens einem der vorstehenden Ansprüche 11 bis 17, dadurch gekennzeichnet, dass der SOLL-Wert für die Verarbeitungszeit auch zur Laufzeit dynamisch einstellbar ist, ohne, daß die Verarbeitung der Prozessdaten (10) unterbrochen werden muß.
  19. System nach mindestens einem der vorstehenden Ansprüche 11 bis 18, dadurch gekennzeichnet, dass die Meta-Daten (18) dezentral und/oder parallel in den Pipeline-Prozessoren (Pi) erfaßt werden.
  20. System nach mindestens einem der vorstehenden Ansprüche 14 bis 19, dadurch gekennzeichnet, dass die Meta-Daten (18) an den Execution Time Scheduler (20) weitergeleitet und von ihm verarbeitet werden.
  21. Anordnung zur dynamischen Steuerung von Rechnerressourcen in Bezug auf mehrere Pipeline-Prozessoren (Pi) einer Pipeline (12) bei der Verarbeitung von Prozeßdaten (10) unter veränderlichen Laufzeitbedingungen, umfassend: – zumindest ein Erfassungsmodul (16), das zum Erfassen eines SOLL-Wertes für eine gesamte Verarbeitungszeit bestimmt ist, – zumindest ein Monitoringmodul, das einen IST-Wert für die Verarbeitungszeit jeweils eines einzelnen Pipeline-Prozessors (Pi) zur Laufzeit erfaßt, – zumindest eine Logging-Einheit, die zum Loggen von Meta-Daten (18) bezüglich der Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zur Laufzeit bestimmt ist, – zumindest eine Anytime-Einheit, die zum Ablauf eines Anytime Algorithmus ausgelegt ist, der jeweils einem Pipeline-Prozessor (Pi) zugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zu einem einstellbaren Zeitpunkt generiert, und – zumindest eine Control Einheit, die zur dynamischen Steuerung der Rechnerressourcen in Hinblick auf die Pipeline-Prozessoren (Pi) in Abhängigkeit von dem SOLL- und dem IST-Wert bestimmt ist.
DE102004001680A 2004-01-12 2004-01-12 Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen Expired - Fee Related DE102004001680B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004001680A DE102004001680B4 (de) 2004-01-12 2004-01-12 Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen
US11/033,506 US8161486B2 (en) 2004-01-12 2005-01-12 Dynamic control of computer resources for the pipeline processing of data using anytime algorithms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004001680A DE102004001680B4 (de) 2004-01-12 2004-01-12 Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen

Publications (2)

Publication Number Publication Date
DE102004001680A1 true DE102004001680A1 (de) 2005-08-04
DE102004001680B4 DE102004001680B4 (de) 2012-07-05

Family

ID=34716472

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004001680A Expired - Fee Related DE102004001680B4 (de) 2004-01-12 2004-01-12 Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen

Country Status (2)

Country Link
US (1) US8161486B2 (de)
DE (1) DE102004001680B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3467598A1 (de) * 2017-10-04 2019-04-10 TTTech Computertechnik AG Verfahren und vorrichtung zur bestimmung der schlitzdauer in einem zeitgesteuerten steuerungssystem
CN113408902A (zh) * 2021-06-21 2021-09-17 北京思路智园科技有限公司 基于人工智能的全流程生产调度系统及方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082171B1 (en) 2005-08-04 2011-12-20 Demandware Inc. Methods and systems for hosting business applications having pipeline-based business logic using shared computing resources
US8201142B2 (en) * 2006-09-29 2012-06-12 Microsoft Corporation Description language for structured graphs
US7844959B2 (en) * 2006-09-29 2010-11-30 Microsoft Corporation Runtime optimization of distributed execution graph
US20080082644A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Distributed parallel computing
US8811743B2 (en) * 2010-06-09 2014-08-19 Microsoft Corporation Resource-aware computer vision
DE102011079429A1 (de) * 2011-07-19 2013-01-24 Siemens Aktiengesellschaft Performancesimulation von medizintechnischen Prozeduren in einer Client-Server-Umgebung
US10528904B2 (en) 2016-10-20 2020-01-07 Micro Focus Llc Workflow processing via policy workflow workers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255359A (en) * 1989-10-23 1993-10-19 International Business Machines Corporation Picking function for a pipeline graphics system using hierarchical graphics structures
GB2296565B (en) * 1994-12-23 1999-06-16 Intravascular Res Ltd Ultrasound imaging
US6308174B1 (en) * 1998-05-05 2001-10-23 Nortel Networks Limited Method and apparatus for managing a communications network by storing management information about two or more configuration states of the network
US6591262B1 (en) * 2000-08-01 2003-07-08 International Business Machines Corporation Collaborative workload management incorporating work unit attributes in resource allocation
US7089220B2 (en) * 2003-06-24 2006-08-08 Palo Alto Research Center Incorporated Complexity-directed cooperative problem solving

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D.Bernstein et al: Using Uncertainty within Com- putation, AAAI 2001 Fall Symposium, Nov.2001 *
W.Becker: Globale dynamische Lastbalancierung in datenintensiven Anwendungen, Fakultätsbericht Nr. 1993/1 August 1998 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3467598A1 (de) * 2017-10-04 2019-04-10 TTTech Computertechnik AG Verfahren und vorrichtung zur bestimmung der schlitzdauer in einem zeitgesteuerten steuerungssystem
CN109613820A (zh) * 2017-10-04 2019-04-12 Tttech 电脑技术股份公司 在时间触发控制系统中确定时隙的持续时间的方法和设备
CN109613820B (zh) * 2017-10-04 2023-03-28 Tttech 电脑技术股份公司 在时间触发控制器中确定计算操作的时隙的持续时间的方法及其控制器
CN113408902A (zh) * 2021-06-21 2021-09-17 北京思路智园科技有限公司 基于人工智能的全流程生产调度系统及方法
CN113408902B (zh) * 2021-06-21 2022-08-26 北京思路智园科技有限公司 基于人工智能的全流程生产调度系统及方法

Also Published As

Publication number Publication date
US8161486B2 (en) 2012-04-17
US20050188180A1 (en) 2005-08-25
DE102004001680B4 (de) 2012-07-05

Similar Documents

Publication Publication Date Title
DE19728726B4 (de) Robotercontroller und dessen Steuerverfahren
EP1789906B1 (de) Verfahren zur bildbasierten fahreridentifikation in einem kraftfahrzeug
EP0655682B1 (de) Recheneinheit mit mehreren ausführbaren Tasks
EP1831786B1 (de) Verfahren zur verteilung von rechenzeit in einem rechnersystem
EP3508930B1 (de) System und verfahren zur steuerung und/oder analytik eines industriellen prozesses
DE10392278T5 (de) Verfahren und Vorrichtung zur Speicherzugangssteuerung
DE102004001680A1 (de) Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen
DE4005042C2 (de) Mehrrechnersystem zur Durchführung von Bewegungssteuerungen
DE4445651A1 (de) Verfahren zur Steuerung von technischen Vorgängen
WO2020233901A1 (de) Konzept für eine datenverarbeitung für ein zumindest teilautomatisiertes führen eines kraftfahrzeugs
DE102019206541A1 (de) Verfahren zum Durchführen von computerunterstützten XiL-Simulationen
EP1870787B1 (de) Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
EP1137997B1 (de) Multimaster-bussystem und verfahren zum betreiben desselben
DE102019132624A1 (de) Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zum Erstellen eines Motion Cueing Algorithmus
DE102018101203A1 (de) Automatisierungsgerät und Verfahren zum optimierten Zugriff auf eine Variable
DE102022203386B4 (de) Regelverfahren, Regelsystem, Kraftfahrzeug, Computerprogrammprodukt und computerlesbares Medium
EP1507181B1 (de) Verfahren und Vorrichtung zur mehrstufigen Datenverarbeitung, insbesondere zur Diagnose, in einer technischen Anlage
EP1145190A2 (de) Anordnung miteinander verbundener rechenelemente, verfahren zur rechnergestützten ermittlung einer dynamik, die einem dynamischen prozess zugrunde liegt und verfahren zum rechnergestützten trainieren einer anordnung miteinander verbundener rechenelemente
DE102019134724B3 (de) Verfahren zum Steuern eines Produktionssystems und Verfahren zum Aufzeichnen einer Folge von Nutzereingaben an einem Produktionssystem
WO2011064045A1 (de) Verfahren und elektronische einheit zum erzeugen von sequenzen
WO2023066626A1 (de) Verfahren zur verarbeitung von daten mit einem datenverarbeitungsnetzwerk umfassend eine mehrzahl von datenverarbeitungsmodulen, datenverarbeitungsmodul und datenverarbeitungsnetzwerk
DE10229520A1 (de) Verfahren und Vorrichtung sowie Betriebssystem zur Steuerung von Vorgängen bei einem Fahrzeug
WO2021122366A1 (de) Verbesserung der betriebsparameter eines rechensystems im fahrzeug
DE102021208331A1 (de) Verfahren zur Sensordatenverarbeitung in einem Sensorsystem und zugehöriges Sensorsystem
DE102020109761A1 (de) Umfeldsensorsystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20121006

R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee