WO2013041612A1 - Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren übertragungsmedium - Google Patents
Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren übertragungsmedium Download PDFInfo
- Publication number
- WO2013041612A1 WO2013041612A1 PCT/EP2012/068518 EP2012068518W WO2013041612A1 WO 2013041612 A1 WO2013041612 A1 WO 2013041612A1 EP 2012068518 W EP2012068518 W EP 2012068518W WO 2013041612 A1 WO2013041612 A1 WO 2013041612A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- component
- resource
- computing system
- activity
- activities
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the invention relates to the access control to a transmission medium exclusively shared by several components. More particularly, the invention relates to a computing system having a plurality of components that exclusively share a resource, an aircraft having such a computing system, a method of affecting the exclusive allocation of a shared resource in a computing system to a component of a plurality of components executing are to use the resource, a computer program element for controlling a computing system, and a computer-readable medium with such a computer pi element.
- a combination of computer elements is usually based on an architecture, according to which the individual computer elements are connected to a transmission medium, via which the computer elements can exchange data and which exclusively share the computer elements. This means that each individual computer element can use the transmission medium, wherein at a given time only one computer element can use the transmission medium. If the transmission medium is designed such that it makes a plurality of transmission channels available, one transmission channel each can be used by one computing element. In this case, that can
- Transmission medium with the plurality of transmission channels of several computing elements are used simultaneously, but a single
- Transmission channel can be used at a given time only by a computing element. Thus, it is necessary to assign the transition medium to a respective computer element via a so-called assignment strategy, which computer element can then exclusively use the transmission medium. As soon as the computer element to which the transmission medium has been assigned has finished its transmission, the transmission medium is assigned to another or the same
- This basic architecture can be found for example in the networking of individual computers or computers via a computer network (so-called.
- Macrostructure as well as in the networking of components which are located internally in a computer, for example on a processor of a computer (so-called microstructure).
- DE 10 2009 046 062 B3 shows an apparatus and a method for the transmission of data via network nodes of a network, wherein a plurality of network nodes can transmit data via a data transmission bus with a transmission line and a reception line.
- the data transmission bus is used by a network node at one time and can, however, be allocated one after the other to different network nodes or assigned to them.
- a computing system having a plurality of components exclusively sharing a resource having an activity monitor and an interrupt unit.
- the activity monitor is configured to detect a number of activities of a component on the resource.
- Interrupt unit is configured to suspend access of the component to use the resource when the number of activities of the component reaches an activity threshold so that an allocation strategy can assign the exclusively shared resource to another component.
- the activity monitor may capture every single use of the resource by the component.
- Use of the resource may be, for example, transferring a data packet via the resource.
- an activity limit is indicated which causes the access of the corresponding component to use the resource to be interrupted if the number of detected
- the allocation strategy of the resource to a component will recognize that the resource is unused and will assign the resource to one of those components that want to use the resource.
- the component Because a component whose number of activities on the resource has reached the appropriate activity threshold, the component is prevented from using the resource, and the allocation strategy is enabled to assign the resource to another component.
- this reassignment can be enforced by using a resource-using component the resource is excluded if the number of activities of the using component reaches the activity threshold set for that component.
- the allocation strategy will assign the resource to another waiting component, even though the original using component would continue to use the resource.
- the activity threshold may be the same for each component of the plurality of components, but may also be customized for each component. Similarly, the activity threshold may be set prior to the commissioning of the computing system or may change during the operating time of the computing system.
- a component that has just been excluded from using the resource may immediately recover the resource, for example, if no other component wants to use the resource.
- the allocation strategy reassigns the resource in the following allocation cycle to the component that has just been excluded from the use of the resource.
- a component excluded from use may also be excluded from the use of the resource for a number of award cycles.
- allocation cycle is understood to mean that a component which uses the resource is denied access to the resource, so that the resource is assigned again, the allocation of the resource taking place by the allocation strategy.
- a new allocation cycle of the resource to a component begins whenever the resource in use has reached the appropriate activity limit with the number of its activities. Which component in the next
- the allocation cycle that the resource is allowed to use is determined by the allocation strategy. Interrupting a component from using the resource merely allows the allocation policy to allocate the resource to another component for use, but does not force the allocation to another component because the allocation strategy involves allocating the resource in the next allocation cycle according to the internal functions and resources Allocation mechanisms of the allocation strategy takes place.
- the computing system may, for example, be a composite of a plurality of individual recorders or computers which are mutually compatible
- Data exchange over a network are interconnected. However, it can also be any connection of computer components which access a common transmission medium for data exchange, for example a plurality of data memories in a computer, which receive or send the data over a common data bus.
- the components using the resource may be configured, in particular, to make no requests to use the resource in the event of an exclusion from the use of the resource or after an interruption of the use of the resource.
- the components excluded from the use of the resource may be configured to make no requests to use the resource until the beginning of a new award cycle.
- the computing system is a
- Multi-core processor
- Component one processor core of the multi-core processor Component one processor core of the multi-core processor.
- the components are the individual ones
- processor cores of which the multi-core processor has a plurality.
- the large number of processor cores is via a bus system or a
- processor internal bus connected so that the processor cores can exchange data, for example, with a memory and with input / output elements.
- the processor-internal bus is assigned to a processor core according to a manufacturer-specific allocation strategy.
- a reallocation of the bus system to one of the processor cores can be enforced by the one Bus system using processor core is initially excluded from the use of the bus system, so that the allocation strategy can make a reassignment.
- the multicore processor can be any number
- Component an input / output unit of the multi-core processor.
- the input / output unit is designed to also use the processor-internal bus system for data transmission, whereby these units are also assigned to use the bus system by the allocation strategy.
- the input / output unit may be any unit through which the multi-core processor exchanges data, i. H. Receiving data and / or sending data with its environment.
- Activity monitoring unit on a first group of memory cells, each having a memory cell of the first group is executed, the number of memory cells
- the activity monitoring unit is configured to increment a value stored in the memory cell assigned to the component that is currently using the resource with each activity of the component on the resource, for example, by a value of one.
- the activity monitor may also have only a single memory cell configured to accommodate the number of activities of the component that is currently using the resource. Each time the resource is reassigned to a component, the value of the one memory cell which receives the number of activities of the component currently active is then reset to an initial value, for example 0.
- Activity monitoring unit on a second group of memory cells, wherein each one memory cell of the second group is executed, the
- the second group of memory cells serves to compare the number of activities of the using component with the allowable activity limit. Only when the activity count of the component using the resource reaches the activity threshold, the component is excluded from using the resource. In the event that all components have the same activity threshold, the second group may also consist of a single memory cell containing the common activity limit of all components.
- the activity monitoring unit for example, a first
- Memory cell for the number of activities of the using component and a second memory cell for the activity limit of all components, wherein the first memory cell is reset to an output value in each allocation cycle and a second allocation cycle of the resource is initiated when the
- Activity count of the using component reaches the activity threshold.
- an aircraft is provided with a computing system as described above and below, wherein the computing system is configured to perform deterministic functions.
- the computing system in the aircraft may be configured to perform a variety of operations, such as the transmission of sensor signals, control information, multimedia information, and any other data to be transmitted over a transmission medium.
- Each of these calculations can be performed on a component of the computing system, but it can also be performed several calculations on a component.
- An activity limit value can be assigned to a single component or to every calculation process.
- a method of affecting the exclusive allocation of a shared resource is one
- Calculation system to a component of a plurality of components or a calculation process which are executed to use the resource specified, wherein the allocation of the resource to the component or the calculation process is carried out according to any predetermined allocation strategy.
- the method includes the steps of: setting an activity limit indicating the maximum number of activities of the component or computational resource on the shared resource, monitoring a number of component or computational activities on the shared resource, Block access of the component or computation to the shared resource when the number of activities is set
- Calculation can be understood, for example, a process to be executed on a computer or a block of instructions.
- the blocking of the access of the component to the shared resource can be effected, for example, by issuing a so-called interrupt signal to an operating system from the monitoring unit when the activity limit value is reached, and the operating system executing a computation operation on the component, for example a processor core of a multi-core processor or a computational process on a processor core, stops, whereby a bus system is no longer used by the corresponding processor core and becomes available for reassignment.
- the activity limit value can be the same for each component or else assume an individually set different value for each component.
- the activity limit for the components is determined, for example, before an operating time of a computing system and remains the same throughout the operating time.
- the setting of the activity limit value for each component takes place as a function of fluctuating external parameters, wherein the activity limit value can vary during the execution of the method. For example, when using the method in a computing system in an aircraft, this allows the activity limits for each component
- a flight phase such. As start, cruise phase or landing, and other external factors such. B. weather conditions, can be varied.
- the activity limit can be varied automatically or by manual input.
- the component's access to the shared resource is blocked by issuing an interrupt signal to an operating system, the operating system blocking access to the shared resource upon receiving the interrupt signal for the component or a computation.
- the operating system can be executed while doing calculations on the
- the operating system is also capable of interrupting the processing of a computing operation on a component, such as a processor core of a multi-core processor, and continue according to the allocation of the bus system to one of the processor cores.
- a component such as a processor core of a multi-core processor
- the method further comprises the step of: unblocking access of the component to the shared resource, wherein the unlocking occurs after access to the component's shared resource was withdrawn.
- the release of the lock can be done, for example, that the
- the number of activities of the locked component is reset to the initial value so that the component can be taken into consideration in the next allocation cycle of the resource during the assignment.
- Resource can only be canceled after a specified number of allocation cycles. This ensures that a component does not use the resource in several consecutive allocation cycles.
- the method does not cause the assignment order of a shared resource to be set to the components, but the method allows only one
- a computer program element for controlling a computing system as described above and below which is embodied, the method as described above and below perform when the computer program element is executed on a processor of a computing unit.
- the computer program element is executed on one
- Multi-core processor of a computer unit When executed on a multi-core processor, the computer program element enables
- processor cores of the multi-core processor there is provided a computer readable medium having stored thereon a computer program element as described above and below.
- a computer-readable medium may be any volatile or non-volatile storage medium, such as a hard disk, a CD, a DVD, a floppy disk, a memory card or any other computer-readable medium or storage medium.
- Fig. 1 shows a computing system according to an embodiment of the invention.
- Fig. 2 shows a multi-core processor according to an embodiment of the invention.
- 3 shows an activity monitoring unit for a computing system according to an embodiment of the invention.
- Fig. 4 shows an aircraft with a computing system according to a
- FIG. 5 shows a schematic flow chart of a method according to FIG.
- FIG. 6 shows a computer readable medium according to an embodiment of the invention.
- FIG. 1 shows a computing system 100 with four components 110, for example computers or computers, which can transmit and receive data via a common resource 120, for example a bus system or a network connection. Furthermore, the computing system 100 has a
- the activity monitoring unit 130 is configured to detect the number of activities of the components 110 on the common transmission medium 120.
- the detected number of activities of a component 110 is with a Activity limit and in case the number of activities is equal to the
- Activity threshold corresponds to that component 110, which uses the transmission medium 120, excluded by the interrupt unit 140 from the use of the bus system 120 and the access of the using component 110 to the transmission medium 120 is interrupted.
- FIG. 2 shows a multi-core processor 200 with three processor cores 210, two input / output units 211 and a memory 250, which are connected to one another via a shared processor-internal bus 220 in such a way that a reading and writing data exchange between said elements can take place.
- An activity monitoring unit 230 for example a so-called debug unit, monitors the activity of the processor cores or of the input / output units on the processor-internal bus system 220 and detects the number of activities of the unit which is currently using the bus system 220.
- the multi-core processor 200 includes an interrupt unit 240, which is configured to control the access of a component, i. H. a processor core 210 to interrupt bus system 220.
- a component i. H. a processor core 210 to interrupt bus system 220.
- the interrupt unit 240 of FIG. 2 is designed to merely interrupt the access of the processor cores to the bus system 220, the interrupt unit may also be designed to interrupt the access of the input / output units 211 to the bus system 220.
- the interruption unit 240 may also be, for example, a so-called interrupt function of an operating system which is located on the
- Multi-core processor 200 expires.
- 3 shows an activity monitoring unit 130, 230 having a first group of memory cells 131 and a second group of memory cells 132.
- the first group of memory cells 131 has a multiplicity of memory cells, wherein each individual memory cell of the first group is embodied, the number of memory cells
- one memory cell each of the second group of memory cells is designed to contain an activity threshold for each of the above-mentioned components.
- the first group of memory cells 131 includes a first memory cell 131-1 which receives the number of activities of a first component.
- further memory cells are listed in the first group of memory cells, which can also accommodate a value of the number of activities of another component.
- the memory cells 131-2, 131-3 to 131-n are each assigned to a component 110, 210, 211.
- both the number of components 110, 210, 211 and the number of memory cells of the first group and the second group can be fixed to an arbitrary number.
- the first group of memory cells 131 may be implemented such that this group has only one memory cell 131-1, which memory cell 131-1 then receives the number of activities of that component, each of which Transmission medium 120, 220 uses.
- the second group of memory cells 131 may be implemented such that this group has only one memory cell 131-1, which memory cell 131-1 then receives the number of activities of that component, each of which Transmission medium 120, 220 uses.
- the second group of memory cells 131 may be implemented such that this group has only one memory cell 131-1, which memory cell 131-1 then receives the number of activities of that component, each of which Transmission medium 120, 220 uses.
- Memory cells 132 may be designed so that nevertheless each component 110, 210, 211 receives its own activity limit, d. H. Each component 110, 210, 211 may have a specific adjustable activity threshold.
- FIG. 4 shows an aircraft 400 having a computing system 100, 200, wherein the computing system is designed to perform functions to be performed deterministically in the aircraft.
- the functions to be processed deterministically may in particular be the transmission of sensor signals and control signals in the aircraft, but it is also possible, for example, to transmit multimedia signals from the computer system.
- Fig. 5 shows the schematic representation of a method for influencing the exclusive allocation of a shared resource in one
- a computing system to a component of a plurality of components, which are designed to use the resource, wherein the allocation of the resource to the component according to any specified allocation strategy takes place.
- an activity limit is set which indicates the maximum number of activities of the component on the shared resource.
- monitoring of a number of activities of the component on the shared resource occurs.
- the adjustment of the activity limit during the execution of the method ie, for example, during an operating time of a computing system, on which the method as above and im
- a fourth step 540 the access of the component to the shared resource is disabled when the number of activities has reached the set activity threshold so that the admission strategy can assign the shared resource to another component.
- the allocation of the shared resource may again be made to the component that used the resource in the last award cycle.
- a fifth step 550 the suspension of the access of the component to the shared resource is released.
- the unlocking of the access can thus begin both before the beginning of the next allocation cycle, ie. H. that the component just used can receive the resource again, as well as after the beginning of the next one
- Fig. 6 shows a computer readable medium 600 on which a
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
Es ist ein Rechensystem (100) und ein Verfahren angegeben. Das Rechensystem hat eine Vielzahl von Komponenten (110), welche ausgeführt sind, eine Ressource (120) exklusiv gemeinsam zu nutzen, eine Aktivitätsüberwachungseinheit (130), welche eine Anzahl von Aktivitäten einer Komponente auf der Ressource erfasst und eine Unterbrechungseinheit (140), welche ausgeführt ist, den Zugang der Komponenten zur Nutzung der Ressource zu unterbrechen, wenn die Anzahl der Aktivitäten der Komponente einen Aktivitätsgrenzwert erreicht, so dass eine Zuweisungsstrategie die exklusiv gemeinsam genutzte Ressource einer anderen Komponente zuweisen kann.
Description
Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren Übertragungsmedium
GEBIET DER ERFINDUNG
Die Erfindung betrifft die Zugangssteuerung zu einem von mehreren Komponenten exklusiv gemeinsam genutzten Übertragungsmedium. Insbesondere betrifft die Erfindung ein Rechensystem mit einer Vielzahl von Komponenten, welche eine Ressource exklusiv gemeinsam nutzen, ein Luftfahrzeug mit einem solchen Rechensystem, ein Verfahren zum Beeinflussen der exklusiven Zuweisung einer gemeinsam genutzten Ressource in einem Rechensystem an eine Komponente einer Vielzahl von Komponenten, welche ausgeführt sind, die Ressource zu nutzen, ein Computerprogrammelement zur Steuerung eines Rechensystems, sowie ein computerlesbares Medium mit einem solchen Computerpi grammelement.
TECHNISCHER HINTERGRUND DER ERFINDUNG
Ein Verbund von Rechnerelementen basiert üblicherweise auf einer Architektur, gemäß welcher die einzelnen Rechnerelemente an ein Übertragungsmedium angeschlossen sind, über welches die Rechnerelemente Daten austauschen können und welches die Rechnerelemente exklusiv gemeinsam nutzen. Dies bedeutet, dass jedes einzelne Rechnerelement das Übertragungsmedium nutzen kann, wobei zu einem gegebenen Zeitpunkt lediglich ein Rechnerelement das Übertragungsmedium nutzen kann. Ist das Übertragungsmedium so ausgeführt, dass es eine Mehrzahl von Übertragungskanälen zur Verfügung stellt, kann jeweils ein Übertragungskanal von einem Rechnerelement genutzt werden. In diesem Fall kann das
Übertragungsmedium mit der Mehrzahl von Übertragungskanälen von mehreren Rechnerelementen gleichzeitig genutzt werden, wobei aber ein einzelner
Übertragungskanal zu einem bestimmten Zeitpunkt nur von einem Rechnerelement genutzt werden kann.
Damit ist es erforderlich, über eine sog. Zuweisungsstrategie das Übergangsmedium an jeweils ein Rechnerelement zuzuweisen, welches Rechnerelement dann das Übertragungsmedium exklusiv nutzen kann. Sobald das Rechnerelement, welchem das Übertragungsmedium zugewiesen ist, seine Übertragung beendet hat, wird das Übertragungsmedium zur Zuweisung an ein anderes oder an das gleiche
Rechnerelement freigegeben.
Diese grundsätzliche Architektur findet sich beispielsweise bei der Vernetzung von einzelnen Rechnern bzw. Computern über ein Computernetzwerk (sog.
Makrostruktur) als auch bei der Vernetzung von Komponenten, welche sich intern in einem Rechner befinden, beispielsweise auf einem Prozessor eines Rechners (sog. Mikrostruktur).
Je nach Anwendungsgebiet gibt es eine Vielzahl von Zuweisungsstrategien für die Zuweisung des Übertragungsmediums an ein Rechnerelement, wobei die
Ausgestaltung der Zuweisungsstrategie im Wesentlichen von den externen Auflagen an das Kommunikationsverhalten und die Kommunikationsbedürfnisse der
Rechnerelemente vorgegeben wird. DE 10 2009 046 062 B3 zeigt eine Vorrichtung und ein Verfahren zur Übertragung von Daten über Netzwerkknoten eines Netzwerkes, wobei eine Mehrzahl von Netzwerkknoten über einen Datenübertragungsbus mit einer Sendeleitung und einer Empfangsleitung Daten übertragen kann. Hierbei wird der Datenübertragungsbus von einem Netzwerkknoten zu einem Zeitpunkt genutzt und kann aber nacheinander an verschiedene Netzwerkknoten vergeben bzw. diesen zugewiesen werden.
ZUSAMMENFASSUNG DER ERFINDUNG
Es kann als eine Aufgabe der Erfindung angesehen werden, die Zuweisung einer exklusiv gemeinsam genutzten Ressource an eine Komponente einer Vielzahl von Komponenten bei einer beliebigen festgesetzten Zuweisungsstrategie zu
beeinflussen.
Es ist ein Rechensystem, ein Luftfahrzeug, ein Verfahren, ein
Computerprogrammelement und ein computerlesbares Medium gemäß den
Merkmalen der unabhängigen Patentansprüche angegeben. Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen und aus der folgenden
Beschreibung.
Viele der im Folgenden im Hinblick auf das Rechensystem beschriebenen Merkmale lassen sich auch als Verfahrensschritte implementieren und umgekehrt. Gemäß einem ersten Aspekt der Erfindung ist ein Rechensystem mit einer Vielzahl von Komponenten, welche eine Ressource exklusiv gemeinsam nutzen, angegeben, welches eine Aktivitätsüberwachungseinheit und eine Unterbrechungseinheit aufweist. Die Aktivitätsüberwachungseinheit ist ausgeführt, eine Anzahl von Aktivitäten einer Komponente auf der Ressource zu erfassen. Die
Unterbrechungseinheit ist ausgeführt, den Zugang der Komponente zur Nutzung der Ressource zu unterbrechen, wenn die Anzahl der Aktivitäten der Komponente einen Aktivitätsgrenzwert erreicht, so dass eine Zuweisungsstrategie die exklusiv gemeinsam genutzte Ressource einer anderen Komponente zuweisen kann. Die Aktivitätsüberwachungseinheit kann beispielsweise jede einzelne Nutzung der Ressource durch die Komponente erfassen. Bei der Nutzung der Ressource kann es sich beispielsweise um das Übertragen eines Datenpakets über die Ressource handeln.
Für jede Komponente der Vielzahl von Komponenten ist ein Aktivitätsgrenzwert angegeben, welcher bewirkt, dass der Zugang der entsprechenden Komponente zur Nutzung der Ressource unterbrochen wird, wenn die Anzahl der erfassten
Aktivitäten der Komponente diesen Aktivitätsgrenzwert erreicht.
Sobald der Zugang einer Komponente zur Nutzung der Ressource unterbrochen ist, wird die Zuweisungsstrategie der Ressource an eine Komponente erkennen, dass die Ressource nicht genutzt ist und wird die Ressource einer derjenigen Komponenten zur Nutzung zuweisen, welche die Ressource nutzen wollen.
Damit wird ermöglicht, dass eine Komponente von der Nutzung der Ressource abgehalten wird bzw. die Nutzung der Ressource durch die Komponente beendet wird, so dass die Zuweisungsstrategie die Nutzung der Ressource an eine andere Komponente zuweisen kann. Insbesondere wird dadurch ermöglicht, das Verhalten einer beliebigen festgesetzten Zuweisungsstrategie zu beeinflussen, auch wenn das Verhalten und die Mechanismen der Zuweisungsstrategie nicht bekannt sind.
Dadurch, dass eine Komponente, deren Anzahl von Aktivitäten auf der Ressource den entsprechenden Aktivitätsgrenzwert erreicht hat, wird die Komponente von der Nutzung der Ressource abgehalten und die Zuweisungsstrategie wird in die Lage versetzt, die Ressource an eine andere Komponente zuzuweisen.
In anderen Worten bedeutet dies, dass es der Zuweisungsstrategie der Ressource an eine Komponente ermöglicht wird, die Ressource zur Nutzung durch eine andere Komponente zuzuweisen, indem eine die Ressource nutzende Komponente von der Nutzung abgehalten wird. Insbesondere bei einem nicht bekannten Verhalten und nicht bekannten Funktionsprinzipien der Zuweisungsstrategie wird damit ermöglicht,
eine auf deterministischen Prinzipien basierende Zuweisung der Ressource an die Komponenten vorzunehmen.
Erfolgt also im Falle einer beliebig lang andauernden Nutzung der Ressource durch eine Komponente durch die Zuweisungsstrategie keine Neuzuweisung der Ressource an eine andere Komponente, welche die Ressource ebenfalls nutzen möchte, so kann diese Neuzuweisung dadurch erzwungen werden, dass eine die Ressource nutzende Komponente von der Nutzung der Ressource ausgeschlossen wird, wenn die Anzahl der Aktivitäten der nutzenden Komponente den für diese Komponente gesetzten Aktivitätsgrenzwert erreicht. Sobald also eine nutzende Komponente von der Nutzung der Ressource ausgeschlossen wird, wird die Zuweisungsstrategie die Ressource einer anderen wartenden Komponente zuweisen, obwohl die ursprünglich nutzende Komponente die Ressource auch weiterhin genutzt hätte.
Dies bedeutet, dass die Zuweisung der Ressource zu einer Komponente lediglich mittelbar beeinflusst wird, indem eine nutzende Komponente bei Erreichen des Aktivitätsgrenzwertes von der Nutzung ausgeschlossen wird. Die Neuzuweisung der Nutzung der Ressource erfolgt damit nicht unmittelbar durch Einfiuss bzw.
Veränderung der Zuweisungsstrategie, sondern mittelbar durch Unterbrechung der Nutzung der Ressource durch die nutzende Komponente.
Der Aktivitätsgrenzwert kann für jede Komponente der Vielzahl von Komponenten gleich sein, er kann aber auch für jede Komponente individuell angepasst sein. Ebenso kann der Aktivitätsgrenzwert vor Inbetriebnahme des Rechensystems festgesetzt werden oder aber sich während der Betriebszeit des Rechensystems verändern.
Selbstverständlich kann eine gerade von der Nutzung der Ressource ausgeschlossene Komponente in einem folgenden Vergabezyklus der Ressource an eine Komponente die Nutzung der Ressource sofort wieder erhalten, beispielsweise wenn keine andere Komponente die Ressource nutzen möchte. Aber auch in dem Fall, dass mehrere Komponenten die Ressource nutzen möchten, kann es dazu kommen, dass die Zuweisungsstrategie die Ressource in dem folgenden Vergabezyklus erneut derjenigen Komponente zuweist, welche gerade von der Nutzung der Ressource ausgeschlossen wurde. Eine von der Nutzung ausgeschlossene Komponente kann aber auch für eine Anzahl von Vergabezyklen von der Nutzung der Ressource ausgeschlossen sein.
Unter dem Begriff Vergabezyklus wird im Zusammenhang mit dieser Anmeldung der Vorgang verstanden, dass einer Komponente, welche die Ressource nutzt, der Zugang zu der Ressource versagt wird, so dass die Ressource neuerlich vergeben wird, wobei die Vergabe der Ressource durch die Zuweisungsstrategie erfolgt.
Ein neuer Vergabezyklus der Ressource an eine Komponente beginnt jeweils dann, wenn die nutzende Ressource mit der Anzahl ihrer Aktivitäten den entsprechenden Aktivitätsgrenzwert erreicht hat. Welche Komponente in dem nächsten
Vergabezyklus die Ressource nutzen darf, wird durch die Zuweisungsstrategie festgelegt. Das Unterbrechen einer Komponente von der Nutzung der Ressource ermöglicht es der Zuweisungsstrategie lediglich, die Ressource einer anderen Komponente zur Nutzung zuzuweisen, erzwingt die Zuweisung an eine andere Komponente allerdings nicht, da die Zuweisungsstrategie in der Zuweisung der Ressource im nächsten Vergabezyklus entsprechend den internen Funktionen und Vergabemechanismen der Zuweisungsstrategie erfolgt.
Bei dem Rechensystem kann es sich beispielsweise um einen Verbund einer Vielzahl von Einzelrec nern bzw. Computern handeln, welche zum gegenseitigen
Datenaustausch über ein Netzwerk miteinander verbunden sind. Es kann sich aber auch um eine jegliche Verbindung von Rechnerkomponenten handeln, welche zum Datenaustausch auf ein gemeinsames Übertragungsmedium zugreifen, beispielsweise eine Mehrzahl von Datenspeichern in einem Rechner, welche die Daten über einen gemeinsamen Datenbus erhalten oder senden.
In einer Ausführungsform können die die Ressource nutzenden Komponenten insbesondere ausgeführt sein, bei einem Ausschluss von der Nutzung der Ressource oder nach einer Unterbrechung der Nutzung der Ressource keine Anfragen zur Nutzung der Ressource zu stellen. Insbesondere können die von der Nutzung der Ressource ausgeschlossenen Komponenten ausgeführt sein, bis zu dem Beginn eines neuen Vergabezyklus keine Anfragen zur Nutzung der Ressource zu stellen.
Gemäß einer Ausführungsform der Erfindung ist das Rechensystem ein
Mehrkernprozessor.
Gemäß einer weiteren Ausfuhrungsform der Erfindung ist wenigstens eine
Komponente ein Prozessorkern des Mehrkernprozessors.
Dabei handelt es sich bei den Komponenten beispielsweise um die einzelnen
Prozessorkerne, von welchen der Mehrkernprozessor eine Vielzahl aufweist. Die Vielzahl von Prozessorkernen ist dabei über ein Bussystem bzw. einen
prozessorinternen Bus so verbunden, dass die Prozessorkerne Daten beispielsweise mit einem Speicher und mit Eingabe-/ Ausgabeelementen austauschen können.
Der prozessorinterne Bus wird nach einer herstellerspezifischen Zuweisungsstrategie jeweils an einen Prozessorkern zugewiesen. Für den Fall, dass die Zuweisung des prozessorinternen Busses an einen der Prozessorkerne angepasst bzw. gesteuert werden muss, was sich aus den fachlichen Anforderungen des Einsatzgebietes des Rechensystems ergeben kann, kann eine Neuzuweisung des Bussystems an einen der Prozessorkerne dadurch erzwungen werden, dass ein das Bussystem nutzender Prozessorkern zunächst von der Nutzung des Bussystems ausgeschlossen wird, so dass die Zuweisungsstrategie eine Neuzuweisung vornehmen kann. Der Mehrkernprozessor kann selbstverständlich eine beliebige Anzahl an
Prozessorkernen aufweisen.
Gemäß einer weiteren Ausführungsform der Erfindung ist wenigstens eine
Komponente eine Eingabe-/ Ausgabeeinheit des Mehrkernprozessors.
Die Eingabe-/Ausgabeeinheit ist dabei ausgeführt, zur Datenübertragung ebenfalls das prozessorinterne Bussystem zu nutzen, womit diese Einheiten ebenfalls zur Nutzung des Bussystems durch die Zuweisungsstrategie zugewiesen werden. Bei der Eingabe-/ Ausgabeeinheit kann es sich um jegliche Einheiten handeln, über welche der Mehrkernprozessor einen Datenaustausch, d. h. Datenempfang und/oder Datenversand, mit seiner Umgebung vornimmt.
Gemäß einer weiteren Ausführungsform der Erfindung weist die
Aktivitätsüberwachungseinheit eine erste Gruppe von Speicherzellen auf, wobei jeweils eine Speicherzelle der ersten Gruppe ausgeführt ist, die Anzahl von
Aktivitäten von jeweils einer Komponente der Vielzahl von Komponenten aufzunehmen.
Dabei ist die Aktivitätsüberwachungseinheit ausgeführt, einen Wert, welcher in der Speicherzelle hinterlegt ist, die derjenigen Komponente zugewiesen ist, welche die Ressource gerade nutzt, mit jeder Aktivität der Komponente auf der Ressource beispielsweise um jeweils den Wert 1 zu erhöhen.
Die Aktivitätsüberwachungseinheit kann aber ebenso nur eine einzelne Speicherzelle aufweisen, welche ausgeführt ist, die Anzahl der Aktivitäten derjenigen Komponente aufzunehmen, welche gerade die Ressource nutzt. Bei jeder Neuzuweisung der Ressource an eine Komponente wird dann der Wert der einen Speicherzelle, welche die Anzahl der Aktivitäten der gerade aktiven Komponente aufnimmt, auf einen Ausgangswert, beispielsweise 0, zurückgesetzt.
Gemäß einer weiteren Ausführungsform der Erfindung weist die
Aktivitätsüberwachungseinheit eine zweite Gruppe von Speicherzellen auf, wobei jeweils eine Speicherzelle der zweiten Gruppe ausgeführt ist, den
Aktivitätsgrenzwert von jeweils einer Komponente der Vielzahl von Komponenten aufzunehmen. Die zweite Gruppe von Speicherzellen dient dem Vergleich der Aktivitätsanzahl der nutzenden Komponente mit dem zulässigen Aktivitätsgrenzwert. Erst wenn die Aktivitätsanzahl der die Ressource nutzenden Komponente den Aktivitätsgrenzwert erreicht hat, wird die Komponente von der Nutzung der Ressource ausgeschlossen. Für den Fall, dass alle Komponenten den gleichen Aktivitätsgrenzwert haben, kann die zweite Gruppe auch aus einer einzelnen Speicherzelle bestehen, welche den gemeinsamen Aktivitätsgrenzwert aller Komponenten beinhaltet.
Damit kann die Aktivitätsüberwachungseinheit beispielsweise eine erste
Speicherzelle für die Aktivitätsanzahl der nutzenden Komponente und eine zweite Speicherzelle für den Aktivitätsgrenzwert aller Komponenten aufweisen, wobei die erste Speicherzelle in jedem Vergabezyklus auf einen Ausgangswert zurückgesetzt wird und ein zweiter Vergabezyklus der Ressource initiiert wird, wenn die
Aktivitätsanzahl der nutzenden Komponente den Aktivitätsgrenzwert erreicht.
Gemäß einem weiteren Aspekt der Erfindung ist ein Luftfahrzeug mit einem Rechensystem wie oben und im Folgenden beschrieben angegeben, wobei das Rechensystem ausgeführt ist, deterministisch abzuarbeitende Funktionen durchzuführen.
Insbesondere kann das Rechensystem in dem Luftfahrzeug ausgeführt sein, eine Vielzahl von Vorgängen durchzuführen, wie beispielsweise die Übertragung von Sensorsignalen, Steuerungsinformationen, Multimediainformationen und weiteren beliebigen über ein Übertragungsmedium zu übertragenden Daten.
Jeder dieser Rechenvorgänge kann dabei auf einer Komponente des Rechensystems ausgeführt werden, es können aber auch mehrere Rechenvorgänge auf einer Komponente ausgeführt werden. Dabei kann ein Aktivitätsgrenzwert einer einzelnen Komponente oder aber auch einem jeden Rechen Vorgang zugewiesen werden.
Insbesondere bei der Verwendung in Luftfahrzeugen oder in anderen
sicherheitskritischen Umgebungen kann es erforderlich sein, eine exklusiv gemeinsam genutzte Ressource, wie beispielsweise eine Netzwerkverbindung oder einen Datenübertragungsbus, nach einer definierten Anzahl von Aktionen erneut zur Zuweisung an eine die Ressource nutzende Komponente verfügbar zu haben. Durch Unterbrechen der Nutzung der Ressource durch eine Komponente wird es der
Zuweisungsstrategie ermöglicht bzw. wird die Zuweisungsstrategie dazu gebracht, die Ressource erneut zuzuweisen.
Damit ist vorhersagbar, nach wie vielen Aktivitäten die gemeinsam genutzte Ressource für eine erneute Zuweisung zur Verfügung stehen wird, so dass eine beliebige Zuweisungsstrategie genutzt werden kann und dennoch eine
deterministische Abarbeitung der Rechenvorgänge auf den einzelnen Komponenten ermöglicht wird. Insbesondere bei der Verwendung von handelsüblichen Mehrkernprozessoren steht es dem Verwender eines solchen Mehrkernprozessors nicht frei, über die Zuweisung des prozessorinternen Bussystems an einen Prozessorkern zu entscheiden bzw. die Zuweisungsstrategie des Bussystems zu beeinflussen, so dass mittels der oben und im Folgenden beschriebenen Vorrichtung bzw. Rechensystems auf einem
handelsüblichen Prozessor mit unbekannter Zuweisungsstrategie eine
deterministische Zuweisung des prozessorinternen Bussystems an die Prozessorkerne ermöglicht werden kann.
Gemäß einem weiteren Aspekt der Erfindung ist ein Verfahren zum Beeinflussen der exklusiven Zuweisung einer gemeinsam genutzten Ressource in einem
Rechensystem an eine Komponente einer Vielzahl von Komponenten oder einen Rechenvorgang, welche ausgeführt sind, die Ressource zu nutzen, angegeben, wobei die Zuweisung der Ressource an die Komponente oder den Rechenvorgang nach einer beliebigen festgelegten Zuweisungsstrategie erfolgt. Das Verfahren weist dabei die folgenden Schritte auf: Festlegen eines Aktivitätsgrenzwertes, welcher die maximale Anzahl von Aktivitäten der Komponente oder des Rechenvorgangs auf der gemeinsam genutzten Ressource angibt, Überwachen einer Anzahl von Aktivitäten der Komponente oder des Rechenvorgangs auf der gemeinsam genutzten Ressource,
Sperren des Zugangs der Komponente oder des Rechenvorgangs zu der gemeinsam genutzten Ressource, wenn die Anzahl der Aktivitäten den festgelegten
Aktivitätsgrenzwert erreicht hat, so dass die Zuweisungsstrategie die gemeinsam genutzte Ressource einer anderen Komponente oder einem anderen Rechenvorgang zuweisen kann.
Die oben und im Folgenden dargelegten Ausfuhrungen des Verfahrens zu der Komponente gelten analog auch für einen Rechenvorgang. Unter einem
Rechenvorgang kann dabei beispielsweise ein auf einem Rechner abzuarbeitender Prozess oder ein Block von Anweisungen verstanden werden.
Das Sperren des Zugangs der Komponente zu der gemeinsam genutzten Ressource kann beispielsweise dadurch erfolgen, dass von der Überwachungseinheit bei Erreichen des Aktivitätsgrenzwertes ein sog. Interruptsignal an ein Betriebssystem abgesetzt wird, und das Betriebssystem die Ausführung eines Rechenvorgangs auf der Komponente, beispielsweise einem Prozessorkern eines Mehrkernprozessors oder einen Rechenvorgang auf einem Prozessorkern, stoppt, womit ein Bussystem von dem entsprechenden Prozessorkern nicht mehr genutzt wird und für eine erneute Zuweisung verfügbar wird.
Gemäß einer Ausführungsform der Erfindung erfolgt das Festlegen des
Aktivitätsgrenzwertes für jede Komponente auf einen gleichbleibenden Wert.
Dabei kann der Aktivitätsgrenzwert für jede Komponente gleich sein oder aber auch für jede Komponente einen individuell eingestellten unterschiedlichen Wert annehmen.
Der Aktivitätsgrenzwert für die Komponenten wird dabei beispielsweise vor einer Betriebszeit eines Rechensystems festgelegt und bleibt während der gesamten Betriebszeit gleich. Gemäß einer weiteren Ausführungsform der Erfindung erfolgt das Festlegen des Aktivitätsgrenzwertes für jede Komponente in Abhängigkeit von schwankenden äußeren Parametern, wobei der Aktivitätsgrenzwert während der Durchführung des Verfahrens variieren kann. Dies ermöglicht beispielsweise bei Einsatz des Verfahrens in einem Rechensystem in einem Luftfahrzeug, dass die Aktivitätsgrenzwerte für jede Komponente
beispielsweise in Abhängigkeit einer Flugphase, wie z. B. Start, Reiseflugphase oder Landung, sowie anderer externer Faktoren, wie z. B. Wetterlage, variiert werden kann. Selbstverständlich kann der Aktivitätsgrenzwert automatisch oder durch manuelle Eingabe variiert werden.
Gemäß einer weiteren Ausführungsform der Erfindung erfolgt das Sperren des Zugangs der Komponente zu der gemeinsam genutzten Ressource durch Absetzen eines Unterbrechungssignals an ein Betriebssystem, wobei das Betriebssystem bei Erhalten des Unterbrechungssignals für die Komponente oder einen Rechenvorgang einen Zugang zu der gemeinsam genutzten Ressource sperrt.
Das Betriebssystem kann dabei ausgeführt sein, Rechenvorgänge auf den
Komponenten zu steuern. Demnach ist das Betriebssystem auch in der Lage, die Abarbeitung eines Rechenvorgangs auf einer Komponente, beispielsweise einem Prozessorkern eines Mehrkernprozessors, zu unterbrechen und fortzusetzen gemäß der Zuteilung des Bussystems an einen der Prozessorkerne.
Gemäß einer weiteren Ausführungsform der Erfindung weist das Verfahren wie oben und im Folgenden beschrieben weiterhin folgenden Schritt auf: Aufheben der Sperre des Zugangs der Komponente zu der gemeinsam genutzten Ressource, wobei das Aufheben der Sperre erfolgt, nachdem der Zugang zu der gemeinsam genutzten Ressource der Komponente entzogen wurde.
Das Aufheben der Sperre kann beispielsweise dadurch erfolgen, dass die
Aktivitätsanzahl der gesperrten Komponente auf den Ausgangswert zurückgesetzt wird, so dass die Komponente in einem folgenden Vergabezyklus der Ressource bei der Vergabe erneut berücksichtigt werden kann.
Selbstverständlich kann die Sperre einer Komponente von der Nutzung der
Ressource auch erst nach einer festgelegten Anzahl von Vergabezyklen aufgehoben werden. Dies stellt sicher, dass eine Komponente nicht in mehreren aufeinander folgenden Vergabezyklen die Ressource nutzt.
Damit bewirkt das Verfahren wie oben und im Folgenden beschrieben nicht, dass die Zuweisungsreihenfolge einer gemeinsam genutzten Ressource an die Komponenten festgelegt wird, sondern das Verfahren ermöglicht es lediglich einer
Zuweisungsstrategie, eine Neuzuweisung der Ressource durch Unterbrechung der aktuell nutzenden Komponente zu ermöglichen. Insbesondere kann dann im nächsten Vergabezyklus die Entscheidung darüber, welche Komponente die Ressource erhält, bei der Zuweisungsstrategie liegen. Gemäß einem weiteren Aspekt der Erfindung ist ein Computerprogrammelement zur Steuerung eines Rechensystems wie oben und im Folgenden beschrieben angegeben, welches ausgeführt ist, das Verfahren wie oben und im Folgenden beschrieben
durchzuführen, wenn das Computerprogrammelement auf einem Prozessor einer Recheneinheit ausgeführt wird.
Insbesondere ist das Computerprogrammelement ausgeführt, auf einem
Mehrkernprozessor einer Recheneinheit ausgeführt zu werden. Bei Ausführung auf einem Mehrkernprozessor ermöglicht das Computerprogrammelement die
Beeinflussung der Zuweisung eines prozessorinternen Bussystems an die
Prozessorkerne des Mehrkernprozessors. Gemäß einem weiteren Aspekt der Erfindung ist ein computerlesbares Medium angegeben, auf dem ein Computerprogrammelement wie oben und im Folgenden beschrieben gespeichert ist.
Ein computerlesbares Medium kann dabei jedes flüchtige oder nicht flüchtige Speichermedium sein, beispielsweise eine Festplatte, eine CD, eine DVD, eine Diskette, eine Speicherkarte oder jedes beliebige andere computerlesbare Medium bzw. Speichermedium.
Im Folgenden werden mit Verweis auf die Figuren Ausführungsbeispiele der Erfindung beschrieben.
KURZE BESCHREIBUNG DER FIGUREN
Fig. 1 zeigt ein Rechensystem gemäß einem Ausführungsbeispiel der Erfindung.
Fig. 2 zeigt einen Mehrkernprozessor gemäß einem Ausführungsbeispiel der Erfindung.
Fig. 3 zeigt eine Aktivitätsüberwachungseinheit für ein Rechensystem gemäß einem Ausführungsbeispiel der Erfindung.
Fig. 4 zeigt ein Luftfahrzeug mit einem Rechensystem gemäß einem
Ausführungsbeispiel der Erfindung.
Fig. 5 zeigt einen schematischen Ablaufplan eines Verfahrens gemäß einem
Ausfuhrungsbeispiel der Erfindung. Fig. 6 zeigt ein computerlesbares Medium gemäß einem Ausführungsbeispiel der Erfindung.
DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN Die Darstellungen in den Figuren sind schematisch und nicht maßstabsgetreu.
Werden in der folgenden Figurenbeschreibung gleiche Bezugsziffern verwendet, so betreffen diese gleiche oder ähnliche Elemente. Fig. 1 zeigt ein Rechensystem 100 mit vier Komponenten 110, beispielsweise Rechnern bzw. Computern, welche über eine gemeinsame Ressource 120, beispielsweise ein Bussystem oder eine Netzwerkverbindung, Daten senden und empfangen können. Weiterhin weist das Rechensystem 100 eine
Aktivitätsüberwachungseinheit 130 und eine Unterbrechungseinheit 140 auf.
Die Aktivitätsüberwachungseinheit 130 ist ausgeführt, die Anzahl der Aktivitäten der Komponenten 110 auf dem gemeinsamen Übertragungsmedium 120 zu erfassen. Die erfasste Anzahl von Aktivitäten einer Komponente 110 wird mit einem
Aktivitätsgrenzwert abgeglichen und im Falle, dass die Aktivitätsanzahl dem
Aktivitätsgrenzwert entspricht, wird diejenige Komponente 110, welche das Übertragungsmedium 120 nutzt, mittels der Unterbrechungseinheit 140 von der Nutzung des Bussystems 120 ausgeschlossen bzw. der Zugang der nutzenden Komponente 110 zu dem Übertragungsmedium 120 unterbrochen.
Fig. 2 zeigt einen Mehrkernprozessor 200 mit drei Prozessorkernen 210, zwei Ein-/Ausgabeeinheiten 211 und einem Speicher 250, welche über einen gemeinsam nutzbaren prozessorinternen Bus 220 miteinander so verbunden sind, dass ein lesender und schreibender Datenaustausch zwischen den genannten Elementen erfolgen kann. Eine Aktivitätsüberwachungseinheit 230, beispielsweise eine sog. Debug-Einheit, überwacht die Aktivität der Prozessorkerne bzw. der Ein- /Ausgabeeinheiten auf dem prozessorinternen Bussystem 220 und erfasst die Anzahl der Aktivitäten derjenigen Einheit, welche gerade das Bussystems 220 nutzt.
Daneben enthält der Mehrkernprozessor 200 eine Unterbrechungseinheit 240, welche ausgeführt ist, den Zugang einer Komponente, d. h. eines Prozessorkerns 210, zu dem Bussystem 220 zu unterbrechen. Auch wenn die Unterbrechungseinheit 240 gemäß Fig. 2 ausgeführt ist, lediglich den Zugang der Prozessorkerne zu dem Bussystem 220 zu unterbrechen, kann die Unterbrechungseinheit auch ausgeführt sein, den Zugang der Ein-/ Ausgabeeinheiten 211 zu dem Bussystem 220 zu unterbrechen. Bei der Unterbrechungseinheit 240 kann es sich beispielsweise auch um eine sog. Interrupt-Funktion eines Betriebssystems handeln, welches auf dem
Mehrkernprozessor 200 abläuft.
Fig. 3 zeigt eine Aktivitätsüberwachungseinheit 130, 230 mit einer ersten Gruppe von Speicherzellen 131 und einer zweiten Gruppe von Speicherzellen 132. Die erste Gruppe von Speicherzellen 131 weist eine Vielzahl von Speicherzellen auf, wobei jede einzelne Speicherzelle der ersten Gruppe ausgeführt ist, die Anzahl der
Aktivitäten von jeweils einer Komponente der Vielzahl von Komponenten aufzunehmen, d. h. die Aktivitäten der Rechner, der Prozessorkerne oder der Ein- /Ausgabeeinheiten. Weiterhin ist jeweils eine Speicherzelle der zweiten Gruppe von Speicherzellen ausgeführt, einen Aktivitätsgrenzwert für jede der oben genannten Komponenten zu enthalten.
Die erste Gruppe von Speicherzellen 131 enthält eine erste Speicherzelle 131-1, welche die Anzahl von Aktivitäten einer ersten Komponente aufnimmt. Daneben sind weitere Speicherzellen in der ersten Gruppe von Speicherzellen aufgeführt, welche ebenfalls einen Wert der Anzahl von Aktivitäten einer weiteren Komponente aufnehmen können. Dabei sind die Speicherzellen 131-2, 131-3 bis hin zu 131 -n jeweils einer Komponente 110, 210, 211 zugewiesen.
Sinngemäß die gleichen Ausführungen gelten für die Speicherzellen 132-1, 132-2, 132-3 bis hin zu 132-n, welche ausgeführt sind jeweils einen Aktivitätsgrenzwert für jeweils eine Komponente 110, 210, 211 aufzunehmen.
Wie der schematischen Darstellung in Fig. 3 zu entnehmen ist, ist sowohl die Anzahl der Komponenten 110, 210, 211 als auch die Anzahl der Speicherzellen der ersten Gruppe und der zweiten Gruppe auf eine beliebige Zahl festlegbar.
Ebenso kann die erste Gruppe von Speicherzellen 131 so ausgeführt sein, dass diese Gruppe nur eine Speicherzelle 131-1 aufweist, welche Speicherzelle 131-1 dann die Anzahl der Aktivitäten derjenigen Komponente aufnimmt, welche jeweils das
Übertragungsmediuni 120, 220 nutzt. Daneben kann die zweite Gruppe von
Speicherzellen 132 so ausgeführt sein, dass dennoch jede Komponente 110, 210, 211 einen eigenen Aktivitätsgrenzwert erhält, d. h. dass jede Komponente 110, 210, 211 einen eigens einstellbaren Aktivitätsgrenzwert haben kann.
Fig. 4 zeigt ein Luftfahrzeug 400 mit einem Rechensystem 100, 200, wobei das Rechensystem ausgeführt ist, deterministisch abzuarbeitende Funktionen in dem Flugzeug durchzuführen. Bei den deterministisch abzuarbeitenden Funktionen kann es sich insbesondere um die Übertragung von Sensorsignalen und Steuersignalen in dem Flugzeug handeln, es können aber auch beispielsweise Multimediasignale von dem Rechensystem übertragen werden. Fig. 5 zeigt die schematische Wiedergabe eines Verfahrens zur Beeinflussung der exklusiven Zuweisung einer gemeinsam genutzten Ressource in einem
Rechensystem an eine Komponente einer Vielzahl von Komponenten, welche ausgeführt sind, die Ressource zu nutzen, wobei die Zuweisung der Ressource an die Komponente nach einer beliebigen festgelegten Zuweisungsstrategie erfolgt.
In einem ersten Schritt 510 erfolgt das Festlegen eines Aktivitätsgrenzwertes, welcher die maximale Anzahl von Aktivitäten der Komponente auf der gemeinsam genutzten Ressource angibt. In einem zweiten Schritt 520 erfolgt das Überwachen einer Anzahl von Aktivitäten der Komponente auf der gemeinsam genutzten Ressource.
In einem dritten Schritt 530 erfolgt die Anpassung des Aktivitätsgrenzwertes während der Durchführung des Verfahrens, d. h. beispielsweise während einer Betriebszeit eines Rechensystems, auf dem das Verfahren wie oben und im
Folgenden beschrieben ausgeführt wird.
In einem vierten Schritt 540 erfolgt das Sperren des Zugangs der Komponente zu der gemeinsam genutzten Ressource, wenn die Anzahl der Aktivitäten den festgelegten Aktivitätsgrenzwert erreicht hat, so dass die Zulassungsstrategie die gemeinsam genutzte Ressource einer anderen Komponente zuweisen kann. Natürlich kann die Zuweisung der gemeinsam genutzten Ressource erneut an diejenige Komponente erfolgen, welche die Ressource im letzten Vergabezyklus genutzt hat.
In einem fünften Schritt 550 erfolgt das Aufheben der Sperre des Zugangs der Komponente zu der gemeinsam genutzten Ressource.
Das Aufheben der Sperre des Zugangs kann damit sowohl vor Beginn des nächsten Vergabezyklusses beginnen, d. h. dass die soeben nutzende Komponente die Ressource erneut erhalten kann, als auch erst nach Beginn des nächsten
Vergabezyklusses erfolgen, so dass die soeben nutzende Komponente die Ressource in dem nächsten Vergabezyklus nicht erhalten kann.
Ebenso kann das Aufheben der Sperre des Zugangs der Komponente zu der
Ressource erst nach einer festgelegten Anzahl von Vergabezyklen erfolgen.
Fig. 6 zeigt ein Computer lesbares Medium 600, auf dem ein
Computerprogrammelement zur Steuerung eines Rechensystems wie oben und im Folgenden beschrieben gespeichert ist, welches Computerprogrammelement
ausgeführt ist, das Verfahren wie oben und im Folgenden beschrieben
durchzuführen, wenn es auf einem Prozessor einer Recheneinheit ausgeführt wird.
Ergänzend ist daraufhinzuweisen, dass„umfassend" keine anderen Elemente oder Schritte ausschließt und„eine" oder„ein" keine Vielzahl ausschließt. Ferner sei daraufhingewiesen, dass Merkmale oder Schritte, die mit Verweis auf eines der obigen Ausführungsbeispiele beschrieben worden sind, auch in Kombination mit anderen Merkmalen oder Schritten anderer oben beschriebener Ausführungsbeispiele verwendet werden können. Bezugszeichen in den Ansprüchen sind nicht als
Einschränkung anzusehen.
Claims
1. Rechensystem (100) mit einer Vielzahl von Komponenten (110), welche eine Ressource (120) exklusiv gemeinsam nutzen, aufweisend:
eine Aktivitätsüberwachungseinheit (130), welche ausgeführt ist, eine Anzahl von Aktivitäten einer Komponente auf der Ressource zu erfassen;
eine Unterbrechungseinheit (140), welche ausgeführt ist, den Zugang der Komponente zur Nutzung der Ressource zu unterbrechen, wenn die Anzahl der Aktivitäten der Komponente einen Aktivitätsgrenzwert erreicht, so dass eine Zuweisungsstrategie die exklusiv gemeinsam genutzte Ressource einer anderen Komponente zuweisen kann.
2. Rechensystem nach Anspruch 1,
wobei das Rechensystem ein Mehrkernprozessor (200) ist.
3. Rechensystem nach Anspruch 2,
wobei wenigstens eine Komponente ein Prozessorkern (210) des
Mehrkernprozessors ist.
4. Rechensystem nach Anspruch 2 oder 3,
wobei wenigstens eine Komponente eine Ein-/Ausgabeeinheit (211) des Mehrkernprozessors ist.
5. Rechensystem nach einem der vorhergehenden Ansprüche,
wobei die Aktivitätsüberwachungseinheit eine erste Gruppe von
Speicherzellen (131) aufweist;
wobei jeweils eine Speicherzelle der ersten Gruppe ausgeführt ist, die Anzahl von Aktivitäten von jeweils einer Komponente der Vielzahl von Komponenten zu speichern.
6. Rechensystem nach einem der vorhergehenden Ansprüche,
wobei die Aktivitätsüberwachungseinheit eine zweite Gruppe von
Speicherzellen (132) aufweist;
wobei jeweils eine Speicherzelle der zweiten Gruppe ausgeführt ist, den
Aktivitätsgrenzwert von jeweils einer Komponente der Vielzahl von Komponenten zu speichern.
7. Luftfahrzeug (400) mit einem Rechensystem (100, 200) nach einem der vorhergehenden Ansprüche,
wobei das Rechensystem ausgeführt ist, deterministisch abzuarbeitende Funktionen durchzuführen.
8. Verfahren zum Beeinflussen der exklusiven Zuweisung einer gemeinsam genutzten Ressource (120, 220) in einem Rechensystem (100) an eine Komponente (110) einer Vielzahl von Komponenten oder an einen Rechenvorgang, welche ausgeführt sind, die Ressource zu nutzen,
wobei die Zuweisung der Ressource (120, 220) an die Komponente (110) nach einer beliebigen festgelegten Zuweisungsstrategie erfolgt;
das Verfahren aufweisend die Schritte:
Festlegen (510) eines Aktivitätsgrenzwertes, welcher die maximale Anzahl von Aktivitäten der Komponente oder des Rechenvorgangs auf der gemeinsam genutzten Ressource angibt;
Überwachen (520) einer Anzahl von Aktivitäten der Komponente oder des
Rechenvorgangs auf der gemeinsam genutzten Ressource;
Sperren (540) des Zugangs der Komponente oder des Rechenvorgangs zu der gemeinsam genutzten Ressource, wenn die Anzahl der Aktivitäten den festgelegten Aktivitätsgrenzwert erreicht hat, so dass die Zuweisungsstrategie die gemeinsam genutzte Ressource einer anderen Komponente oder einem anderen Rechenvorgang zuweisen kann.
9. Verfahren nach Anspruch 8,
wobei das Festlegen des Aktivitätsgrenzwertes für jede Komponente oder für jeden Rechenvorgang auf einen gleichbleibenden Wert erfolgt.
10. Verfahren nach Anspruch 8 ,
wobei das Festlegen des Aktivitätsgrenzwerts für jede Komponente oder für jeden Rechenvorgang in Abhängigkeit von schwankenden äußeren Parametern erfolgt;
wobei der Aktivitätsgrenzwert während der Durchführung des Verfahrens in Abhängigkeit der schwankenden äußeren Parameter variiert (530) wird.
11. Verfahren nach einem der Ansprüche 8 bis 10,
wobei das Sperren des Zugangs der Komponente oder des Rechenvorgangs zu der gemeinsam genutzten Ressource durch Absetzen eines Unterbrechungssignals an ein Betriebssystem erfolgt;
wobei das Betriebssystem bei Erhalten des Unterbrechungssignals für die Komponente oder den Rechenvorgang einen Zugang der Komponente zu der gemeinsam genutzten Ressource sperrt.
12. Verfahren nach einem der Ansprüche 8 bis 11,
weiterhin aufweisend den Schritt:
Aufheben (550) der Sperre des Zugangs der Komponente oder des
Rechenvorgangs zu der gemeinsam genutzten Ressource; wobei das Aufheben der Sperre erfolgt, nachdem der Zugang zu der gemeinsam genutzten Ressource der Komponente oder dem Rechenvorgang entzogen wurde.
13. Computerprogrammelement zur Steuerung eines Rechensystems nach einem der Ansprüche 1 bis 6, welches ausgeführt ist, das Verfahren nach einem der Ansprüche 8 bis 12 durchzuführen, wenn es auf einem Prozessor einer Recheneinheit ausgeführt wird.
14. Computerlesbares Medium (600), auf dem ein Computerprogrammelement nach Anspruch 13 gespeichert ist.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12762279.3A EP2758886B1 (de) | 2011-09-23 | 2012-09-20 | Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren übertragungsmedium |
US14/220,632 US9672171B2 (en) | 2011-09-23 | 2014-03-20 | Access control to a jointly exclusively usable transmission medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102011114378.9 | 2011-09-23 | ||
DE102011114378A DE102011114378A1 (de) | 2011-09-23 | 2011-09-23 | Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren Übertragungsmedium |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/220,632 Continuation US9672171B2 (en) | 2011-09-23 | 2014-03-20 | Access control to a jointly exclusively usable transmission medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013041612A1 true WO2013041612A1 (de) | 2013-03-28 |
Family
ID=46889047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2012/068518 WO2013041612A1 (de) | 2011-09-23 | 2012-09-20 | Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren übertragungsmedium |
Country Status (4)
Country | Link |
---|---|
US (1) | US9672171B2 (de) |
EP (1) | EP2758886B1 (de) |
DE (1) | DE102011114378A1 (de) |
WO (1) | WO2013041612A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10318904B2 (en) | 2016-05-06 | 2019-06-11 | General Electric Company | Computing system to control the use of physical state attainment of assets to meet temporal performance criteria |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020110084A1 (en) * | 2000-12-18 | 2002-08-15 | Butt Alan B. | Application based bandwidth limiting proxies |
WO2004036371A2 (en) * | 2002-10-16 | 2004-04-29 | Rocksteady Networks, Inc. | System and method for dynamic bandwidth provisioning |
WO2004097564A2 (en) * | 2003-04-24 | 2004-11-11 | Akamai Technologies, Inc. | Method and system for constraining server usage in a distributed network |
DE102009046062B3 (de) | 2009-10-27 | 2011-04-14 | Airbus Operations Gmbh | Vorrichtung und Verfahren zur Übertragung von Daten über Netzwerk-Knoten eines Netzwerkes |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613127A (en) * | 1992-08-17 | 1997-03-18 | Honeywell Inc. | Separately clocked processor synchronization improvement |
US5740380A (en) * | 1996-07-15 | 1998-04-14 | Micron Electronics, Inc. | Method and system for apportioning computer bus bandwidth |
JP2002304369A (ja) * | 2001-04-04 | 2002-10-18 | Nec Corp | バスシステム |
US6851008B2 (en) * | 2002-03-06 | 2005-02-01 | Broadcom Corporation | Adaptive flow control method and apparatus |
US7453806B2 (en) * | 2003-06-26 | 2008-11-18 | International Business Machines Corporation | Dynamic data packet flow control for packet switching node |
TWI229528B (en) * | 2003-10-31 | 2005-03-11 | Benq Corp | Method of controlling dataflow for a media player system |
US20050110339A1 (en) * | 2003-11-26 | 2005-05-26 | Kolberg David A. | EMAC arrangement for reducing wiring requirements |
US7120717B2 (en) * | 2004-02-13 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling interrupt storms |
US8522237B2 (en) * | 2008-04-09 | 2013-08-27 | The Boeing Company | Virtualizing embedded systems |
US7962677B2 (en) * | 2008-07-15 | 2011-06-14 | International Business Machines Corporation | Bus access moderation system |
US8032678B2 (en) * | 2008-11-05 | 2011-10-04 | Mediatek Inc. | Shared resource arbitration |
US9183022B2 (en) * | 2012-06-30 | 2015-11-10 | International Business Machines Corporation | Maintaining hardware resource bandwidth quality-of-service via hardware counter |
US20140086258A1 (en) * | 2012-09-27 | 2014-03-27 | Broadcom Corporation | Buffer Statistics Tracking |
US20140114593A1 (en) * | 2012-10-18 | 2014-04-24 | Energy Pass Incorporation | Apparatus and method for calculating electrical charge quantity or electrical discharge quantity for battery unit according to calibration parameter used for adjusting time interval of electrical charge/discharge calculation, and method for calibrating integral time interval |
FR3001310B1 (fr) * | 2013-01-21 | 2015-02-27 | Commissariat Energie Atomique | Interface de reseau sur puce dotee d'un systeme adaptatif de declenchement d'envoi de donnees |
US11061840B2 (en) * | 2013-09-24 | 2021-07-13 | Red Hat Israel, Ltd. | Managing network interface controller-generated interrupts |
-
2011
- 2011-09-23 DE DE102011114378A patent/DE102011114378A1/de not_active Withdrawn
-
2012
- 2012-09-20 EP EP12762279.3A patent/EP2758886B1/de active Active
- 2012-09-20 WO PCT/EP2012/068518 patent/WO2013041612A1/de unknown
-
2014
- 2014-03-20 US US14/220,632 patent/US9672171B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020110084A1 (en) * | 2000-12-18 | 2002-08-15 | Butt Alan B. | Application based bandwidth limiting proxies |
WO2004036371A2 (en) * | 2002-10-16 | 2004-04-29 | Rocksteady Networks, Inc. | System and method for dynamic bandwidth provisioning |
WO2004097564A2 (en) * | 2003-04-24 | 2004-11-11 | Akamai Technologies, Inc. | Method and system for constraining server usage in a distributed network |
DE102009046062B3 (de) | 2009-10-27 | 2011-04-14 | Airbus Operations Gmbh | Vorrichtung und Verfahren zur Übertragung von Daten über Netzwerk-Knoten eines Netzwerkes |
Non-Patent Citations (1)
Title |
---|
BETTISON A ET AL: "LIMITS-a system for UNIX resource administration", PROCEEDINGS OF THE SUPERCOMPUTING CONFERENCE. RENO, NOV. 13 - 17, 1989, NEW YORK, IEEE, US, 12 November 1989 (1989-11-12), pages 686 - 692, XP031577340, ISBN: 978-0-89791-341-6 * |
Also Published As
Publication number | Publication date |
---|---|
US20140207989A1 (en) | 2014-07-24 |
DE102011114378A1 (de) | 2013-03-28 |
US9672171B2 (en) | 2017-06-06 |
EP2758886B1 (de) | 2019-01-02 |
EP2758886A1 (de) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0929041B1 (de) | Verfahren und Anordnung zum Betreiben eines Bussystems | |
DE102017214068B4 (de) | Verfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem | |
WO2013171122A2 (de) | Funktional erweiterbares fahrzeugsteuergerät und verfahren zum ergänzen der funktionalität eines fahrzeugsteuergeräts | |
DE102016203808A1 (de) | Verringern der Bevorrechtigung virtueller Maschinen in einer virtualisierten Umgebung | |
DE60036923T2 (de) | Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung | |
EP1634176B1 (de) | Clusteranordnung für dezentrale lastverteilung | |
EP2758886B1 (de) | Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren übertragungsmedium | |
DE102015119202A1 (de) | Schnittstelleneinheit zur Weiterleitung priorisierter Eingangsdaten an einen Prozessor | |
DE602004006569T2 (de) | Verfahren und Vorrichtung zur Steuerung der Reservierung von Einheiten | |
EP3800517B1 (de) | Verfahren zur erstellung eines redundanten automatisierungssystems, computerprogramm und computerlesbares medium | |
WO2021213821A1 (de) | Vorrichtung und verfahren zur steuerung eines technischen systems | |
DE102012110164B4 (de) | Rechneranordnung | |
DE102020213378A1 (de) | Vorrichtung und Verfahren zur Steuerung eines technischen Systems | |
DE112018003505T5 (de) | Zugriffssteuereinrichtung | |
EP2120144A2 (de) | Rechnerverbund und Verfahren zur Konfiguration eines Rechnerverbundes | |
DE102017217057A1 (de) | Verfahren und Vorrichtung zum Aufbau eines Kommunikationskanals zwischen einer ersten und einer zweiten Einrichtung | |
DE112021005684T5 (de) | Steuervorrichtung und steuerverfahren | |
DE102012214500B4 (de) | Zustandsbasierte Planung, Absicherung und Management von Ressourcen einer Datennetzstruktur | |
DE10308596A1 (de) | Bus-System | |
DE102020213371A1 (de) | Vorrichtung und Verfahren zur Steuerung eines technischen Systems | |
DE102020213374A1 (de) | Vorrichtung und Verfahren zur Steuerung eines technischen Systems | |
DE102013106923A1 (de) | Verfahren zum Betreiben eines hochverfügbaren Computersystems unter Verwendung einer oder mehrerer virtueller Maschinen | |
DE102020213372A1 (de) | Vorrichtung und Verfahren zur Steuerung eines technischen Systems | |
EP4038530A1 (de) | Verfahren, computerprogramm, speichermedium, speichermittel und system zur nutzung eines gemeinsam genutzten speichermittels | |
DE102020213377A1 (de) | Vorrichtung und Verfahren zur Steuerung eines technischen Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12762279 Country of ref document: EP Kind code of ref document: A1 |