A lock-free mechanism is provided for successfully passing messages between processes even if a process is preempted while sending or receiving a message. Messages are communicated between processes using a mailbox data structure stored in memory shared by the processes, without the use of locks or other mutual exclusion entities that would otherwise limit concurrent delivery and receipt of messages placed in the data structure. The data structure in the illustrative embodiment includes one or more message slots for storing messages placed in the data structure and a number of state variables for inserting messages into and removing messages from the message slots. A process sends or retrieves messages by manipulating the state variables using indivisible atomic operations. This ensures that a process cannot be preempted from message passing until it finishes executing the atomic instruction. The method and mechanism have particular value in distributed shared memory (DSM) and non-uniform memory access (NUMA) machines.

Eine Verriegelung-freie Einheit wird für Anzeigen zwischen Prozesse erfolgreich führen zur Verfügung gestellt, selbst wenn ein Prozeß beim Senden oder Empfangen einer Anzeige preempted. Anzeigen werden zwischen Prozessen mit einer Briefkastendatenstruktur mitgeteilt, die im Speicher gespeichert wird, der durch die Prozesse, ohne den Gebrauch der Verriegelungen oder anderer gegenseitiger Ausschlußwesen, die, geteilt wird anders gleichzeitige Anlieferung und den Empfang der Anzeigen begrenzen würden, die in die Datenstruktur gelegt wurden. Die Datenstruktur in der illustrativen Verkörperung schließt einen oder mehr Anzeige Schlitze für die Speicherung der Anzeigen mit ein, die in die Datenstruktur und in eine Anzahl von Zustandvariablen für das Einsetzen der Anzeigen in und das Entfernen der Anzeigen von den Anzeige Schlitzen gelegt werden. Ein Prozeß sendet oder holt Anzeigen zurück, indem er die Zustandvariablen mit unteilbaren Atombetrieben manipuliert. Dieses stellt sicher, daß ein Prozeß nicht preempted von der überschreitenen Anzeige kann, bis er beendet, die Atomanweisung durchzuführen. Die Methode und die Einheit haben bestimmten Wert in verteiltem geteiltem Gedächtnis (DSM) und in den nichtgleichförmiqen Maschinen des Speicherzugriffs (NUMA).

 
Web www.patentalert.com

< (none)

< Method for loading instructions or data into a locked way of a cache memory

> Information processing system and method for communications between application systems

> (none)

~ 00085