WO1997039405A1 - Verfahren zur koordination des ablaufs von miteinander kooperierenden prozessen, die auf ein gemeinsames objekt zugreifen - Google Patents
Verfahren zur koordination des ablaufs von miteinander kooperierenden prozessen, die auf ein gemeinsames objekt zugreifen Download PDFInfo
- Publication number
- WO1997039405A1 WO1997039405A1 PCT/DE1997/000753 DE9700753W WO9739405A1 WO 1997039405 A1 WO1997039405 A1 WO 1997039405A1 DE 9700753 W DE9700753 W DE 9700753W WO 9739405 A1 WO9739405 A1 WO 9739405A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- access
- accesses
- coordinator
- processes
- phase
- Prior art date
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Definitions
- Explicit parallel programming is characterized in that the programmer has to specify how several cooperating processes coordinate their execution. Depending on the computer architecture used, this coordination takes place through:
- Synchronization in the case of processes with a common address space. Synchronization prevents shared data from being accessed at the wrong time.
- coordinator objects With the help of so-called coordinator objects, the method can replace explicit coordination commands with a static declaration of permissible sequences of accesses, which can influence the dynamic execution behavior of the cooperating processes.
- This approach of parallel programming leads to more convenience and portability than with conventional parallel programming, without this affecting the efficiency.
- Coordinator objects are therefore passive objects on which the active processes operate.
- An access pattern describes which sequences of accesses of the cooperating processes to a common object are possible. This is to be explained on the basis of writing and reading access to a common object. In this case, a distinction can be made between writing and reading accesses, and speci fi ed according to which writing accesses objects are ready to be read. Conversely, it can also be specified after which read accesses objects are ready to be written again.
- the patterns can generally be defined by counters, which either Processes together or log the accesses of each individual process.
- a program behavior arises which implicitly (triggered by certain access sequences) leads to synchronization or communication. For example, write operations are delayed in the read state (i.e. the corresponding processes are put to sleep). When switching to the write state, the sleeping processes are woken up, they then behave exactly as if they had not yet tried to access them. In the writing state, the behavior is opposite. This process usually takes place iteratively, i.e. the writing and reading states alternate repeatedly.
- coordinator objects The essential idea of the coordinator objects is thus that a runtime behavior which is characterized by automatic synchronization or communication is achieved by properties of objects specified a priori. Access to coordinator objects changes the normal program behavior to the extent that memory access can be delayed - or in other words: according to the specified access patterns, processes when accessing coordinator objects are blocked and brought back to life at a suitable time.
- Figure 1 shows a schematic diagram of the coordination of processes
- Figures 2 and 3 is a schematic diagram of the operation of
- Coordinator objects when multiple processes access a common object Figure 4-8 Examples of access patterns and their implementation in the coordinator object.
- the underlying memory model The explanation of the coordinator objects is based on a memory model with the following properties: Each process has a local memory.
- Coordinator objects are the only exception. They provide the programmer with global objects that are visible to every process involved. In addition, coordination of all access to these global objects is enforced. Both local and global objects can be read as well as written.
- the memory model is illustrated by Figure 1. The four processes 1-4 can access the common coordinator object coord. Each process has its local memory local. It can be seen that the processes can access their local memory, but can only cooperate with other processes via coordinator objects.
- Coordinator objects are alternately in two different states: the write state (writeaJble) and the read state (readable). When the coordinate objects are generated, they are in the write state. • Read access blocks in the write state and write access blocks in the read state. Blocking means that the corresponding process is displaced (put to sleep), at least until the time when the switch is made to the opposite state.
- the diagram (transition network) according to FIG. 2 illustrates this behavior.
- the following notation is used:
- edges of the transition network expresses actions which are to be carried out when the corresponding edge is walked through. The following behavior applies:
- Blocked writing processes are woken up when the writing state is reached again, and blocked reading processes are woken up when the reading state is reached. They then try again to carry out their access. In principle, blocking can occur again. (if the state has already changed again through actions of another " process). Then the processes behave again as described above.
- Switching between the two states is triggered by the occurrence of switching conditions.
- Switching conditions are defined by the specification of access patterns and the previous sequence of accesses with regard to this access behavior.
- the access pattern is static for each coordinator object by the user
- Access patterns are therefore defined for each type of access (write or read); so means e.g. a writing
- Access pattern 'write (each (wGroup, 2))' that the coordinator object is released for reading as soon as each process of the group of processes (process group) defined by wGr ⁇ up has written the coordinator object exactly twice.
- the read access pattern 'read (arbitrary (5))' means that the read state is exited as soon as exactly five read accesses of any processes to the coordinator object have taken place. The same process can be accessed multiple times. There are other access patterns (see below).
- the access patterns each define a write or read phase. These phases can alternate as often as you like
- coordinator objects are always in the write state, ie the first phase is always a write phase.
- a full cycle consisting of a write and a read phase with a subsequent transition to the write state, is called in the following calculation step.
- a pair of access patterns for example '(write (each (wGroup, 2)), read (arbitrary (5)))', thus defines the course of a calculation step by specifying the switching conditions for the write and read phases.
- the process group wGroup consists of two processes p 2 and p 2 with p € ⁇ P ⁇ , p 2 ⁇ and that read processes qe ⁇ q 1 , ..., q n ⁇ exist.
- the switching condition is specified by specifying the keyword 'each' as a condition which must apply to each of the processes involved.
- the initialization of a state includes, among other things, that the counters 'writecount (p)' - one counter per process for the write state - or 'readcount' - a common counter for the read state - to 0 be set.
- Access patterns enable the programmer to express the interactions between processes on a level that is very close to the behavior of the (abstract) algorithm.
- the access patterns are described separately for the two access types, write and read; the following access patterns are available:
- a process group is a set of processes which must be known at the latest when the coordinator object is initialized and whose composition must not change after this point in time. The specific implementation of a corresponding data type is left to the respective implementation. Access from processes that do not belong to the process group is not permitted.
- an access pattern contains a 'numberOf Accesses' specification (an integer data type)
- the switching condition is fulfilled when the specified number of accesses has been carried out - with an 'each' pattern from each process in the specified group, with an 'arbitrary' pattern the sum of the accesses of all processes.
- Switching conditions can be determined by the processes themselves.
- the switching condition for an access phase specified by 'each ⁇ processGroup)' is met if each process in the group has executed exactly one 'procReadyWith (phase)' instruction.
- the switching condition is established by exactly one 'switchFrom (phase)' instructions from any process.
- coordinator ⁇ someType> object write (arbitrary (1)), read (arbitrary (1))
- variable 'object' is alternately written and read once. This behavior can e.g. be used to pass on access rights to exclusive resources.
- coordinator ⁇ aomeType> object write (each (groupl, 1)), read (each (group2,2)));
- variable 'object' is typically a structured variable, for example a vector, which is processed by the processes in the SPMD (single program multiple data) manner.
- coordinator ⁇ so ⁇ eType> object (write (arbitrary ()), read (each (group2))); Here is read exactly as above.
- write there is no definition of any process or process group, nor is a specific number of accesses required. It is only read when some process executes the 'switchFrom (write)' instruction.
- Such a writing pattern can be used if a main process monitors the work of a variable number of (writing) processes which carry out different parts of the overall calculation and thus different numbers of write accesses.
- Coordinator objects not only coordinate write and read operations against each other, but also prevent simultaneous access to the same object. If there are two write accesses, they are executed strictly one after the other and are not interwoven. This avoids inconsistent conditions that could arise from this interweaving. So we always assume atomic access to coordinator objects.
- Coordinator object users can notify the system of conflict. For write access, this is done by Specification of 'nonconflictWrite specified' instead of 'wri ⁇ te specified'. Conflict-freeness is assumed for read access as standard, so that the user must specify 'exclusiveRead defined' instead of 'readmitted' in order to maintain atomicity of the read access. A sample program with such specifications is given in the appendix.
- Coordinator objects can be integrated into any language, the language used in this description is C ++.
- the access types can be predefined for predefined functions on standard types;
- a special user declaration can enable a distinction between writing and reading operations.
- An example of a possible syntax for such specifications is given for the coordinator access function sqrt used in the programming example below:
- This program can be parallelized by dividing the vector into strips and treating each strip by a different process.
- Each process calculates a part of the dot product, the subtotals are then added (collectively).
- each process can carry out the standard calculation and division (the standard calculation actually only needs to take place once, which is not done here for the sake of simplicity).
- the result is a very common access pattern: To calculate the total scalar product, a coordinator object is declared, which is written exactly once by each process before it can be read. This also happens exactly once per process, but is not essential here since the coordinator object is not rewritten after reading.
- the unit of the parallel version is the 'normalize' function. As a parameter, this has the lower and upper limits of the partial vector to be treated, as well as a reference to the total vector.
- the function is called by the processes involved, each with matching lower and upper indices.
- the programming of process creation and work distribution is not given here because it is not essential for understanding programming with coordinator objects.
- This example shows how controlled access to 'dotProd' takes place without any programming of synchronization or communication.
- the user-defined function 'collectiveAdd' is specified as a write operation with regard to its first argument - more precisely as a collective write operation.
- a coordinator object implementation must provide the user with a generic 'collective' function which also makes it possible to define user-defined collective operations - the 'collectiveAdd' function used in the example above, e.g. in the following way:
- Access patterns define a parallelism behavior that can best be described as automatic coordination. This behavior is described in more detail below.
- the semantics of coordinator objects is shown using a central control program for a coordinator object. This represents a minimum requirement for each implementation of coordinator objects. Implementation variants are then discussed.
- a central control program for a coordinator object which defines the semantics of the coordinator object.
- this program for each coordinator object. Implementations may combine the tasks of several such instances in one program or distribute the tasks of the control program among several cooperating processes.
- the communication with the control program described below can also take place without explicit message exchange if it is implemented in another suitable manner. Through such changes, however, the logical sequence should remain the same except for non-deterministic times. 8.2 Event-driven mode of operation
- the process under consideration sends an order (requireAccess) to the control program and waits for the order confirmation of the control program before continuing its program execution. From a process perspective, this process behaves like a 'remote procedure call (rpc)'.
- the control program registers the order as an event. The event may be delayed if it cannot be processed immediately when the coordinator object is in the current state. For this purpose, the control program manages the events in four different event quantities, which are described in more detail below.
- the control program first carries out some event-related activities, the so-called prologue. If the memory is distributed, the prologue includes the provision of the coordinator data in the commissioning process. Then the
- Order confirmation sent to the commissioning process so that it can continue. If the following code of the process contains accesses to the coordinator data, then after the accesses have ended, a final message (accessDone) must be sent to the control program so that it can carry out the final event-related activities - the epilogue. The commissioning process must do not wait for the epilogue to finish, since any further access to the coordinator object requires a new job to the control program.
- prologue and epilogue are not explicitly shown in the other diagrams ( Figures 5-8). For example, time-interlaced accesses of another process (concurrent process) are shown, which influence the behavior of the process under consideration (process of interest), i.e. delay.
- FIG. 5 shows read access (requireAccess (read)), but also applies analogously to write access (requireAccess (write)).
- the accessing process may only access if it has received the confirmation (rpcFinish) of its access request from the control program.
- the diagram assumes that the read accesses are exclusive, which is why the competing access that has already started is awaited before the confirmation (1).
- the control program must be informed of the termination of the access (accessDone), which may result in delayed events being processed (2).
- the 'procReadyWith' instruction signals the coordinator object that the calling process has ended its part in a write or read phase. It is only meaningful and permitted if an 'eachmitted' access pattern has been agreed for the corresponding phase. In the case of an access pattern 'each (group, numberOf Accesses)', the phase for the process may be terminated before reaching the agreed number of 'numberOf Accesses', ie all further accesses are delayed until the next time the relevant phase is reached. Because the procReadyWith instruction is not associated with access to the coordinator object by the commissioning process the communication protocol is simpler here: the 'acessessone' message to the control program can be omitted.
- FIG. 6 the communication flow of a 'procReadyWith' instruction for the reading phase is shown.
- the calling process must be delayed at least until the coordinator object is in the state to which the instruction refers - in the example, this is the read state, which is achieved here by a 'procReadyWith' instruction of the competing process (1) .
- Such a waiting situation can e.g. occur when the process does not carry out a single read access to the coordinator object after its write phase in the following read phase, but instead ends its read phase immediately by means of the 'procReady-With' instruction.
- a subsequent write access is delayed until the coordinator object changes back to the write state (2), see FIG. 6.
- the 'switchFrom' instruction is a global state change signal.
- the state of the coordinator object changes after all accesses that have already started have ended.
- the instruction is allowed for all access patterns; In the case of access patterns with a counter, the state changes even if the agreed number of accesses has not yet been reached in the current phase.
- the diagram, Figure 7 shows the communication flow of a 'switchFrom' instruction for the reading phase.
- a subsequent write access is delayed until the current read access of the other process has ended, since the state of the coordinator object only changes at this point in time (1).
- a delay by the control program is also possible with the 'switchFrom' instruction and therefore confirmation of the control program is necessary, for example in the event that a process which only reads the coordinator object executes two 'switchFrom' instructions one after the other without having carried out a read access in between.
- the 'release' instruction ends the coordination of the data monitored by the coordinator object. This data is made available to the calling process (as return value of the 'release' statement). The process must therefore wait until the phase specified in the instruction has ended - in the example this is done by terminating the read access of the competing process (1).
- the completion of a 'releas' instruction is the last permitted action of the control program, i.e. Any further access of any process to the coordinator object is to be regarded as an error, FIG. 8.
- This set contains all events that have not yet been processed and are currently pending processing. These are either "new" events (that have never been considered by the control program) or those that were created by editing an event from one of the waiting quantities listed below were again transferred into the quantity of active events.
- the control program takes one event from the set of active events by calling the 'nextEvent' procedure. If there is an empty quantity, the procedure waits until a process generates an event. The procedure for selecting the event to be extracted from several existing events is left to the implementation. A possible prioritization of the removal is the following:
- globalReady false; This is a flag that indicates whether the state of the coordinator object changes after the accesses that have already started have ended (true) or whether further events have to be processed before the change (false).
- this variable serves as a global counter of accesses in one phase.
- procReady [] ⁇ false, ..., false ⁇ ;
- this table of flags for each process in the process group concerned indicates whether the respective process has ended its write or read phase.
- this table contains the process-related access counters.
- This variable is set when a 'release' event is processed and then specifies the process to which the data monitored by the coordinator object are made available when the current phase is ended.
- This flag is used to support so-called collective operations.
- the variable receives the value 'false' in order to be able to indicate to the first write access within the phase that it is the first. This enables an automatic reinitialization of the coordinator value in every writing phase.
- block executes 'block' once for each process in the process group 'group'; however, execution is not continued for further processes when the control flow (eg by return) leaves the 'block'.
- the variable 'id' is linked to the process being processed.
- Constituent parts of a pattern can be constant values (characterized by quotation (eg 'EACH'), which must then correspond to the corresponding value in 'object' (eg EACH), or variables to which the corresponding values of the given pattern are attached For the first successful comparison, the associated 'block' is executed.
- Such a pattern comparison is carried out with the access pattern of the coordinator object valid for the respective access phase 'phase', which is supplied in each case by the function 'accessSpec (phase)'.
- the possible patterns are:
- an event is understood as a structured data type, which must have the following components: eventSpec the type of event, i.e. one of the values 'requireAccess', 'accessDone', 'procReadyWith', 'switchFrom' or 'release'; process the accessing process, i.e. the process that created the event; phase the phase for which the event is intended, i.e. either 'write' or 'read';
- coordinator objects Every implementation must first implement the communication of the processes accessing the coordinator object with the control program, including the blocking of the processes waiting for a response. In architectures with a common memory, this is typically done by synchronized access to a common memory area and the means of process control (locks, signals, etc.) offered in each case, in architectures with distributed memory. rather by exchanging messages with blocking reception routines for the waiting processes.
- a coordinator object implementation In architectures with distributed memory, however, a coordinator object implementation must additionally ensure that the processes, once they have received permission from the control program to access the coordinator data, each find a consistent copy of this data in their local memory. This task is expressed in the above semantic specification by calling the function 'provideDataFor' and includes the exchange of messages which, in addition to internal coordinator status information, contain in particular the current value of the data object visible to the user. A coordinator object implementation thus ensures automatic data migration between the processes.
- the first two points cannot generally be decided by the system alone, but user support is necessary in order to be able to carry out the conversion of user data into the internal exchange format and the reverse conversion correctly on the receiver side.
- This process is often referred to as data marshalling and must be supported by the system to the extent that a correct conversion of the basic data types is possible.
- the conversion the basic data types then forms the basis for the specification of conversion routines for user data types. (For more on data marshalling see, among others, [DCE])
- the property mentioned in the third point is also referred to as intra-object sharing and is a property that must be guaranteed solely through the implementation of the coordinator object.
- the intra-object sharing including the related implementation aspects is discussed in [HeLi].
- coordinator object status information is kept consistent between different process spaces.
- the independent processes always behave as if the coordinator objects were in a (virtual) shared memory; apart from possible semantic deviations due to the (user-defined!) data marshalling, the user sees no difference between the two models.
- the conjugate gradient method (cg method) is considered.
- the operations used are vector-vector, matrix-vector and vector-scalar operations. In particular, dot products are often calculated.
- This program can be parallelized by cutting the required vectors and the matrix (logically) into strips that are treated by different processes.
- Each of the processes executes the cgm function on its own data area.
- individual results in particular the scalar products, are required by all processes.
- Coordinator objects declared. The same applies to the vector fullP, which is written and read by all processes.
- stripes are modeled as vector sections and matrix sections. Sections contain administrative structures, the upper limit and lower limit of a partial vector or a partial matrix as well as the complete vector and / or the complete matrix itself.
- Monitors, messages, and clusters The p4 parallel programming system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97921611A EP0894303B1 (de) | 1996-04-15 | 1997-04-15 | Verfahren zur koordination des ablaufs von miteinander kooperierenden prozessen, die auf ein gemeinsames objekt zugreifen |
US09/171,317 US6487579B1 (en) | 1996-04-15 | 1997-04-15 | Process for coordinating the course of cooperating processes which access a common object |
DE59700731T DE59700731D1 (de) | 1996-04-15 | 1997-04-15 | Verfahren zur koordination des ablaufs von miteinander kooperierenden prozessen, die auf ein gemeinsames objekt zugreifen |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19614840 | 1996-04-15 | ||
DE19614840.5 | 1996-04-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1997039405A1 true WO1997039405A1 (de) | 1997-10-23 |
Family
ID=7791319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE1997/000753 WO1997039405A1 (de) | 1996-04-15 | 1997-04-15 | Verfahren zur koordination des ablaufs von miteinander kooperierenden prozessen, die auf ein gemeinsames objekt zugreifen |
Country Status (4)
Country | Link |
---|---|
US (1) | US6487579B1 (de) |
EP (1) | EP0894303B1 (de) |
DE (1) | DE59700731D1 (de) |
WO (1) | WO1997039405A1 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188344B1 (en) * | 1999-12-21 | 2007-03-06 | Unisys Corporation | Architecture for a read/write thread lock |
IL184260A0 (en) | 2007-06-27 | 2008-03-20 | On Track Innovations Ltd | Mobile telecommunications device having sim/antenna coil interface |
US8028923B2 (en) | 2007-11-14 | 2011-10-04 | Smartrac Ip B.V. | Electronic inlay structure and method of manufacture thereof |
US11048552B2 (en) * | 2018-05-30 | 2021-06-29 | Texas Instruments Incorporated | High-speed broadside communications and control system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404529A (en) * | 1993-07-19 | 1995-04-04 | Taligent, Inc. | Object-oriented interprocess communication system interface for a procedural operating system |
US5680452A (en) * | 1993-10-18 | 1997-10-21 | Tecsec Inc. | Distributed cryptographic object method |
-
1997
- 1997-04-15 DE DE59700731T patent/DE59700731D1/de not_active Expired - Lifetime
- 1997-04-15 US US09/171,317 patent/US6487579B1/en not_active Expired - Lifetime
- 1997-04-15 WO PCT/DE1997/000753 patent/WO1997039405A1/de active IP Right Grant
- 1997-04-15 EP EP97921611A patent/EP0894303B1/de not_active Expired - Lifetime
Non-Patent Citations (4)
Title |
---|
BAL H E ET AL: "Object distribution in Orca using compile-time and run-time techniques", 8TH ANNUAL ACM CONFERENCE ON OBJECT-ORIENTED PROGRAMMING SYSTEMS, LANGUAGES, AND APPLICATIONS, OOPSLA 1993, WASHINGTON, DC, USA, 26 SEPT.-1 OCT. 1993, vol. 28, no. 10, ISSN 0362-1340, SIGPLAN NOTICES, OCT. 1993, USA, pages 162 - 177, XP000411724 * |
KNOPP J ET AL: "A data model for architecture independent parallel programming", PROCEEDINGS. FIRST INTERNATIONAL WORKSHOP ON HIGH-LEVEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS FIRST INTERNATIONAL WORKSHOP ON HIGH-LEVEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, HONOLULU, HI, USA, 16 APRIL 1996, ISBN 0-8186-7567-5, 1996, LOS ALAMITOS, CA, USA, IEEE COMPUT. SOC. PRESS, USA, pages 34 - 40, XP002036845 * |
LUPKE S: "Accelerated access to shared distributed arrays on distributed memory systems by access objects", PARALLEL PROCESSING: CONPAR 94 - VAPP VI. THIRD JOINT INTERNATIONAL CONFERENCE ON VECTOR AND PARALLEL PROCESSING PROCEEDINGS, PROCEEDINGS OF INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING: CONPAR '94 - VAPP VI, LINZ, AUSTRIA, 6-8 SEPT. 1994, 1994, BERLIN, GERMANY, SPRINGER-VERLAG, GERMANY, pages 449 - 460, XP002036843 * |
NARAIN H GENANI: "CAPSULES: A SHARED MEMORY ACCESS MECHANISM FOR CONCURRENT C/C++", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, vol. 4, no. 7, 1 July 1993 (1993-07-01), pages 795 - 811, XP000397943 * |
Also Published As
Publication number | Publication date |
---|---|
US6487579B1 (en) | 2002-11-26 |
EP0894303A1 (de) | 1999-02-03 |
DE59700731D1 (de) | 1999-12-23 |
EP0894303B1 (de) | 1999-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69429686T2 (de) | Transaktionsverwaltung in objektorientiertem System | |
DE69630329T2 (de) | Verfahren zur Verwaltung des Deaktivierens und Ausschaltens eines Servers | |
DE69719269T2 (de) | Absicherung der Unteilbarkeit für eine Ansammlung von transaktionellen Arbeitsschritten in einem Arbeitsflussverwaltungssystem | |
DE68921906T2 (de) | Verfahren für ein Multiprozessorsystem mit sich selbst zuordnenden Prozessoren. | |
DE69028061T2 (de) | Bearbeitung von Ablaufdaten paralleler Verarbeitung | |
DE69522842T2 (de) | Gleichzeitige Verarbeitung in parallelen und fast parallelen objektorientierten Systemen | |
DE69718715T2 (de) | Verfahren zur geschichteter Transaktionsverarbeitung | |
DE68925646T2 (de) | Pipeline-multiprozessorsystem | |
DE68922769T2 (de) | Verfahren zum Erzeugen eines temporären Anhaltens von Tasken, die in einem virtuellen Datenverarbeitungssystem ablaufen. | |
DE69428972T2 (de) | System und Verfahren für die Eigentumerverwaltung eines freigegebenen Synchronisationsmechanismus | |
DE69629626T2 (de) | Verfahren und Gerät zur Vermeidung von Verklemmungen durch Serialisierung des Multithreaded-Zugriffes auf unsichere Betriebsmittel | |
DE69522046T2 (de) | Verfahren zur hierarchischen Betriebsmittelverwaltung | |
DE69129678T2 (de) | Verfahren und System für eine konsequente Zeitfestlegung in verteilten Rechnerdatenbanken | |
DE69719620T2 (de) | Vorrichtung und Verfahren zur Bestimmung von Server-Cluster-Topologien | |
DE68926775T2 (de) | System und Verfahren für eine allgemeine Schnittstelle für Anwendungsprogramme | |
DE3855166T2 (de) | Selbstkonfiguration von Knotenpunkten in einem verteilten, auf Nachrichten gegründeten Betriebssystem | |
DE69422743T2 (de) | Endlosschleife-Erkennungsgerät | |
DE3750306T2 (de) | System zum Gewährleisten der logischen Unversehrtheit von Daten. | |
DE112015003587T5 (de) | Spezifizieren von komponenten in graphbasierten programmen | |
DE69727633T2 (de) | Verfahren und Gerät zur Benutzerstufeunterstützung für das Synchronisieren mehrerer Ereignisse | |
DE10003015A1 (de) | Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen | |
DE3886756T2 (de) | Betriebsmittelzugriff für Multiprozessorrechnersystem. | |
DE19617976A1 (de) | Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen | |
DE69633777T2 (de) | Geordnete und sichere wartung von interprozessbeziehungen in einem verteilten multiprozessorsystem | |
DE2101949A1 (de) | Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1997921611 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09171317 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 1997921611 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1997921611 Country of ref document: EP |