DE102009061066A1 - Method for operating multiprocessor computer system involves allocating desired resources and adjusting time response of the allocated resources by resource manager based on time response requested with reservation request - Google Patents
Method for operating multiprocessor computer system involves allocating desired resources and adjusting time response of the allocated resources by resource manager based on time response requested with reservation request Download PDFInfo
- Publication number
- DE102009061066A1 DE102009061066A1 DE200910061066 DE102009061066A DE102009061066A1 DE 102009061066 A1 DE102009061066 A1 DE 102009061066A1 DE 200910061066 DE200910061066 DE 200910061066 DE 102009061066 A DE102009061066 A DE 102009061066A DE 102009061066 A1 DE102009061066 A1 DE 102009061066A1
- Authority
- DE
- Germany
- Prior art keywords
- communication medium
- bandwidth
- resources
- traffic
- medium according
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/245—Traffic characterised by specific attributes, e.g. priority or QoS using preemption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
Description
Die Erfindung betrifft ein Kommunikationsmedium für ein Mehrprozessor-Computersystem gemäß dem Oberbegriff des Patentanspruchs 1.The invention relates to a communication medium for a multiprocessor computer system according to the preamble of
Mehrprozessor-Computersysteme haben die Eigenschaft, dass die vorhandenen Ressourcen des Systems von den Mikroprozessoren gemeinsam genutzt werden. Dies führt bei bekannten Mehrprozessor-Computersystemen dazu, dass die Ausführungszeit für Programme auf Grund der nicht genau vorhersagbaren Auslastung der Ressourcen variiert und damit schwer vorhersagbar ist.Multiprocessing computer systems have the property of sharing the system's existing resources with the microprocessors. This results in known multi-processor computer systems that the execution time for programs varies due to the not exactly predictable utilization of resources and thus is difficult to predict.
Als Ressourcen eines Computersystems werden beispielsweise Hardwarekomponenten verstanden, wie der Hauptspeicher, Kommunikationsmedien (z. B. Datenbus), Ein- und Ausgabekanäle, Cache-Speicher und ggf. andere verwendete Hardware- und Softwarekomponenten, einschließlich Hardwarekomponenten, die sich auf demselben Chip wie die Prozessoren befinden können.For example, resources of a computer system are understood to be hardware components such as main memory, communication media (e.g., data bus), input and output channels, cache memory, and possibly other hardware and software components used, including hardware components residing on the same chip as the computer Processors can be located.
In bestimmten Anwendungsbereichen heutiger und künftiger Computersysteme (z. B. Multimedia) ist es notwendig, die Ausführungszeit von Softwareprogrammen oder Teilen davon möglichst exakt vorauszusagen, um beispielsweise Echtzeitanforderungen zu erfüllen oder den Programmablauf zu optimieren. Diese Ausführungszeit wird durch Zugriffe auf eine komplexe Speicherhierarchie mitbestimmt, welche sich aus einem oder mehreren Hauptspeicher-Controllern und/oder anderen Ein-/Ausgabe-Schnittstellen, einem oder mehreren Kommunikationsmedien (z. B. in Form eines Networks-On-Chip; NoC) sowie einer Hierarchie aus jeweils einem oder mehreren Cache-Speichern pro Hierarchieebene zusammensetzt. Insbesondere die Cache-Speicher weisen ein stark dynamisches Verhalten auf, was die Vorhersage des Zeitverhaltens sehr erschwert. Darüber hinaus können in Mehrprozessor-Computersystemen die Komponenten der Speicherhierarchie von mehreren Mikroprozessoren und somit auch von unabhängigen Softwareprogrammen gemeinsam genutzt werden, was zu Zugriffskonflikten führen kann, welche das Zeitverhalten von Programmausführungen ebenfalls stark beeinflussen können. Diese Beeinflussung hängt nicht nur vom Verhalten eines einzelnen Softwareprogramms ab, sondern auch davon, wie sich andere, gleichzeitig ausgeführte Softwareprogramme verhalten und wie einzelne Ressourcen ihre jeweiligen Zugriffskonflikte auflösen. Die gegenseitige Beeinflussung ist daher bei den bekannten Mehrprozessor-Computersystemen nur sehr ungenau vorhersagbar, sodass beim Zugriff auf gemeinsame Ressourcen eine Überschätzung der Laufzeit der Software-Programme erfolgt, da bei konservativer Schätzung immer von der höchst möglichen Beeinflussung ausgegangen werden muss. Dies führt dazu, dass das System entweder stark überdimensioniert wird oder die Software-Programme nicht mit garantiertem Zeitverhalten ausführbar sind. Anders gesagt, wenn es möglich ist, alle benötigten Ressourcen so zu reservieren, dass keine Beeinflussung möglich ist, wäre eine Überschätzung der Laufzeit nicht erforderlich. In derzeitigen Mehrprozessor-Computersystemen ergibt sich somit eine schlechte Ausnutzung der verfügbaren Ressourcen, wenn das Zeitverhalten der Anwendungen genau vorhersagbar sein soll.In certain application areas of today's and future computer systems (eg multimedia) it is necessary to predict the execution time of software programs or parts thereof as accurately as possible, for example to fulfill real-time requirements or to optimize the program sequence. This execution time is co-determined by accesses to a complex memory hierarchy consisting of one or more main memory controllers and / or other input / output interfaces, one or more communication media (eg in the form of a network-on-chip, NoC ) and a hierarchy of one or more cache memories per hierarchical level. In particular, the caches have a very dynamic behavior, which makes the prediction of the timing very difficult. In addition, in multiprocessor computer systems, the components of the memory hierarchy may be shared by multiple microprocessors, and thus also by independent software programs, which may result in access conflicts that may also greatly affect the timing of program executions. This impact depends not only on the behavior of a single software program, but also on how other concurrent software programs behave and how individual resources resolve their respective access conflicts. The mutual influence is therefore only very imprecisely predictable in the known multiprocessor computer systems, so that when accessing common resources, an overestimation of the running time of the software programs, since conservative estimation always has to assume the highest possible influence. As a result, the system is either greatly oversized or the software programs can not be executed with guaranteed time behavior. In other words, if it is possible to reserve all the required resources in such a way that no interference is possible, it would not be necessary to overestimate the runtime. Thus, in current multi-processor computer systems, there is a poor utilization of available resources if the timing of the applications is to be accurately predictable.
In so genannten eingebetteten Systemen (embedded systems) mit Echtzeitanforderungen ist es bekannt, die Ressourcen fest bestimmten Mikroprozessoren oder Programmen zuzuordnen, um entsprechende Konflikte zu vermeiden. Statt Cache-Speichern werden dort vorzugsweise softwareverwaltete Speicher, so genannten Scratch-Pad-Memories (SPM, vgl. Dokument D1 in der Literaturliste), eingesetzt, welche ein einfaches deterministisches Zeitverhalten haben.In so-called embedded systems with real-time requirements, it is known to assign the resources to specific microprocessors or programs in order to avoid corresponding conflicts. Instead of cache memory, software-managed memories, so-called scratch pad memories (SPM, see document D1 in the literature list), which have a simple deterministic time response, are preferably used there.
Hiermit können zwar relativ effektiv die Echtzeitanforderungen erfüllt werden, das System ist aber in der Regel ziemlich anwendungsspezifisch und nicht für einen universellen Einsatz geeignet. Ein solches System eignet sich insbesondere nicht für den effizienten Einsatz für allgemeinere Aufgaben, z. B. in Desktop- und Serversystemen. Außerdem führen solche Anpassungen meist zu einer ineffizienten Systemnutzung.Although this can be relatively effective real-time requirements are met, but the system is usually quite application-specific and not suitable for universal use. Such a system is particularly not suitable for efficient use for more general tasks, e.g. In desktop and server systems. In addition, such adjustments usually lead to inefficient system usage.
Aus der Veröffentlichung von
Der Erfindung liegt die Aufgabe zu Grunde, ein Kommunikationsmedium für ein Mehrprozessor-Computersystem anzugeben, das eine Verringerung der Latenz derjenigen Kommunikation erlaubt, die keine strengen Anforderungen an die Dienstgüte stellt.The invention has for its object to provide a communication medium for a multiprocessor computer system, which allows a reduction in the latency of those communication that does not place strict demands on the quality of service.
Diese Aufgabe wird durch die in dem Patentanspruch 1 angegebene Erfindung gelöst. Die Unteransprüche enthalten vorteilhafte Ausführungsformen der Erfindung.This object is solved by the invention defined in
Die Erfindung hat den Vorteil, dass der Hintergrunddatenverkehr mit weniger Latenz ausgeführt wird. Hierdurch wird der Durchsatz z. B. von Desktop- und Serveranwendungen verbessert.The invention has the advantage that the background data traffic is executed with less latency. As a result, the throughput z. For example, desktop and server applications improved.
Eine vorteilhafte Weiterbildung der Erfindung erlaubt es ferner, eine zur Laufzeit des Computersystems und somit eine von Programmen konfigurierbare, definierte Zuteilung aller benötigten Ressourcen zu ermöglichen. Hierdurch wird das Zeitverhalten von Zugriffen, insbesondere auf die Speicherhierarchie, vorhersagbar gemacht. Darüber hinaus wird ein effizienter, vorhersagbarer Datentransport im Hintergrund ermöglicht. Wesentlich ist hierbei ein zentraler Ressourcen-Manager (nachfolgend RM genannt), welcher die Zuteilung von Ressourcen koordiniert. Der RM ist als separate Hardware-Komponente des Computersystems implementiert. Eine Implementierung des RM als Hardware-Komponente ist vorteilhaft auch in Form einer Implementierung auf dem selben Chip wie die Prozessoren möglich, also auf einem Multiprocessor-System-On-Chip bzw. einem Chip-Multiprocessor. An advantageous development of the invention also makes it possible to allow for the runtime of the computer system and thus a configurable by programs, defined allocation of all required resources. This makes the timing of accesses, especially to the memory hierarchy, predictable. It also enables efficient, predictable data transport in the background. Essential here is a central resource manager (hereinafter called RM), which coordinates the allocation of resources. The RM is implemented as a separate hardware component of the computer system. An implementation of the RM as a hardware component is advantageously also possible in the form of an implementation on the same chip as the processors, ie on a multiprocessor system-on-chip or a chip multiprocessor.
Vorteilhaft verwaltet der RM ihm zugeordnete, zumindest bezüglich ihres Zeitverhaltens einstellbare Ressourcen. Durch die Einführung von Reservierungsanfragen, die neben Art und Umfang gewünschter, zu reservierender Ressourcen auch deren Zeitverhalten beschreiben, wird der RM in die Lage versetzt, ein Ressourcen-Management auch hinsichtlich der Ausführungszeiten von Programmen durchzuführen. Vorteilhaft stellt der RM das Zeitverhalten der zugeteilten Ressourcen gemäß dem angeforderten Zeitverhalten einer Reservierungsanfrage ein. Hierdurch garantiert der RM eine definierte Ausführungszeit, wie in der Reservierungsanfrage angefordert, und somit ein deterministisches Zeitverhalten derjenigen Programme, die Reservierungen durchführen.Advantageously, the RM manages assigned to him, at least with respect to their timing adjustable resources. The introduction of reservation requests, which describe the type and scope of desired resources to be reserved as well as their time behavior, enables the RM to carry out a resource management also with regard to the execution times of programs. Advantageously, the RM adjusts the timing of the allocated resources according to the requested timing of a reservation request. As a result, the RM guarantees a defined execution time, as requested in the reservation request, and thus a deterministic time behavior of those programs that make reservations.
Die Parameter einer Reservierungsanfrage sind dabei je nach gewünschter Ressource definiert. Sofern als Art der Ressource beispielsweise Cache-Speicher angefordert wird, wird als Umfang die gewünschte Speichergröße in KB oder MB angegeben. Als Zeitverhalten wird die Zugriffslatenz angegeben. Für den Fall, dass als Art der Ressource ein Kommunikationsmedium angefragt wird, wird als Umfang das zu übertragende Datenvolumen (z. B. in MB) und als Zeitverhalten die gewünschte Übertragungszeit oder bei mehrfacher Übertragung die Übertragungsrate und -latenz angegeben. Die Einstellung des Zeitverhaltens schließt auch die Behandlung von Zugriffskonflikten bei gemeinsamer Nutzung von Ressourcen durch mehrere Prozessoren ein. Hierfür sind die Ressourcen für eine solche Behandlung von Zugriffskonflikten einstellbar, z. B. derart, dass die verfügbare Kapazität einer Ressource anteilig verschiedenen Prozessoren bzw. anfragenden Programmen zugeordnet wird.The parameters of a reservation request are defined depending on the desired resource. For example, if cache type is requested as the type of resource, the size specified is the desired amount of memory in KB or MB. The access latency is specified as the time behavior. In the event that a communication medium is requested as the type of resource, the volume specified is the data volume to be transmitted (eg in MB) and the desired transmission time as the time response or the transmission rate and latency for multiple transmissions. The timing adjustment also includes the handling of access conflicts when resources are shared by multiple processors. For this purpose, the resources for such treatment of access conflicts can be set, for. For example, such that the available capacity of a resource is proportionally allocated to different processors or requesting programs.
In einer vorteilhaften Ausgestaltung der Erfindung kann der RM pro Reservierungsanfrage mehr als eine Ressource reservieren. Dies hat den Vorteil, dass die Reservierungsanfragen eine funktionale Beschreibung der gewünschten Ressourcen enthalten können und nicht unbedingt hardwarespezifisch sein müssen. So muss eine Reservierungsanfrage beispielsweise nicht unbedingt die Anforderung enthalten, dass eine bestimmte Speicherplatzgröße mit einer bestimmten Zugriffszeit sowie bestimmte Zugriffszeiten auf die Kommunikationsmedien reserviert werden. Vielmehr kann die Reservierungsanfrage eine funktionale Beschreibung der gewünschten Ressourcen enthalten, etwa für das Abspielen einer Multimediadatei. Der RM wählt dann automatisch die erforderlichen Ressourcen aus, z. B. Cache-Speicher für eine Zwischenspeicherung, Kommunikationsmedien-Zugriffszeiten sowie Ein-/Ausgabekanäle, stellt diese entsprechend dem angeforderten Zeitverhalten ein und reserviert die entsprechenden Kapazitäten dieser Hardware-Ressourcen.In an advantageous embodiment of the invention, the RM can reserve more than one resource per reservation request. This has the advantage that the reservation requests may contain a functional description of the desired resources and may not necessarily be hardware-specific. For example, a reservation request may not necessarily include the requirement that a particular amount of memory be reserved with a certain access time and certain access times to the communication media. Rather, the reservation request may include a functional description of the desired resources, such as for playing a multimedia file. The RM then automatically selects the required resources, e.g. Caching cache, communication media access times, and input / output channels, adjusts them according to the requested timing and reserves the corresponding capacities of those hardware resources.
Gemäß einer vorteilhaften Weiterbildung der Erfindung beschreiben die Reservierungsanfragen virtuelle Ressourcen. Der RM wählt automatisch diejenigen realen Ressourcen aus und teilt sie zu, die zur Erfüllung einer Reservierungsanfrage erforderlich sind. Eine virtuelle Ressource kann beispielsweise ein virtueller Prozessor sein, d. h. eine bestimmte Rechenkapazität eines realen Mikroprozessors der Hardware. Die Bereitstellung solcher virtueller Ressourcen erlaubt es dem Anwender bzw. dem Programmierer, die Programme weitgehend unabhängig von einer bestimmten Hardwareausstattung des Mehrprozessor-Computersystems zu entwickeln, da sich der RM automatisch um die Zuordnung und das Management realer Hardware-Ressourcen kümmert.According to an advantageous embodiment of the invention, the reservation requests describe virtual resources. The RM automatically selects and allocates those real resources needed to fulfill a reservation request. For example, a virtual resource may be a virtual processor, i. H. a certain computing capacity of a real microprocessor of the hardware. The provision of such virtual resources allows the user or programmer to develop the programs largely independently of any particular hardware equipment of the multiprocessor computer system, as the RM automatically handles the allocation and management of real hardware resources.
Gemäß einer vorteilhaften Weiterbildung der Erfindung verfügt der RM über ein System-Modell, das wenigstens die von dem RM verwalteten Ressourcen hinsichtlich Art, Kapazität sowie Zugriffslatenz und Zugriffsbandbreite beschreibt. Die Verwendung des System-Modells hat den Vorteil, dass das Ressourcen-Management auf einfache und effiziente Weise möglich wird. Insbesondere sind auch Änderungen der Hardware-Konfiguration des Mehrprozessor-Computersystems unproblematisch, da hinsichtlich des RM lediglich das System-Modell aktualisiert werden muss. Das System-Modell spiegelt sozusagen ein Abbild des Systems wieder. Das System-Modell kann beispielsweise in einem Flash-Speicher abgelegt sein.According to an advantageous development of the invention, the RM has a system model which describes at least the resources managed by the RM with regard to type, capacity and access latency and access bandwidth. Using the system model has the advantage of enabling resource management in a simple and efficient manner. In particular, changes in the hardware configuration of the multiprocessor computer system are also unproblematic, since with respect to the RM only the system model needs to be updated. The system model reflects, so to speak, an image of the system. The system model may, for example, be stored in a flash memory.
Gemäß einer vorteilhaften Weiterbildung der Erfindung werden als Ressourcen virtuelle Ressourcen bereitgestellt, die virtuelle Scratch-Pad-Memories (nachfolgend SPM genannt) mit direktem Speicherzugriff (direct-memory-access, nachfolgend DMA genannt) enthalten. Vorteilhaft wird das im Bereich eingebetteter Systeme genutzte Programmiermodel der SPM's mit DMA-Transfers verwendet, also ein virtuelles SPM im Cache bereitgestellt, auf das über einen DMA-Controller zugegriffen werden kann. Der RM stellt den Programmen ein Interface zur Reservierung von virtuellen Komponenten mit deterministischen Eigenschaften zur Verfügung, z. B. ein virtuelles SPM mit fester Größe und garantierter Zugriffsbandbreite und -latenz oder einen virtuellen DMA-Transfer zwischen virtuellem SPM und Hauptspeicher mit garantierter maximaler Ausführungsdauer. Auf diese Weise können virtuelle eingebettete Subsysteme mit definiertem Zeitverhalten innerhalb des Gesamtsystems erzeugt werden.According to an advantageous development of the invention, virtual resources are provided as resources which contain virtual scratchpad memories (hereinafter referred to as SPM) with direct memory access (hereinafter referred to as DMA). Advantageously, the programming model of the SPMs used in the area of embedded systems is used with DMA transfers, that is, a virtual SPM is provided in the cache that can be accessed through a DMA controller. The RM provides the programs with an interface for reserving virtual components with deterministic properties. A virtual SPM of fixed size and guaranteed access bandwidth and latency or a virtual DMA transfer between virtual SPM and main memory with guaranteed maximum execution time. In this way, virtual embedded subsystems with defined time behavior can be generated within the overall system.
Gemäß einer vorteilhaften Weiterbildung weisen die von dem RM verwalteten Ressourcen wenigstens ein Kommunikationsmedium, z. B. ein Datenbus, einen Speicher oder Speicher-Controller, einen Hardware-Beschleuniger und/oder wenigstens eine Ein- und/oder Ausgabeeinheit auf. Hierdurch ist das Verfahren flexibel auf einer Vielzahl unterschiedlich ausgestatteter Mehrprozessor-Computersysteme einsetzbar.According to an advantageous development, the resources managed by the RM have at least one communication medium, e.g. As a data bus, a memory or memory controller, a hardware accelerator and / or at least one input and / or output unit. As a result, the method can be used flexibly on a multiplicity of differently equipped multiprocessor computer systems.
Die Realisierung der Ressourcenzuteilung durch einen zentralen RM hat folgende Vorteile:
- – Der RM kann anhand eines System-Modells und der Kenntnis existierender Reservierungen prüfen, ob eine Reservierungsanfrage überhaupt erfüllbar ist. Hierbei kann der RM eine Priorisierung durchführen und ggf. bereits erteilte Reservierungen stornieren, um eine wichtigere Reservierungsanfrage zu erfüllen.
- – Bei fehlerhaftem Verhalten eines reservierenden Programms kann der RM Reservierungen stornieren und so Ressourcen wieder freigeben.
- – Bei nicht gegebener Erfüllbarkeit einer Reservierungsanfrage kann der RM mit dem anfragenden Programm alternative Reservierungen aushandeln.
- – Der RM kann bei Kenntnis der Systemauslastung (z. B. durch einen Performance-Counter) die Systemleistung bei einer Reservierung optimieren. Hierfür kann der RM ggf. alternative Reservierungen mit einem anfragenden Programm aushandeln.
- – Der RM stellt eine Abstraktionsebene für das Programm dar, indem eine von der tatsächlichen Implementierung der Ressourcenzuteilung unabhängige Schnittstelle bereitgestellt wird.
- The RM can use a system model and the knowledge of existing reservations to check whether a reservation request can be fulfilled at all. In doing so, the RM can prioritize and, if necessary, cancel already issued reservations in order to fulfill a more important reservation request.
- - If a reserving program behaves incorrectly, the RM can cancel reservations and release resources.
- - If a reservation request can not be fulfilled, the RM can negotiate alternative reservations with the requesting program.
- - The RM can optimize the system performance when making a reservation knowing the system utilization (eg through a performance counter). For this, the RM may negotiate alternative reservations with a requesting program.
- The RM provides a level of abstraction for the program by providing an interface independent of the actual implementation of the resource allocation.
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Verwendung von Zeichnungen näher erläutert.The invention will be explained in more detail by means of embodiments using drawings.
Es zeigenShow it
In den Zeichnungen werden gleiche Bezugszeichen für einander entsprechende Elemente verwendet.In the drawings, like reference numerals are used for corresponding elements.
Nachfolgend bedeuten die Begriffe Programm, Softwareprogramm, Anwendung oder Applikation jeweils auf dem Computersystem ausführbare Programme jeder Art, insbesondere Anwendungsprogramme und Systemprogramme.In the following, the terms program, software program, application or application mean executable programs of any kind on the computer system, in particular application programs and system programs.
Eine vorteilhafte Weiterbildung der Erfindung erlaubt es, durch eine dynamische Verwaltung von Ressourcen das Zeitverhalten des Systems – insbesondere das der Speicherhierarchie – für einzelne, als wichtig angesehene Anwendungen vorhersagbar zu machen, diese also von gleichzeitig laufenden Applikationen zu isolieren. Auf diese Weise ist es möglich, Anwendungen, die ein genau vorhersagbares Zeitverhalten benötigen, gleichzeitig mit anderen Anwendungen auf einem System mit gemeinsam genutzten Ressourcen auszuführen.An advantageous development of the invention makes it possible to predict the temporal behavior of the system-in particular that of the memory hierarchy-for individual applications regarded as important by dynamic management of resources, ie to isolate them from simultaneously running applications. In this way, it is possible to run applications that need precisely predictable timing simultaneously with other applications on a shared resource system.
Hierbei werden existierende Mechanismen für einzelne Ressourcen, welche z. B. durch Reservierung oder Priorisierung das Verhalten im Falle von Zugriffskonflikten verbessern, verwendet. Diese werden nun im Folgenden vorgestellt:Here are existing mechanisms for individual resources, which z. B. by reservation or prioritization to improve the behavior in the case of access conflicts. These are now presented below:
Cache-SpeicherCache
Einige Cache-Architekturen ermöglichen es, durch Umkonfigurierung (D2) oder so genanntes Cache-Locking (D3, D4), also das Festhalten bestimmter Daten im Cache, das Zeitverhalten von Caches selektiv zu vereinfachen. Hierbei verhält sich der Cache dann wie ein softwareverwalteter Speicher. Verschiedene Verfahren mit unterschiedlichen Vor- und Nachteilen (Schaltungsaufwand, Konfigurations-Overhead, Granularität des Locking) existieren.Some cache architectures make it possible to selectively simplify the timing of caches through reconfiguration (D2) or so-called cache-locking (D3, D4), ie the retention of certain data in the cache. The cache then behaves like a software-managed memory. Different methods with different advantages and disadvantages (circuit complexity, configuration overhead, granularity of locking) exist.
Der gegenseitige Einfluss gleichzeitig ausgeführter Programme kann bei einem gemeinsam genutzten Cache durch so genannte Cache-Partitionierung (D5, D6), also die feste Zuweisung von Teilen des gemeinsam genutzten Caches an bestimmte Prozessoren oder Anwendungen, erreicht werden. Auch hier gibt es zahlreiche unterschiedliche Ansätze.The concurrent influence of concurrently executed programs on a shared cache can be done by so-called cache partitioning (D5, D6), ie the fixed allocation of Share the shared cache with specific processors or applications. Again, there are many different approaches.
Konkrete Ausprägungen der Erfindung können verteilte Caches enthalten. Über ein so genanntes „Address-Mapping” kann gesteuert werden, welche Adressen welchen Cache-Teilen zugeordnet sind (D7). Diese Funktionalität kann im Kommunikationsmedium implementiert sein.Specific embodiments of the invention may include distributed caches. A so-called "address mapping" can be used to control which addresses are assigned to which cache parts (D7). This functionality can be implemented in the communication medium.
Datentransfersdata transfers
Insbesondere bei der Verwendung von SPMs werden größere Datenmengen unter Ausnutzung bekannter bzw. regelmäßiger Zugriffsmuster oft über das so genannte Direct-Memory-Access-Verfahren (DMA) im Hintergrund in das SPM geschrieben bzw. daraus gelesen. Die entsprechende Steuerung übernimmt hierbei ein DMA-Controller (DMAC), der wiederum von der Applikation gesteuert wird (D8). Eine vorteilhafte Weiterbildung der Erfindung beinhaltet erweiterte DMA-Controller in Form von Datentransfereinheiten (nachfolgend DTE genannt). Diese schwach-konfigurierbaren Einheiten bieten erweiterte Adressmuster, z. B. 2D-, 3D-, 4D-Blocktransfers, Scatter-/Gather-Listen, sowie die Möglichkeit, Cache-Locking und -Partitionierung durchzuführen.Especially with the use of SPMs, larger amounts of data are often written into the SPM using the so-called direct memory access method (DMA) in the background or read from it, using known or regular access patterns. The corresponding control is handled by a DMA controller (DMAC), which in turn is controlled by the application (D8). An advantageous development of the invention includes advanced DMA controllers in the form of data transfer units (hereinafter called DTE). These low-configurable units provide extended address patterns, e.g. 2D, 3D, 4D block transfers, scatter / gather lists, as well as the ability to perform cache locking and partitioning.
Hauptspeichermain memory
Konflikte beim Hauptspeicherzugriff werden durch spezielle Ablaufplanung im Hauptspeichercontroller behandelt, wodurch die Datenraten einzelner Applikationen begrenzt bzw. Zugriffe bestimmter Applikationen priorisiert werden können (D9, D10). Auf diese Weise können in gewissen Grenzen die maximale Latenz und/oder der minimale Datendurchsatz für ausgewählte Anwendungen garantiert werden.Conflicts in the main memory access are handled by special scheduling in the main memory controller, whereby the data rates of individual applications limited or accesses of certain applications can be prioritized (D9, D10). In this way, the maximum latency and / or the minimum data throughput for selected applications can be guaranteed within certain limits.
Kommunikationsmediumcommunications medium
Um den Einfluss von Konflikten auf dem Kommunikationsmedium zu eliminieren, existieren insbesondere im Bereich eingebetteter Systeme Networks-on-Chip, welche verschiedene Dienstguten (Quality-of-Service, QoS) unterstützen. Diese werden in der Regel durch Priorisierung (D11, D12, D13) und/oder Reservierung (D14, D15, D16), von Kommunikationsressourcen realisiert und ermöglichen, gleichzeitig stattfindende Kommunikationen voneinander zu isolieren.In order to eliminate the influence of conflicts on the communication medium, especially in the area of embedded systems there are networks on chip, which support different quality of service (QoS). These are typically implemented by prioritizing (D11, D12, D13) and / or reserving (D14, D15, D16) communication resources and allowing concurrent communications to be isolated from each other.
Diese Mechanismen haben jedoch den Nachteil, dass diejenige Kommunikation, welche keine strengen Anforderungen an die Dienstgüte stellt, benachteiligt wird. In einem Prozessorsystem trifft dies auf den von Desktop- und Serveranwendungen verursachten Datenverkehr zu. Eine Benachteiligung dieses Verkehrs führt jedoch dazu, dass Anfragen mit einer höheren Latenz belegt sind, was den Durchsatz dieser Anwendungen stark beeinträchtigen kann.However, these mechanisms have the disadvantage that the communication which does not impose strict quality of service requirements is disadvantaged. In a processor system, this applies to the traffic caused by desktop and server applications. A disadvantage of this traffic, however, leads to requests with a higher latency, which can severely impair the throughput of these applications.
Die Erfindung reduziert diese Effekte.The invention reduces these effects.
Die Erfindung betrifft ein Kommunikationsmedium für ein Mehrprozessor-Computersystem, das z. B. in Form eines in einem Chip integrierten Netzwerks (Network-On-Chip) ausgeführt sein kann. Das Kommunikationsmedium ist in Bezug auf das Zeitverhalten derart einstellbar, dass ein Hintergrunddatenverkehr vor einem Datenverkehr mit definierten Bandbreitenanforderungen bevorzugt behandelt wird, und ferner ist das Kommunikationsmedium durch Bandbreitenregulierung derart einstellbar, dass ausreichend Bandbreite für den Datenverkehr mit definierten Bandbreitenanforderungen verfügbar ist. Es wird somit unterschieden zwischen einem allgemeinen Datenverkehr, der keine bestimmten Bandbreitenanforderungen hat, und demzufolge als Hintergrunddatenverkehr bezeichnet wird, und dem Datenverkehr mit definierten Bandbreitenanforderungen. Die Erfindung erlaubt, dass solcher Hintergrunddatenverkehr je nach Systemauslastung auch vor einem Datenverkehr mit definierten Bandbreitenanforderungen behandelt werden kann. Hierzu wird das Kommunikationsmedium auf eine bestimmte Bandbreite eingestellt.The invention relates to a communication medium for a multiprocessor computer system, the z. B. in the form of a network integrated in a chip (network-on-chip) can be executed. The communication medium is tunable in terms of timing to preferentially handle background traffic prior to traffic having defined bandwidth requirements, and further, the bandwidth-tunable communication medium is tunable to provide sufficient bandwidth for the traffic having defined bandwidth requirements. Thus, a distinction is made between general traffic that does not have specific bandwidth requirements, and hence is referred to as background traffic, and traffic with defined bandwidth requirements. The invention allows such background traffic to be treated against data traffic with defined bandwidth requirements depending on system load. For this, the communication medium is set to a certain bandwidth.
In einer beispielhaften Ausführung eines solchen Kommunikationsmediums handelt es sich um ein on-chip Netzwerk, in welchem die Kommunikation Paket-basiert über eine Vielzahl von Netzwerk-Routern, welche z. B. in einem Gitter (Mesh) angeordnet sind, erfolgt.
Darüber hinaus bietet die in einer Ausgestaltung der Erfindung enthaltene Ausführung der Kommunikationsarchitektur die Möglichkeit des oben beschriebenen Address Mapping. Hierzu bieten die Netzwerk-Adapter, also die Module, welche Netzwerk-Clients an das Netzwerk anbinden, die Möglichkeit der Umsetzung von Adressräumen auf Netzwerkadressen. Dies ermöglicht eine flexible Abbildung von Adressen auf Netzwerkknoten und somit von Speicheradressen auf Teile des verteilten Cache-Speichers (welcher als SPM verwendet werden kann).In addition, the embodiment of the communication architecture contained in one embodiment of the invention offers the possibility of the address mapping described above. For this purpose, the network adapters, ie the modules which connect network clients to the network, offer the possibility of implementing address spaces on network addresses. This allows flexible mapping of addresses on network nodes and thus memory addresses on parts of the distributed cache memory (which can be used as SPM).
Zentralisiertes Ressourcen-ManagementCentralized resource management
In den oben beschriebenen existierenden Ansätzen werden Ressourcenkonflikte im Cache, Hauptspeicher und Kommunikationsmedium jeweils einzeln behandelt. In der Regel werden jedoch mehrere Ressourcen zusammen verwendet, um eine bestimmte Aufgabe zu erfüllen. Daher ist es für die genaue Analyse des Zeitverhaltens von Zugriffen nötig, die Ressourcenverteilung zu koordinieren.In the existing approaches described above, resource conflicts in the cache, main memory and communication medium are treated individually. Typically, however, multiple resources are used together to accomplish a particular task. Therefore, to accurately analyze the timing of accesses, it is necessary to coordinate the resource distribution.
Dies stellt ein mehrdimensionales Optimierungsproblem dar. Für nicht-verteilte Anordnungen, d. h. bei Systemen, in denen jede Ressourcenklasse nur einmal vorhanden ist, existieren bereits einige Ansätze (D19, D20, D21), welche jedoch keine Echtzeitgarantien liefern, sondern sich auf eine faire Ressourcenverteilung bzw. auf eine Optimierung des Gesamtdurchsatzes konzentrieren. Außerdem werden dort keine Systeme behandelt, bei denen die Ressourcen verteilt vorhanden sind.This represents a multi-dimensional optimization problem. For non-distributed arrangements, i. H. In systems in which each resource class exists only once, there are already some approaches (D19, D20, D21), which, however, do not provide any real-time guarantees, but concentrate on a fair resource distribution or on an optimization of the overall throughput. In addition, there are no systems treated where the resources are distributed.
Eine vorteilhafte Weiterbildung der Erfindung ermöglicht eine Integration der oben beschriebenen Mechanismen durch Verwendung eines zentralen Ressourcen-Managers.An advantageous development of the invention enables integration of the mechanisms described above by using a central resource manager.
In
Eine konkrete Ausprägung einer solchen Architektur kann z. B. 64 Prozessoren mit privaten Level-1-Caches, einen auf 64 Teile verteilten Level-2-Cache, 2 Speichercontroller, 2 I/O-Controller und einen RM enthalten, welche über ein 8 × 8 Mesh-Netzwerk verbunden sind. Der verteilte Cache unterstützt Cache-Locking sowie Cache-Partitionierung. Die Speichercontroller implementieren eine prioritätsgesteuerte Ablaufplanung mit zwei Prioritätsklassen LOW und NORMAL, mit einer einstellbaren Datenratenbegrenzung (Traffic-Shaping) für die NORMAL-Klasse. Das Netzwerk unterstützt drei Prioritäten LOW, NORMAL und HIGH, welche mittels Priorisierung und verteilter Datenratenbegrenzung (Traffic-Shaping) eine Isolierung ermöglichen. Zudem erlaubt das Netzwerk mittels Address-Mapping die flexible Zuordnung von Speicher- und Netzwerkadressen.A concrete expression of such an architecture can, for. For example, there are 64 processors with
Charakteristisch für jede Ausprägung eines solchen Computersystems sind Mechanismen zur Verwaltung bzw. Reservierung aller gemeinsam genutzten Ressourcen, also z. B. Speicher bzw. Cache, Kommunikationsmedium, DTE, Speichercontroller und Ein-/Ausgabe-Einheit. Auf diese Infrastruktur setzt in jeder Ausprägung ein Ressourcen-Manager auf.Characteristic of each version of such a computer system are mechanisms for the management or reservation of all shared resources, so z. As memory or cache, communication medium, DTE, memory controller and input / output unit. A resource manager builds on this infrastructure in every form.
In der Grundkonfiguration stellt dieses System ein symmetrisches Mehrprozessorsystem (SMP) mit uneinheitlichem Cache-Zugriff (non-uniform cache access, NUCA) und ggf. uneinheitlichem Speicherzugriff (non-uniform memory access, NUMA) dar. Hierbei können alle Prozessoren
Applikationen können nun beim RM bestimmte Dienste anfragen. Diese Anfragen können in Form von virtuellen Komponenten mit definiertem Zeitverhalten gestellt werden. Hierbei übernimmt der RM die Konfiguration sämtlicher Komponenten, wie in
Vorteilhafte Arten von Reservierungsanfragen sind im Folgenden aufgeführt und erläutert.Advantageous types of reservation requests are listed and explained below.
Reservierung eines virtuellen eingebetteten Systems Reservation of a virtual embedded system
Hierbei fragt die Anwendung
Jede Anfrage
Reservierungsanfragen können mit einer Priorität versehen werden. Stellt der RM bei einer Anfrage mit einer bestimmten Priorität im Schritt
Ist eine Anfrage auf Grund der verfügbaren Ressourcen nicht erfüllbar und existiert auch keine erfüllbare alternative Konfiguration, teilt der RM dies der anfragenden Anwendung im Schritt
Um nach Beendigung einer Anwendung bzw. bei höher priorisierten Anfragen reservierte Ressourcen wieder freizugeben, protokolliert der RM jede durchgeführte Konfigurationsänderung zusammen mit einem Verweis auf die Anfrage bzw. Anwendung, welche diese Konfigurationsänderung veranlasst hat.In order to release resources reserved after the termination of an application or for requests with a higher priority, the RM logs each configuration change made together with a reference to the request or application that caused this configuration change.
Die Auswahl einer Konfiguration erfolgt anhand eines System-Modells und stellt ein mehrdimensionales Optimierungsproblem dar. Eine effiziente Lösung kann daher in mehreren Schritten erfolgen. So kann der RM zunächst freie Prozessoren, Cache-Speicher, Hardwarebeschleuniger, Datentransfereinheiten und Speichercontroller auswählen und konfigurieren, bevor in einem zweiten Schritt die dazwischenliegenden Kommunikationsressourcen entsprechend den Latenz- und Bandbreitenanforderungen konfiguriert werden.The selection of a configuration is based on a system model and represents a multi-dimensional optimization problem. An efficient solution can therefore be done in several steps. Thus, the RM may first select and configure idle processors, caches, hardware accelerators, data transfer units, and storage controllers before, in a second step, configuring the intervening communication resources according to the latency and bandwidth requirements.
Die Reservierung der ausgewählten Ressourcen erfolgt durch den Ressourcen-Manager, wie in
- – Um die reservierten Speicher in den Adressraum der beteiligten Komponenten (Prozessoren und Hardwarebeschleuniger) einzubinden, wird das Address-Mapping dieser Komponenten bzw. der betroffenen Netzwerk-Adapter entsprechend eingestellt.
- – Cache-Speicher wird über Cachepartitionierungsregister der beteiligten Caches reserviert. Für die Reservierung von Cache-Teilen als SPM werden diese gesperrt. Um eine cachezeilenweise Sperrung zu beschleunigen, kann der RM durch eine DTE unterstützt werden, welche die entsprechenden Anfragen an die Caches im Hintergrund generiert. Hierbei verwendet die DTE das zuvor eingestellte Address-Mapping. Die DTE meldet die Fertigstellung der Sperrung an den RM.
- – Prozessoren und Hardwarebeschleuniger werden über das Scheduling der Laufzeitumgebung und/oder entsprechende Konfigurationsregister reserviert.
- – Bandbreiten und Latenzen von Hauptspeicherzugriffen werden z. B. über entsprechende Konfigurationsregister in den Hauptspeichercontrollern gesteuert.
- – Der RM protokolliert die durchgeführten Konfigurationsänderungen zusammen mit der Reservierungsanfrage bzw. einer Referenz auf die reservierende Anwendung.
- – Sobald alle Ressourcen reserviert wurden, teilt der RM dies der Anwendung bzw. der Laufzeitumgebung mit, woraufhin die Anwendung das reservierte virtuelle System nutzen kann.
- - To integrate the reserved memory into the address space of the components involved (processors and hardware accelerators), the address mapping of these components or the affected network adapters is set accordingly.
- Cache memory is reserved via cache partitioning registers of the involved caches. For the reservation of cache parts as SPM these are blocked. To speed up cache-line locking, the RM can be supported by a DTE that generates the corresponding requests to the caches in the background. Here, the DTE uses the previously set address mapping. The DTE reports the completion of the blockage to the RM.
- - Processors and hardware accelerators are reserved via the scheduling of the runtime environment and / or corresponding configuration registers.
- - Bandwidths and latencies of main memory accesses are z. B. controlled via corresponding configuration register in the main memory controllers.
- - The RM logs the configuration changes made together with the reservation request or a reference to the reserving application.
- - Once all resources have been reserved, the RM notifies the application or the runtime environment, whereupon the application can use the reserved virtual system.
Reservierung eines virtuellen, softwareverwalteten SpeichersReservation of virtual software-managed storage
Hierbei fragt die Anwendung
Durchführung eines Datentransfers im HintergrundCarrying out a data transfer in the background
Hierbei fragt die Anwendung
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte Nicht-PatentliteraturCited non-patent literature
- Ray, S. et al.: „A reconfigurable bus structure for multiprocessors with bandwidth reuse. in: Journal of Systems Architecture, Vol. 45, No. 11, May 1999, pp. 847-862, Abstract” [0007] Ray, S. et al .: "A reconfigurable bus structure for multiprocessors with bandwidth reuse. in: Journal of Systems Architecture, Vol. 45, no. 11, May 1999, pp. 847-862, abstract " [0007]
Claims (11)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102009016742A DE102009016742B4 (en) | 2009-04-09 | 2009-04-09 | Multiprocessor computer system |
DE200910061066 DE102009061066A1 (en) | 2009-04-09 | 2009-04-09 | Method for operating multiprocessor computer system involves allocating desired resources and adjusting time response of the allocated resources by resource manager based on time response requested with reservation request |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200910061066 DE102009061066A1 (en) | 2009-04-09 | 2009-04-09 | Method for operating multiprocessor computer system involves allocating desired resources and adjusting time response of the allocated resources by resource manager based on time response requested with reservation request |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102009061066A1 true DE102009061066A1 (en) | 2011-07-07 |
Family
ID=44312532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200910061066 Ceased DE102009061066A1 (en) | 2009-04-09 | 2009-04-09 | Method for operating multiprocessor computer system involves allocating desired resources and adjusting time response of the allocated resources by resource manager based on time response requested with reservation request |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102009061066A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130984A (en) * | 2019-06-25 | 2020-12-25 | 中国电信股份有限公司 | Resource processing method, device and computer readable storage medium |
CN114868363A (en) * | 2019-12-23 | 2022-08-05 | 三菱电机株式会社 | Optical communication device and resource management method |
-
2009
- 2009-04-09 DE DE200910061066 patent/DE102009061066A1/en not_active Ceased
Non-Patent Citations (1)
Title |
---|
Ray, S. et al.: "A reconfigurable bus structure for multiprocessors with bandwidth reuse. in: Journal of Systems Architecture, Vol. 45, No. 11, May 1999, pp. 847-862, Abstract" |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130984A (en) * | 2019-06-25 | 2020-12-25 | 中国电信股份有限公司 | Resource processing method, device and computer readable storage medium |
CN114868363A (en) * | 2019-12-23 | 2022-08-05 | 三菱电机株式会社 | Optical communication device and resource management method |
CN114868363B (en) * | 2019-12-23 | 2024-03-01 | 三菱电机株式会社 | Optical communication device and resource management method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102009016742B4 (en) | Multiprocessor computer system | |
DE102016221811B4 (en) | Allocation of resources with tiered storage | |
DE102005029852B4 (en) | A control arrangement for enabling one or more virtual memory pages upon completion of a program in a multiprocessor computer system | |
DE102012219907B4 (en) | Increase storage capacity in systems with limited electrical power consumption | |
DE68927375T2 (en) | Arbitration of transmission requests in a multiprocessor computer system | |
DE69930855T2 (en) | METHOD AND DEVICE FOR PERFORMING A DETERMINISTIC MEMORY ASSIGNMENT RESPONSE IN A COMPUTER SYSTEM | |
DE69734129T2 (en) | Hierarchical data processing system with symmetric multiprocessors | |
DE69533680T2 (en) | Method and device for the dynamic determination and allocation of access resources for a common resource | |
DE60037065T2 (en) | Transmission control with hub and gate architecture | |
DE112006003081B4 (en) | Performance prioritization in multithreaded processors | |
DE60016283T2 (en) | WORKLOAD MANAGEMENT IN A COMPUTER ENVIRONMENT | |
DE10152970B4 (en) | Semiconductor device with system bus and external bus and semiconductor chip operating method and storage medium | |
DE102006019839A1 (en) | Time-conscious systems | |
DE102006032832A1 (en) | Network system and method for controlling distributed memory | |
DE102004012056A1 (en) | Systems and methods for monitoring resource utilization and application performance | |
DE112013003733T5 (en) | Adaptive packet redirection to achieve reasonable, cost-effective, and / or energy-efficient network service quality on chip devices | |
DE60316141T2 (en) | REAL-TIME STORAGE AREA NETWORK | |
DE102008016181A1 (en) | Priority based throttling for power consumption processing performance QoS | |
DE102004028807A1 (en) | Computer system, control device, storage system and computing device | |
DE112017001808T5 (en) | TECHNOLOGIES FOR A DISTRIBUTED HARDWARE QUALITY MANAGER | |
DE112007002201T5 (en) | Quality of service implementation for platform resources | |
DE112020004661T5 (en) | Determining an optimal number of threads per core in a multi-core processor complex | |
DE102013114256A1 (en) | Systems and methods for maintaining information coherence | |
DE602005006338T2 (en) | Apparatus and method for data transmission processing | |
DE112018006769T5 (en) | EXTENDED CAUSE ALLOCATION BASED ON VIRTUAL NODE RESOURCES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: GRAMM, LINS & PARTNER PATENT- UND RECHTSANWAEL, DE |
|
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |