Module 203 20 - 20MPI 20for 20cluster 20computing 20lec
Module 203 20 - 20MPI 20for 20cluster 20computing 20lec
Computing
Module Objectives
2
Cluster
Computing
Cluster computing is a collection of tightly or loosely connected computers
that work together so that they act as a single entity.
3
Cluster
Computing
5
Message Passing
Interface
6
Message Passing
Interface
Message Passing Interface (MPI)
Supports both point-to-point and collective
communication between processes, as well as derived
data types, one-sided communication, dynamic process
management, and I/O.
7
Message Passing
Interface
8
Message Passing
Interface
9
Message Passing
Interface
Message Passing Paradigm:
10
Message Passing
Interface
Peer to Peer Paradigm:
11
Message Passing
Interface
Client Server Paradigm
the server acts as a service provider, the client issues the request and
waits for the response from the server.
12
Message Passing
Synchronous Message Passing
the sender and the receiver have
to "meet" at their respective
send/receive operations so that
data can be transferred.
This is also called 'rendezvous' or
'handshaking’.
This form of transfer is simple but
might be inefficient because the
sender may have to wait even if it
has done its duty and prepared the
data to be sent.
'rendezvous' or 'handshaking
13
Message Passing
14
Message Passing
Interface
Message Passing Vs Message systems
This is where message queues come into play, they are the buffers for in-
transit messages.
15
Collective
Communication
COLLECTIVE COMMUNICATION
16
Collective
Communication
Collective communication operations are made of the following types:
17
Collective
Communication
Operations
Barrier Synchronization
Meaning: MPI_Barrier blocks until all processes have reached this routine.
18
Collective Communication
Operations
MPI_Bcast( void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm );
19
Collective Communication
Operations
MPI_Gather( void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype
recvtype, int root, MPI_Comm comm );
21
Collective Communication
Operations
MPI_Allgather( void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int
recvcount, MPI_Datatype recvtype, MPI_Comm comm );
22
Collective Communication
Operations
23
Unique Identifiers
Some agencies give people a 'unique identifier' instead of using their name. Examples are a
driver's licence number, a passport number, a student ID number, or an IRD number.
24
Unique Identifiers
Unique Identifiers
Lists several process identifiers commonly used in operating systems:
• PPID (Parent Process ID): The PID of the process that created the current
process. This is useful for understanding the process hierarchy and for
debugging purposes.
• SID (Session ID): A unique identifier for a group of processes that are
associated with a particular user session. This is often used for security and
resource allocation purposes.
25
Unique Identifiers
Unique Identifiers
Lists several process identifiers commonly used in operating systems:
• UID (User ID): A numerical identifier that represents the user associated
with the process. This is used for security and access control purposes.
Task Manager. Task Manager can be opened in a number of ways, but the simplest is to select
Ctrl+Alt+Delete, and then select Task Manager. In Windows, first click More details to expand the
information displayed. From the Processes tab, select Details to see the process ID listed in the PID
column
26
Unique Identifiers
Unique Identifiers
are essential for collective communication
because they allow processes to:
27
Unique Identifiers
28
Unique Identifiers
Conclusion:
29
THANKS!
30