Date post: | 04-Apr-2015 |
Category: |
Documents |
Upload: | krishna-sai |
View: | 55 times |
Download: | 2 times |
Inter – Process Inter – Process CommunicationCommunication
CS 536CS 536
Syed S.Ahmed(#103568)Syed S.Ahmed(#103568)
Sai K. Pasupuleti(#103463)Sai K. Pasupuleti(#103463)
04/11/23 1Inter - Process Communication
OutlineOutline
Interprocess CommunicationInterprocess Communication Communication ModelsCommunication Models Unicast & MulticastUnicast & Multicast Message Passing CommunicationMessage Passing Communication Synchronous-Asynchronous IPCSynchronous-Asynchronous IPC Basic Communication PrimitivesBasic Communication Primitives Message Design IssuesMessage Design Issues Synchronization and BufferingSynchronization and Buffering ReferencesReferences
04/11/23 2Inter - Process Communication
Introduction Introduction What is Inter Process Communication?What is Inter Process Communication?
Exchange of data between two or more separate, independent Exchange of data between two or more separate, independent processes/threads.processes/threads.
Operating systems provide facilities/resources for inter-process Operating systems provide facilities/resources for inter-process communications (IPC) such as message queues, semaphores, and communications (IPC) such as message queues, semaphores, and shared memory.shared memory.
Distributed computing systems make use of these facilities/resources to Distributed computing systems make use of these facilities/resources to provide application programming interface (API) which allows IPC to provide application programming interface (API) which allows IPC to be programmed at a higher level of abstraction. (e.g., send and receive)be programmed at a higher level of abstraction. (e.g., send and receive)
Distributed computing requires information to be exchanged among Distributed computing requires information to be exchanged among independent processes.independent processes.
IPC provides a mechanism to allow processes to communicate and to IPC provides a mechanism to allow processes to communicate and to synchronize their actions without sharing the same address space.synchronize their actions without sharing the same address space.
Its particularly useful in a distributed environment where the Its particularly useful in a distributed environment where the communicating processes may reside on different computers connected communicating processes may reside on different computers connected with a network. with a network.
04/11/23 3Inter - Process Communication
COMMUNICATION MODELSCOMMUNICATION MODELS
Cooperating processes require IPC mechanism that allow them to Cooperating processes require IPC mechanism that allow them to
exchange data and information. Communication can take place either by exchange data and information. Communication can take place either by Shared memory or Message passing Mechanisms.Shared memory or Message passing Mechanisms.
Shared Memory:Shared Memory:1) Processes can exchange information by 1) Processes can exchange information by reading and writing data to the shared region.reading and writing data to the shared region.2) Faster than message passing as it can be2) Faster than message passing as it can be done at memory speeds when within a computer.done at memory speeds when within a computer.3) System calls are responsible only to establish3) System calls are responsible only to establish shared memory regions.shared memory regions.
Message Passing:Message Passing:Mechanism to allow processes to communicate and Mechanism to allow processes to communicate and synchronize their actions without sharing the same synchronize their actions without sharing the same address space and is particularly useful in distributed address space and is particularly useful in distributed environment.environment.
04/11/23 4Inter - Process Communication
Basic Communication PrimitivesBasic Communication Primitives
Two generic message passing primitives for sending and receiving messages.Two generic message passing primitives for sending and receiving messages. send (destination, message)send (destination, message) receive (source, message) source or dest={ process name, link, receive (source, message) source or dest={ process name, link,
mailbox, port}mailbox, port}
Addressing Addressing - Direct and Indirect - Direct and Indirect
11) Direct Send/ Receive ) Direct Send/ Receive communication primitivescommunication primitives Communication entities can be addressed by process names (global process Communication entities can be addressed by process names (global process
identifiers)identifiers) Global Process Identifier can be made unique by concatenating the network Global Process Identifier can be made unique by concatenating the network
host address with the locally generated process id. This scheme implies that host address with the locally generated process id. This scheme implies that only one direct logical communication path exists between any pair of sending only one direct logical communication path exists between any pair of sending and receiving processes.and receiving processes.
Symmetric AddressingSymmetric Addressing : Both the processes have to explicitly name in the : Both the processes have to explicitly name in the communication primitives.communication primitives.
Asymmetric Addressing Asymmetric Addressing : Only sender needs to indicate the recipient. : Only sender needs to indicate the recipient.
04/11/23 5Inter - Process Communication
2) Indirect Send/ Receive communication primitives2) Indirect Send/ Receive communication primitives Messages are not sent directly from sender to receiver, but sent to shared data Messages are not sent directly from sender to receiver, but sent to shared data
structure.structure.
Multiple clients might request services from one of Multiple clients might request services from one of Abstraction of a finite Abstraction of a finite size FIFO queue size FIFO queue
multiple servers. We use mail boxes.multiple servers. We use mail boxes. maintained by kernel.maintained by kernel.
04/11/23 6Inter - Process Communication
Message Passing CommunicationMessage Passing Communication
Messages are collection of data objects and their structuresMessages are collection of data objects and their structures
Messages have a header containing system dependent control information and a Messages have a header containing system dependent control information and a message body that can be fixed or variable size.message body that can be fixed or variable size.
When a process interacts with another, two requirementsWhen a process interacts with another, two requirements have to be satisfied.have to be satisfied. Synchronization and CommunicationSynchronization and Communication..
Fixed LengthFixed Length
Easy to implementEasy to implement Minimizes processing and storage overhead.Minimizes processing and storage overhead.
Variable LengthVariable Length
Requires dynamic memory allocation, soRequires dynamic memory allocation, so fragmentation could occur.fragmentation could occur.
04/11/23 7Inter - Process Communication
8
IPC – Unicast and IPC – Unicast and MulticastMulticast
In distributed computing, two or more processes engage in In distributed computing, two or more processes engage in IPCIPC using a using a protocolprotocol agreed upon by the agreed upon by the processesprocesses. A process may be a sender at . A process may be a sender at some points during a protocol, a receiver at other points. some points during a protocol, a receiver at other points.
When communication is from one process to a single other process, the IPC When communication is from one process to a single other process, the IPC
is said to be a is said to be a unicastunicast, e.g.,, e.g., Socket communicationSocket communication. When . When communication is from one process to a group of processes, the IPC is said communication is from one process to a group of processes, the IPC is said to be a to be a multicastmulticast, e.g., , e.g., Publish/Subscribe Message modelPublish/Subscribe Message model
04/11/23 Inter - Process Communication
9
Unicast vs. MulticastUnicast vs. Multicast
P 2
P 1 P 1
P 2 P 3 P 4...
uni c as t m ul t i c as t
mm m m
04/11/23 Inter - Process Communication
Interprocess Communications in Interprocess Communications in Distributed ComputingDistributed Computing
P r o c es s 1 P r o c es s 2
d a ta
s en d er r ec e iv er
04/11/23 10Inter - Process Communication
11
Message PassingMessage Passing
Processes can communicate through shared areas of Processes can communicate through shared areas of memorymemory
Semaphores Semaphores - a synchronization abstraction- a synchronization abstraction
MonitorsMonitors - a higher level abstraction - a higher level abstraction
Inter-Process Inter-Process Message PassingMessage Passing much more useful for much more useful for information transferinformation transfer can also be used just for synchronizationcan also be used just for synchronization can co-exist with shared memory communicationcan co-exist with shared memory communication
Two basic operations : Two basic operations : sendsend(message) and (message) and receivereceive(message)(message) message contents can be anything mutually comprehensiblemessage contents can be anything mutually comprehensible
data, remote procedure calls, executable code etc.data, remote procedure calls, executable code etc. usually contains standard fieldsusually contains standard fields
destination process ID, sending process ID for any replydestination process ID, sending process ID for any reply message lengthmessage length data type, data etc.data type, data etc.
04/11/23 Inter - Process Communication
12
Message PassingMessage Passing
Fixed-length messages:Fixed-length messages: simple to implement - can have pool of standard-sized bufferssimple to implement - can have pool of standard-sized buffers
low overheads and efficient for small lengthslow overheads and efficient for small lengths copying overheads if fixed length too longcopying overheads if fixed length too long
can be inconvenient for user processes with variable amount can be inconvenient for user processes with variable amount of data to passof data to pass
may need a sequence of messages to pass all the datamay need a sequence of messages to pass all the data long messages may be better passed another way e.g. FTPlong messages may be better passed another way e.g. FTP
copying probably involved, sometimes multiple copying into kernel copying probably involved, sometimes multiple copying into kernel and outand out
Variable-length messages:Variable-length messages: more difficult to implement - may need a more difficult to implement - may need a heapheap with with garbage garbage
collectioncollection more overheads and less efficient, memory fragmentationmore overheads and less efficient, memory fragmentation
more convenient for user processesmore convenient for user processes
04/11/23 Inter - Process Communication
13
Message PassingMessage Passing
NamingNaming of links - of links - directdirect and and indirect indirect communicationscommunications DirectDirect::
each process wanting to communicate must each process wanting to communicate must explicitlyexplicitly name the name the recipient or sender of the communicationrecipient or sender of the communication
sendsend and and receivereceive primitives defined: primitives defined:
send ( P, message )send ( P, message ) : send a message to process P: send a message to process P
receive ( Q, message )receive ( Q, message ) : receive a message from process Q: receive a message from process Q a link established automatically between every pair of processes a link established automatically between every pair of processes
that want to communicatethat want to communicate processes only need to know each other’s identityprocesses only need to know each other’s identity
link is associated with exactly two processeslink is associated with exactly two processes link is usually bidirectional but can be unidirectionallink is usually bidirectional but can be unidirectional Process AProcess A Process BProcess B
while (TRUE) {while (TRUE) { while (TRUE) {while (TRUE) { produce an item produce an item receive ( A, item ) receive ( A, item ) send ( B, item ) send ( B, item ) consume item consume item}} }}
04/11/23 Inter - Process Communication
Direct CommunicationDirect Communication
Must explicitly name the sender/receiver (“Must explicitly name the sender/receiver (“destdest” and ” and ““srcsrc”) processes”) processes
A buffer at the receiverA buffer at the receiver more than one process may send messages to the receivermore than one process may send messages to the receiver to receive from a specific sender, it requires searching to receive from a specific sender, it requires searching
through the whole bufferthrough the whole buffer
A buffer at each senderA buffer at each sender a sender may send messages to multiple receiversa sender may send messages to multiple receivers
04/11/23 14Inter - Process Communication
Indirect CommunicationIndirect Communication
““destdest” and “” and “srcsrc” are a shared (unique) mailbox” are a shared (unique) mailbox
Use a mailbox to allow many-to-many Use a mailbox to allow many-to-many communicationcommunication requires open/close a mailbox before using itrequires open/close a mailbox before using it
Where should the buffer be?Where should the buffer be? a buffer and its mutex and conditions should be at the a buffer and its mutex and conditions should be at the
mailboxmailbox
04/11/23 15Inter - Process Communication
16
SynchronizationSynchronization
SynchronisedSynchronised versus versus AsynchronousAsynchronous Communications Communications Synchronised:Synchronised:
sendsend and and receive receive operations operations blockingblocking sender is sender is suspendedsuspended until receiving process does a corresponding until receiving process does a corresponding readread receiver receiver suspendedsuspended until a message is until a message is sentsent for it to receive for it to receive
properties :properties : processes tightly synchronised - the processes tightly synchronised - the rendezvousrendezvous of Ada of Ada effective confirmation of receipt for sendereffective confirmation of receipt for sender at most one message can be outstanding for any process pairat most one message can be outstanding for any process pair
no buffer space problemsno buffer space problems easy to implement, with low overheadeasy to implement, with low overhead
disadvantages :disadvantages : sending process might want to continue after its sending process might want to continue after its send send operation operation
without waiting for confirmation of receiptwithout waiting for confirmation of receipt receiving process might want to do something else if no message is receiving process might want to do something else if no message is
waiting to be receivedwaiting to be received
04/11/23 Inter - Process Communication
17
ASynchronizationASynchronization
Asynchronous Asynchronous :: sendsend and and receivereceive operations operations non-blockingnon-blocking
sender sender continuescontinues when no corresponding receive outstanding when no corresponding receive outstanding receiver receiver continuescontinues when no message has been sent when no message has been sent
properties :properties : messages need to be messages need to be bufferedbuffered until they are received until they are received
amount of buffer space to allocate can be problematicamount of buffer space to allocate can be problematic a process running amok could clog the system with messages if not carefula process running amok could clog the system with messages if not careful
often very convenient rather than be forced to waitoften very convenient rather than be forced to wait particularly for sendersparticularly for senders
can increase concurrencycan increase concurrency some awkward kernel decisions avoidedsome awkward kernel decisions avoided
e.g. whether to swap a waiting process out to disc or note.g. whether to swap a waiting process out to disc or not
receivers can receivers can pollpoll for messages for messages i.e. do a i.e. do a test-receivetest-receive every so often to see if any messages waiting every so often to see if any messages waiting interrupt and signal programming more difficultinterrupt and signal programming more difficult preferable alternative perhaps to have a preferable alternative perhaps to have a blockingblocking receive in a separate receive in a separate
threadthread
04/11/23 Inter - Process Communication
18
Synchronous vs. Synchronous vs. Asynchronous Asynchronous
CommunicationCommunication
The IPC operations may provide the synchronization The IPC operations may provide the synchronization necessary using blocking. A blocking operation issued by necessary using blocking. A blocking operation issued by a process will block further processing of the process until a process will block further processing of the process until the operation is fulfilled.the operation is fulfilled.
Alternatively, IPC operations may be asynchronous or Alternatively, IPC operations may be asynchronous or nonblocking. An asynchronous operation issued by a nonblocking. An asynchronous operation issued by a process will not block further processing of the process. process will not block further processing of the process. Instead, the process is free to proceed with its processing, Instead, the process is free to proceed with its processing, and may optionally be notified by the system when the and may optionally be notified by the system when the operation is fulfilled.operation is fulfilled.
04/11/23 Inter - Process Communication
19
Synchronous send and Synchronous send and receivereceive
pr o c e s s 1r unni ng o n ho s t 1
b lo c k in g s en d s ta r ts
b lo c k in g s en d r e tu r n s
b lo c k in g r ec e iv e s ta r ts
b lo c k in g r ec e iv e en d s
ex ec u tio n f lo w
s u s p en d ed p er io d
Sync hr o no us Se nd and R e c e i ve
an o p er a tio n
ac k n o w led g em en t o f d a ta r ec e iv edp r o v id ed b y th e I P C f ac ility
pr o c e s s 2r unni ng o n ho s t 2
Client ServerSender Receiver
Event Diagram
04/11/23 Inter - Process Communication
20
Asynchronous send and Asynchronous send and synchronous receivesynchronous receive
P r o c e s s 1
P r o c e s s 2
b lo c k in g r ec e iv e s ta r ts
b lo c k in g r ec e iv e r e tu r n s
ex ec u tio n f lo w
s u s p en d ed p er io d
As ync hr o no us Se nd and Sync hr o no us R e c e i ve
n o n b lo c k in g s en d
o p er a tio n
Client ServerSender Receiver
04/11/23 Inter - Process Communication
21
Synchronous send and Async. Synchronous send and Async. Receive - 1Receive - 1
P r o c e s s 1
P r o c e s s 2
n o n b lo c k in g r ec e iv e is s u ed
ex ec u tio n f lo w
s u s p en d ed p er io d
Sync hr o no us Se nd and As ync hr o no us R e c e i ve
b lo c k in g s en d is s u ed
S ce n a rio A
t r an s p ar en t ac k n o w led g em en tp r o v id ed b y th e I P C f ac ility
Data from P1 was received by P2 before issuing a non-blocking receive op in P2
04/11/23 Inter - Process Communication
22
Synchronous send and Async. Synchronous send and Async. Receive - 2Receive - 2
in d ef in iteb lo c k in g
P r o c e s s 1
P r o c e s s 2
n o n b lo c k in g r ec e iv e is s u edan d r e tu r n ed im m ed ia te ly
ex ec u tio n f lo w
s u s p en d ed p er io d
Sync hr o no us Se nd and As ync hr o no us R e c e i ve
b lo c k in g s en d is s u ed
S ce n a rio B
P r o c e s s 1
P r o c e s s 2
Data from P1 arrived to P2 after P2 issued a non-blocking receive op
04/11/23 Inter - Process Communication
23
Synchronous send and Async. Synchronous send and Async. Receive - 3Receive - 3
P r o c e s s 1
P r o c e s s 2
n o n b lo c k in g r ec e iv e is s u edan d r e tu rn ed im m ed ia te ly
ex ec u tio n f lo w
s u s p en d ed p er io d
Sync hr o no us Se nd and As ync hr o no us R e c e i ve
b lo c k in g s en d is s u ed
S ce n a rio C
p ro c es s is n o tif iedo f th e a r r iv a l o fd ata
tr an s p ar en t ac k n o w led g em en tp ro v id ed b y th e I P C f ac ility
Data from P1 arrived to P2 before P2 issues a non-blocking receive op. P2 is notified of the arrival of data
04/11/23 Inter - Process Communication
24
Asynchronous send and Asynchronous send and Asynchronous receive Asynchronous receive
P r o c e s s 1
P r o c e s s 2
n o n b lo c k in g r ec e iv e is s u edan d r e tu r n ed im m ed ia te ly
ex ec u tio n f lo w
s u s p en d ed p er io d
As ync hr o no us Se nd and As ync hr o no us R e c e i ve
b lo c k in g s en d is s u ed
S ce n a rio C
p r o c es s is n o tif iedo f th e a r r iv a l o fd a ta
Does P1 need an acknowledgement from P2?04/11/23 Inter - Process Communication
25
Event diagramEvent diagramPro ce s s A
Pro ce s s B
in te rp r o c es s c o m m u n ic a tio n
ex ec u tio n f lo w
p ro c es s b lo c k ed
E ve nt di ag r am fo r a pr o to c o l
r eq u es t 1
r es p o n s e 1
r es p o n s e2
r eq u es t 2
t im e
Synchronous send and receive
04/11/23 Inter - Process Communication
Synchronization and BufferingSynchronization and Buffering
These are the three typical combinations.These are the three typical combinations.
1) Blocking Send, Blocking Receive1) Blocking Send, Blocking Receive
Both receiver and sender are blocked until the message is Both receiver and sender are blocked until the message is delivered. (provides tight synchronization between processes)delivered. (provides tight synchronization between processes)
2) Non Blocking Send, Blocking Receive2) Non Blocking Send, Blocking Receive
Sender can continue the execution after sending a message, Sender can continue the execution after sending a message, the receiver is blocked until message arrives. (most useful the receiver is blocked until message arrives. (most useful combination)combination)
3) Non Blocking Send, Non Blocking Receive3) Non Blocking Send, Non Blocking Receive
Neither party waits.Neither party waits.
04/11/23 26Inter - Process Communication
04/11/23Inter - Process
Communication
Interprocess Interprocess CommunicationCommunication
Message PassingMessage PassingMany possible naming schemes. One is direct naming:Many possible naming schemes. One is direct naming: send(process_id, message)send(process_id, message)
receive(process_id, buffer)receive(process_id, buffer)
Example
process P1: process P2: declare x integer declare y integer
. . send(P2, x) receive(P1, y) . .end process end process
Effect of this communication is
y := x | \
local var local var of P2 of P1 27
04/11/23Inter - Process
Communication
BufferingBuffering A buffer, with bounded-buffer synchronization, can be A buffer, with bounded-buffer synchronization, can be
associated with each pair of communicating processes.associated with each pair of communicating processes. A “zero-capacity” buffer means processes must “handshake” A “zero-capacity” buffer means processes must “handshake”
in order to communicate.in order to communicate. A buffer can reside in memory of receiving process or in OS A buffer can reside in memory of receiving process or in OS
addres space.addres space. Examples:Examples: no buffer neededno buffer needed P1: send(P2, x) P2: receive(P1, x)P1: send(P2, x) P2: receive(P1, x)
receive(P2, y) send(P1, y) receive(P2, y) send(P1, y) buffer neededbuffer needed P1: send(P2, x) P2: send(P1, x)P1: send(P2, x) P2: send(P1, x)
receive(P2, y) receive(P1, y) receive(P2, y) receive(P1, y)
28
The Producer Consumer The Producer Consumer Problem Problem
The producer-consumer problem illustrates The producer-consumer problem illustrates the need for synchronization in systems the need for synchronization in systems where many processes share a resource. In where many processes share a resource. In the problem, two processes share a fixed-the problem, two processes share a fixed-size buffer. One process produces size buffer. One process produces information and puts it in the buffer, while information and puts it in the buffer, while the other process consumes information the other process consumes information from the buffer. from the buffer.
These processes do not take turns accessing These processes do not take turns accessing the buffer, they both work concurrently. the buffer, they both work concurrently. Herein lies the problem. What happens if Herein lies the problem. What happens if the producer tries to put an item into a full the producer tries to put an item into a full buffer? What happens if the consumer tries buffer? What happens if the consumer tries to take an item from an empty buffer? to take an item from an empty buffer?
04/11/23 29Inter - Process Communication
ProducerProducer
04/11/23 30Inter - Process Communication
Producer
Make New Widget
If buffer is full, go to sleep
Put widget in buffer
If buffer was empty, wake consumer
ConsumerConsumer
04/11/23 31Inter - Process Communication
Consumer:
1.If buffer is empty, go to sleep
2.Take widget from buffer
3.If buffer was full, wake producer
4.Consume the widget
SOCKETSSOCKETS A Socket is a communication end point of a communication link managed A Socket is a communication end point of a communication link managed
by the transport services.by the transport services. It is not feasible to name a communication channel across different It is not feasible to name a communication channel across different
domains.domains. A Communication channel can be visualized as a pair of 2 communication A Communication channel can be visualized as a pair of 2 communication
endpoints.endpoints. Sockets have become most popular message passing API.Sockets have become most popular message passing API. Most recent version of the Windows Socket which is developed by WinSock Most recent version of the Windows Socket which is developed by WinSock
Standard Group which has 32 companies (including Microsoft) also Standard Group which has 32 companies (including Microsoft) also includes a SSL (Secure Socket Layer) in the specification.includes a SSL (Secure Socket Layer) in the specification.
The goal of SSL is to provide:The goal of SSL is to provide: Privacy Privacy in socket communication by using symmetric cryptographic data in socket communication by using symmetric cryptographic data
encryption.encryption. IntegrityIntegrity in socket data by using message integrity check. in socket data by using message integrity check. Authenticity Authenticity of servers and clients by using asymmetric public key of servers and clients by using asymmetric public key
cryptography.cryptography.
04/11/23 32Inter - Process Communication
SummarySummary
In today’s session we have learned toIn today’s session we have learned to:: Inter-process CommunicationInter-process Communication Direct Communication & Indirect CommunicationDirect Communication & Indirect Communication Unicast – MulticastUnicast – Multicast SynchronousSynchronous Asynchronous & SynchronousAsynchronous & Synchronous Message PassingMessage Passing BufferingBuffering SocketsSockets
04/11/23 33Inter - Process Communication
ReferencesReferences Operating System ConceptsOperating System Concepts, Silberschatz, Galvin and Gange 2002, Silberschatz, Galvin and Gange 2002 Sameer Ajmani ``Automatic Software Upgrades for Sameer Ajmani ``Automatic Software Upgrades for DistributedDistributed SystemsSystems'' Ph.D. '' Ph.D.
dissertation, MIT, Sep. 2004dissertation, MIT, Sep. 2004 Message passing information from The University of Edinburgh Message passing information from The University of Edinburgh MPI-2: standards beyond the message-passing modelMPI-2: standards beyond the message-passing model
Lusk, E.;Lusk, E.;Massively Parallel Programming Models, 1997. Proceedings. Third Working Massively Parallel Programming Models, 1997. Proceedings. Third Working Conference onConference on12-14 Nov. 1997 Page(s):43 - 49 12-14 Nov. 1997 Page(s):43 - 49 Digital Object Identifier 10.1109/MPPM.1997.715960 Digital Object Identifier 10.1109/MPPM.1997.715960
AA. . N. Bessani, M. Correia, J. S. Fraga, and L. C. Lung. Sharing memory between N. Bessani, M. Correia, J. S. Fraga, and L. C. Lung. Sharing memory between Byzantine processes using policy-enforced tuple spaces. In Proceedings of the 26th Byzantine processes using policy-enforced tuple spaces. In Proceedings of the 26th International Conference on International Conference on DistributedDistributed Computing Computing SystemsSystems, July 2006, July 2006
A multithreaded message-passing system for high performance distributed A multithreaded message-passing system for high performance distributed computing applicationscomputing applicationsPark, S.-Y.; Lee, J.; Hariri, S.;Park, S.-Y.; Lee, J.; Hariri, S.;Distributed Computing Systems, 1998. Proceedings. 18th International Conference Distributed Computing Systems, 1998. Proceedings. 18th International Conference onon26-29 May 1998 Page(s):258 - 265 26-29 May 1998 Page(s):258 - 265 Digital Object Identifier 10.1109/ICDCS.1998.679521Digital Object Identifier 10.1109/ICDCS.1998.679521
A message passing standard for MPP and workstations J. J. Dongarra, S. W. Otto, M. A message passing standard for MPP and workstations J. J. Dongarra, S. W. Otto, M. Snir, and D. Walker, CACM, 39(7), 1996, pp. 84-90 Snir, and D. Walker, CACM, 39(7), 1996, pp. 84-90
N. Alon, M. Merrit, O. Reingold, G. Taubenfeld, and R. Wright. Tight bounds for N. Alon, M. Merrit, O. Reingold, G. Taubenfeld, and R. Wright. Tight bounds for shared memory shared memory systems systems acessed by Byzantine processes. acessed by Byzantine processes. DistributedDistributed Computing, Computing, 18(2):99–109, 200518(2):99–109, 2005
04/11/23 34Inter - Process Communication
ReferencesReferences Lessons for massively parallel applications on message passing computersLessons for massively parallel applications on message passing computers
Fox, G.C.;Fox, G.C.;Compcon Spring '92. Thirty-Seventh IEEE Computer Society International Compcon Spring '92. Thirty-Seventh IEEE Computer Society International Conference, Digest of Papers.Conference, Digest of Papers.24-28 Feb. 1992 Page(s):103 - 114 24-28 Feb. 1992 Page(s):103 - 114 Digital Object Identifier 10.1109/CMPCON.1992.186695Digital Object Identifier 10.1109/CMPCON.1992.186695
An analysis of message passing systems for distributed memory computersAn analysis of message passing systems for distributed memory computersClematis, A.; Tavani, O.;Clematis, A.; Tavani, O.;Parallel and Distributed Processing, 1993. Proceedings. Euromicro Workshop onParallel and Distributed Processing, 1993. Proceedings. Euromicro Workshop on27-29 Jan. 1993 Page(s):299 - 306 27-29 Jan. 1993 Page(s):299 - 306 Digital Object Identifier 10.1109/EMPDP.1993.336388Digital Object Identifier 10.1109/EMPDP.1993.336388
An analysis of message passing systems for distributed memory computersAn analysis of message passing systems for distributed memory computersClematis, A.; Tavani, O.;Clematis, A.; Tavani, O.;Parallel and Distributed Processing, 1993. Proceedings. Euromicro Workshop onParallel and Distributed Processing, 1993. Proceedings. Euromicro Workshop on27-29 Jan. 1993 Page(s):299 - 306 27-29 Jan. 1993 Page(s):299 - 306 Digital Object Identifier 10.1109/EMPDP.1993.336388Digital Object Identifier 10.1109/EMPDP.1993.336388
GoogleGoogle
04/11/23 35Inter - Process Communication
04/11/23 36Inter - Process Communication