EP1461699A2 - Procede et dispositif de gestion de ressources sur un systeme informatique - Google Patents
Procede et dispositif de gestion de ressources sur un systeme informatiqueInfo
- Publication number
- EP1461699A2 EP1461699A2 EP02798357A EP02798357A EP1461699A2 EP 1461699 A2 EP1461699 A2 EP 1461699A2 EP 02798357 A EP02798357 A EP 02798357A EP 02798357 A EP02798357 A EP 02798357A EP 1461699 A2 EP1461699 A2 EP 1461699A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- resource
- resources
- allocated
- program
- occupied
- 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.)
- Withdrawn
Links
Classifications
-
- 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
Definitions
- the invention relates to a method for managing resources for a computer device with the preamble features of claim 1 and
- Both programming concepts use the "stack" very intensively, a memory or data structure in which data is stored as if on a stack.
- the basic principle of the "stack” is that the last value placed on the stack 5 is the first one again must be removed from it. For example, when a subroutine is called, the return address for the subroutine is put on the stack.
- the use of the stack is very versatile, but its use requires frequent memory access, which is due to the associated latency and also due to the resulting high power consumption, as well as the limited bandwidth of the processor buses as a bottleneck for the
- the described grievance is characterized above all by the fact that a programmer using modular or object-oriented techniques, in particular iterations or recursions, cannot have any information about the state of the processor's resources at the time of its routine.
- the object of the invention is to propose a method and a device for managing resources for a computer device which enable efficient management of the available resources.
- This task is accomplished through the procedure for managing
- the starting point here is a method for managing resources for a computer device, in which a multiplicity of resources are available for executing programs, at least some of the resources being temporarily or permanently occupied by such an executed program.
- the allocation of resources has steps that are known per se. After requesting at least one of the resources to be allocated for the program, these are usually the saving of the resource to be allocated for its later restoration or restoration. After saving the resource to be assigned, the requested one Resource assigned to the requesting program, which then occupies the corresponding resource.
- the step of checking the occupancy status of the resource to be assigned is inserted after the request for at least one of the resources. Depending on the result of the check, if the resource to be assigned is fully or partially occupied, the process of saving and then assigning and occupying the resource will proceed. If the resource to be assigned is not occupied, i.e. H. is free, the step of saving the resource to be assigned is omitted and instead the allocation of the assigned resource is advanced.
- the program can be a software code, but in a broader sense it also includes permanently stored programs, which are used, for example, when connecting a
- Hardware device to a computer trigger actions in the computer or in its computer device from the permanent memory of the hardware device.
- a corresponding device for managing resources for a computer device accordingly has at least one memory location as a pointer memory location for storing a pointer value, in particular an address of the resource set, at least one availability counter with availability information for specifying the amount of available resources, a resource determination device to evaluate and update the Position of the pointer and the availability information, a resource allocation device for occupying and / or releasing the resources and a stack storage device for accommodating the content of resources occupied at the time of a resource request.
- the device has a decision device for deciding whether a requested resource is free or occupied, whereupon the decision device, in particular in the form of a resource calculator, the requested resource in the case of a
- the resource is assigned to the requesting device or the requesting program after the transfer of the previously occupied resource to the stacking device so that the resource content is secured, as is known per se.
- the individual listed devices can also be partially or all integrated as hardware, functions or programs in a processor.
- Local hardware resources of the computer including any form of processors with available processor resources, are advantageously assigned as resources.
- resources for example accumulators, registers and pointers as resources
- the various types of resources are subdivided into .0 resource classes and expediently administered separately from one another.
- storage locations are provided for storing resource pointers, which refer to the corresponding resource classes.
- resource pointers which refer to the corresponding resource classes.
- an interrupt logic sends an interrupt in these cases, i. H. an interrupt signal, to interrupt the program run for the duration of the batch storage or after the run for the restoration.
- the resource management is therefore a unit that monitors the state of the resources during runtime and enables the program / programmer to use hardware resources in an efficient manner by requesting them from the processor.
- the requested resources are not used locally, they are allocated immediately, i.e. without unnecessary security and restoration measures. Only if a local
- Fig. 1 schematically selected components of a
- Resource management is based on the idea of expanding the memory stack with the elements of a resource class.
- Resource classes here refer to similar resources, such as accumulators, which are interchangeable in terms of their function.
- This arrangement has active circuit elements, such as an arithmetic logic unit 3, an instruction decoder 4 and an interrupt logic 5.
- a memory 1 for storing one or more indicator values
- an availability counter 2 for storing one or more availability information
- a memory 7 as a resource class memory
- a stack memory device 6 stack memory device 6 (stack) for receiving or Save the content of resources.
- the various Memory devices 1, 2, 7, 6 can also be individual memory sections of a single or a plurality of higher-level memories.
- a local resource pointer 1 is used for each resource class, with the property that its addressing takes place in a ring and / or in a modular manner over the amount of resources.
- the processor in particular a higher-level processor or the arithmetic unit 3, advantageously accesses elements of a resource class always relative to the resource pointer 1 and also in a ring-shaped or modular manner.
- availability information also referred to as FreePointer
- the availability counter 2 which indicates how many of the total available components of a local resource class are available, that is, not by previous ones
- a local resource arithmetic unit 3 is also provided for each resource class, which evaluates and updates the position of the resource pointer and the content of the FreePointer.
- Instructions for requesting or releasing resources are implemented in the instruction decoder 4 of the processor.
- Interrupt logic 5 is used when the local resources of at least one class are insufficient for a request.
- the resource class memory 7, which is used to assign resource classes, is also advantageously provided.
- Various resources for example registers, pointers or accumulators, are combined within a resource class, which may be represented multiple times in the system and can therefore be advantageous for joint administration.
- a resource management process is started by making a resource request in the program running in the processor or in the computer device, which is evaluated by the instruction decoder 4.
- the request information for the one or mostly several resources contains in particular the number of required resources of a class, which is expediently always less than or equal to the total number of local resource elements and the type of the resource class. Resources of several classes can advantageously be requested with one command.
- the number of resources required is then passed on from the instruction decoder 4 to the resource arithmetic unit 3, which reduces the availability counter 2 by the number of resources requested and reduces the resource pointer in the pointer memory location 1 by the corresponding value.
- the resource request is thus completed by the corresponding resource allocation to the requesting program.
- a release of resources after, for example, processing of the program which has requested and been assigned the resource takes place in a complementary form, ie the values of both counters 1, 2 are increased again.
- the interrupt routine can be operated on the basis of software or hardware. In the arrangement shown, it is represented by the interrupt logic 5, which is connected to the arithmetic unit 3 and the memory 1 for the pointer.
- the value of the availability counter 2 is then set to zero.
- FIG. 2 shows a practical example of a resource management cycle.
- the instruction that is output by the instruction decoder 4 is given in each case.
- the second column shows from top to bottom the chronological sequence of the occupancy of the requested resource (accumulators usage).
- the resource has 8 storage locations, above which
- Storage locations each show the value of pointer storage location 1 for the access point to free storage locations.
- Unfilled boxes mean free storage spaces, filled boxes mean occupied storage spaces.
- the third column shows the respective value of the availability counter or the occupancy pointer (AllocPointer), thus showing an offset.
- the fourth column shows the value of the FreePointer, i.e. H. the value of the availability information in the availability counter 2 for this resource.
- the last column shows the occupancy status in the stack of the stack storage device 6.
- a first procedural step it is assumed that the resource is unoccupied or free.
- the value of the allocation memory or pointer is correspondingly 0, so that the first resource 0 is allocated when a request is made would.
- the availability information is accordingly equal to the value of the available storage spaces, that is to say 8, and the stack in the stack storage device 6 is empty.
- the storage space in the stack storage device 6 remains unoccupied.
- Availability information in the availability counter 2 is set to 0 and the occupancy pointer remains at the value 5.
- the resource storage locations to be allocated or allocated are saved in the stack storage device 6, the resource locations to the right of the new occupancy pointer location are saved.
- the stack storage device 6 After a further request from, for example, seven resource storage locations (Allocres (7)), the stack storage device 6 is backed up again, seven values of the resource being backed up.
- the individual are then processed requesting programs or facility requirements and thus the release of resources.
- this is done in the opposite way to the previous storage.
- the circuit arrangement or the software running on it recognizes how many values are to be restored from the stack memory device 6 on the basis of the information about the number of values saved together with the values. This number is also used to determine the new availability information or the new FreePointer.
- Availability counter FreePointer
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10163695 | 2001-12-21 | ||
DE10163695 | 2001-12-21 | ||
PCT/EP2002/014657 WO2003054699A2 (fr) | 2001-12-21 | 2002-12-20 | Procede et dispositif de gestion de ressources sur un systeme informatique |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1461699A2 true EP1461699A2 (fr) | 2004-09-29 |
Family
ID=7710678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP02798357A Withdrawn EP1461699A2 (fr) | 2001-12-21 | 2002-12-20 | Procede et dispositif de gestion de ressources sur un systeme informatique |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050149939A1 (fr) |
EP (1) | EP1461699A2 (fr) |
AU (1) | AU2002363892A1 (fr) |
WO (1) | WO2003054699A2 (fr) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8973008B2 (en) * | 2005-05-10 | 2015-03-03 | Oracle America, Inc. | Combining different resource types |
GB2473194A (en) * | 2009-09-02 | 2011-03-09 | 1E Ltd | Monitoring the performance of a computer based on the value of a net useful activity metric |
DE102010025774A1 (de) | 2010-07-01 | 2012-01-05 | Giesecke & Devrient Gmbh | Verfahren zur Herstellung eines Inlays für einen tragbaren Datenträger und Inlay |
CN106598737A (zh) * | 2016-12-13 | 2017-04-26 | 腾讯科技(深圳)有限公司 | 一种实现硬件资源分配的方法及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4658351A (en) * | 1984-10-09 | 1987-04-14 | Wang Laboratories, Inc. | Task control means for a multi-tasking data processing system |
US4811208A (en) * | 1986-05-16 | 1989-03-07 | Intel Corporation | Stack frame cache on a microprocessor chip |
US4829425A (en) * | 1986-10-21 | 1989-05-09 | Intel Corporation | Memory-based interagent communication mechanism |
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US5297283A (en) * | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring system and method in an object based computer operating system |
US5465363A (en) * | 1993-12-30 | 1995-11-07 | Orton; Debra L. | Wrapper system for enabling a non-multitasking application to access shared resources in a multitasking environment |
US5710727A (en) * | 1994-05-04 | 1998-01-20 | National Instruments Corporation | System and method for creating resources in an instrumentation system |
US6125394A (en) * | 1997-06-06 | 2000-09-26 | At&T Corporation | Computer system having a plurality of resources and utilizing a selection mechanism to select the resources based upon historical loading |
US5860018A (en) * | 1997-06-25 | 1999-01-12 | Sun Microsystems, Inc. | Method for tracking pipeline resources in a superscalar processor |
US6219783B1 (en) * | 1998-04-21 | 2001-04-17 | Idea Corporation | Method and apparatus for executing a flush RS instruction to synchronize a register stack with instructions executed by a processor |
US6427163B1 (en) * | 1998-07-10 | 2002-07-30 | International Business Machines Corporation | Highly scalable and highly available cluster system management scheme |
US6801995B1 (en) * | 1998-08-04 | 2004-10-05 | Agere Systems, Inc. | Method for optimally encoding a set of instruction codes for a digital processor having a plurality of instruction selectable resource types and an associated optimized set of instruction codes |
US6608893B1 (en) * | 1998-08-12 | 2003-08-19 | Bellsouth Intellectual Property Corporation | Networks, systems and methods for routing data traffic within a telephone network based on available resources |
US6665701B1 (en) * | 1999-08-03 | 2003-12-16 | Worldcom, Inc. | Method and system for contention controlled data exchange in a distributed network-based resource allocation |
US6606721B1 (en) * | 1999-11-12 | 2003-08-12 | Obsidian Software | Method and apparatus that tracks processor resources in a dynamic pseudo-random test program generator |
US6523173B1 (en) * | 2000-01-11 | 2003-02-18 | International Business Machines Corporation | Method and apparatus for allocating registers during code compilation using different spill strategies to evaluate spill cost |
US7096469B1 (en) * | 2000-10-02 | 2006-08-22 | International Business Machines Corporation | Method and apparatus for enforcing capacity limitations in a logically partitioned system |
US6901446B2 (en) * | 2001-02-28 | 2005-05-31 | Microsoft Corp. | System and method for describing and automatically managing resources |
-
2002
- 2002-12-20 EP EP02798357A patent/EP1461699A2/fr not_active Withdrawn
- 2002-12-20 US US10/498,893 patent/US20050149939A1/en not_active Abandoned
- 2002-12-20 WO PCT/EP2002/014657 patent/WO2003054699A2/fr not_active Application Discontinuation
- 2002-12-20 AU AU2002363892A patent/AU2002363892A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
GUEI-YUAN LUEH: "Issues in Register Allocation by Graph Coloring", 1996, pages 1 - 30, Retrieved from the Internet <URL:http://citeseer.ist.psu.edu/cache/papers/cs/3282/http:zSzzSzwww.cs.cmu.eduzSzafszSzcszSzprojectzSziwarpzSzarchivezSzfx-paperszSzcmu-cs-96-171.pdf/lueh96issues.pdf> [retrieved on 20071128] * |
See also references of WO03054699A3 * |
Also Published As
Publication number | Publication date |
---|---|
WO2003054699A3 (fr) | 2004-02-26 |
US20050149939A1 (en) | 2005-07-07 |
AU2002363892A1 (en) | 2003-07-09 |
AU2002363892A8 (en) | 2003-07-09 |
WO2003054699A2 (fr) | 2003-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102007025397B4 (de) | System mit mehreren Prozessoren und Verfahren zu seinem Betrieb | |
DE2251876C3 (de) | Elektronische Datenverarbeitungsanlage | |
EP0635792B1 (fr) | Méthode de coordination d'accès parallèles de plusieurs processeurs aux configurations des ressources | |
DE4220698C2 (de) | Verfahren zum Betreiben einer Datenverarbeitungsanlage | |
DE2847216A1 (de) | Datenverarbeitungssystem mit mehrprogrammbetrieb | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2101949A1 (de) | Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage | |
DE69816714T2 (de) | Instrumentationsanordnung für eine Maschine mit nichtuniformen Speicherzugriffen | |
DE19535546A1 (de) | Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems | |
DE102009004726A1 (de) | Systeme und Verfahren zum Verfolgen von Befehlszeigern und Datenzugriffen | |
DE69729262T2 (de) | Speicherverwaltungssystem und Verfahren hierfür | |
DE102018202446A1 (de) | Verfahren zum Modularisieren einer Softwarearchitektur | |
DE102006046717A1 (de) | Dynamisch migrierende Kanäle | |
EP1461699A2 (fr) | Procede et dispositif de gestion de ressources sur un systeme informatique | |
WO1990002996A1 (fr) | Programme d'exploitation d'un ordinateur | |
DE3410497A1 (de) | Rechneranordnung | |
DE102007015507B4 (de) | Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb | |
DE102020133748B4 (de) | Fahrzeugsteuergerät mit synchronem treiber | |
DE10155486B4 (de) | Anordnung zur Verarbeitung von Zustandsinformationen externer Einheiten | |
DE10260103A1 (de) | Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät | |
DE19827914C1 (de) | Anwendungsspezifischer integrierter Schaltkreis mit einem RISC-Prozessor zur Bearbeitung definierter Sequenzen von Assembler Befehlen | |
DE2507405A1 (de) | Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage | |
DE10245367A1 (de) | Prozessor mit expliziter Angabe über zu sichernde Informationen bei Unterprogrammsprüngen | |
DE102018123563B4 (de) | Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor | |
DE102021101309A1 (de) | Elektronische steuervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20040327 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: WITTE, FRANZ-OTTO Inventor name: HERZ, RALF Inventor name: NOESKE, CARSTEN |
|
17Q | First examination report despatched |
Effective date: 20061207 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20091028 |