Module 2 Flashcards

Networks and Parallelism with the Data structures

1
Q

_ is a collection of tightly or loosely connected computers that work together so that they act as a single entity.

A

Cluster computing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

A communicator defines a group of processes that can communicate with one another.

A

Message Passing Interface (MPI)

The first concept is the notion of a communicator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

an application passes messages among processes to perform a task

A

Message Passing Interface (MPI)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

It is a basic approach for Inter-Process Communication. The data exchange between the sender and the receiver. A process sends a message representing the request. The receiver receives and processes it then sends it back as the reply

A

Message Passing Paradigm

Operations: send, receive
Connections: connect, disconnect

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The server acts as a service provider, the client issues the request and waits for the response from the server. Here server is a dump machine. Until the client makes a call server doesn’t communicate. Many Internet services are client server applications.

A

Client Server Paradigm

Server Process: listen, accept
Client Process: issue the request, accept the response

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Direct communication between processes. Here is no client or server, anyone can make request to others and get a response.

A

Peer to Peer Paradigm

Request
Response

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

_ act as an intermediate among independent processes. It is also act as a switch through which processes exchange messages asynchronously in a decoupled manner.

A

Message systems

Sender sends a message which drop at first in the message system then forward to message queue which is associated with the receiver.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

_ the sender and the receiver have to “meet” at their respective send/receive operations so that data can be transferred.

A

Synchronous message passing

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

The sender does not wait for the receiver to reach its receive operation, rather it gets rid of the prepared data and continues its execution.

This form of transfer does not force the sender to wait, but creates another problem: there may be messages that have already been sent but not yet received, and they have to be stored somewhere.

A

Asynchronous message passing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

They are the buffers for in-transit messages.

A

Message queues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Data is aggregated or disseminated from/to multiple processes.

A

COLLECTIVE COMMUNICATION

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Blocks until all processes have reached a
synchronization point

A

Barrier Synchronization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Broadcast, Scatters, Gather, All to All transmission of data across the communicator.

A

Data Movement (or Global Communication)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

One process from which the communicator collects data from each process and operates on that data to compute a result.

A

Collective Operations (or Global Reduction)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

_ blocks until all processes have reached this routine

A

MPI_Barrier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Distributing data from one process to all processes in the group

A

Broadcast

MPI_Bcast broadcasts a message from the process with rank “root” to all other processes of the group.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Takes an array of elements and distributes the elements in the order of process rank

A

Scatter

MPI_Scatter sends data from one task to all other tasks in a group

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Takes elements from many processes and gathers them into one single process.

A

Gather

Inverse of MPI Scatter

MPI_Gather gathers together values from a group of processes

MPI_Allgather gathers data from all tasks and distribute it to all.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Takes an array of elements on each process and returns an array of output elements to the root process.

A

Reduce

MPI_Reduce reduces values on all processes to a single value.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

MPI REDUCTION OPERATION

Returns the maximum element.

A

MPI_MAX

Maximum

C Data Types: integer, float

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

MPI REDUCTION OPERATION

Returns the minimum element.

A

MPI_MIN

Minimum

C Data Types: integer, float

22
Q

MPI REDUCTION OPERATION

Sums the elements.

A

MPI_SUM

Sum

C Data Types: integer, float

23
Q

MPI REDUCTION OPERATION

Multiplies all elements.

A

MPI_PROD

Product

C Data Types: integer, float

24
Q

MPI REDUCTION OPERATION

Performs a logical and across the elements.

A

MPI_LAND

Logical AND

C Data Types: integer

25
Q

MPI REDUCTION OPERATION

Performs a bitwise and across the bits of the elements.

A

MPI_BAND

Bitwise AND

C Data Types: integer, MPI_BYTE

26
Q

MPI REDUCTION OPERATION

Performs a logical or across the elements.

A

MPI_LOR

Logical OR

C Data Types: integer

27
Q

MPI REDUCTION OPERATION

Performs a bitwise or across the bits of the elements.

A

MPI_BOR

Bitwise OR

C Data Types: integer, MPI_BYTE

28
Q

MPI REDUCTION OPERATION

A

MPI_LXOR

Logical XOR

C Data Types: integer

29
Q

MPI REDUCTION OPERATION

A

MPI_BXOR

Bitwise XOR

C Data Types: integer, MPI_BYTE

30
Q

MPI REDUCTION OPERATION

Returns the maximum value and the rank of the process that owns it.

A

MPI_MAXLOC

Maximum Value and Location

C Data Types: float, double, long double

31
Q

MPI REDUCTION OPERATION

Returns the minimum value and the rank of the process that owns it.

A

MPI_MINLOC

Minimum Value and Location

C Data Types: float, double, long double

32
Q

Factors Affecting Data Movement and Change

A

Network Structure: The topology and characteristics of a communication network significantly influence data flow and the speed of information dissemination. Decentralized networks can promote rapid and widespread information sharing.
2. Data Volume and Velocity: The volume and speed of data movement can determine how quickly information reaches participants and how effectively it can be processed and understood.
Participant Engagement and Trust: The level of engagement and trust among network participants can affect how data is shared, interpreted, and acted upon.
Algorithmic Influence: Algorithms used to filter, prioritize, and distribute content within communication networks can shape the information that participants see and how they perceive it.

33
Q

The effect of increased participation on the collective communication transfer of data is complex. It depends upon several elements, including the:

A
  • type of technology
  • network topology
  • message size
  • synchronization requirements
34
Q

_ is a numeric or alphanumeric string that is associated with a single entity within a given system.

A

Unique Identifier (UID)

Some agencies give people a ‘unique identifier’ instead of using their name.

35
Q

_ are indispensable for effective collective communication in parallel and distributed systems. They provide a mechanism for processes to identify themselves, address messages, and coordinate their actions, enabling scalable, reliable, and efficient communication patterns.

A

Unique identifiers

36
Q

_ are essential in collective communication to distinguish processes from one another and enable efficient data routing and synchronization.

A

Unique identifiers

37
Q

Types of Unique Identifier

A

PROCESS RANK
* Simple integer: Each process is assigned a unique integer value.
* Advantages: Easy to implement and manage.
* Disadvantages: Limited flexibility, especially in dynamic systems where processes may join or leave.

PROCESS ID
* System-assigned identifier: The operating system assigns each process a unique identifier.
* Advantages: Provides a globally unique identifier.
* Disadvantages: Can be more complex to manage and may require additional system resources.

LOGICAL TOPOLOGY
* Hierarchical or grid-based structure: Processes are organized into a logical topology, such as a tree or a grid.
* Advantages: Can provide information about the relationships between processes and facilitate efficient data routing.
* Disadvantages: Implementing and managing it may be more complex, especially in dynamic systems.

Custom Identifiers
* User-defined identifiers: Processes can be assigned unique identifiers based on various criteria, such as location, function, or workload.
* Advantages: Can provide flexibility and adaptability to specific application requirements.
* Disadvantages: May require additional management and can be more complex to implement.

38
Q

Each process is assigned a unique integer value.

A

Simple integer

PROCESS RANK

39
Q

The operating system assigns each process a unique identifier.

A

System-assigned identifier

PROCESS ID

40
Q

Processes are organized into a logical topology, such as a
tree or a grid.

A

Hierarchical or grid-based structure:

LOGICAL TOPOLOGY

41
Q

Processes can be assigned unique identifiers based on various criteria, such as location, function, or workload.

A

User-defined identifiers

Custom Identifiers

42
Q

A numerical identifier that represents the user associated with the process.

A

UID (User ID)

This is used for security and access control purposes.

43
Q

Numerical identifier for process in the system calls or commands.

A

Process ID (PID)

44
Q

A numerical identifier for groups that process together a single unit.

A

PROCESS GROUP ID (PGID)

45
Q

**

Associates a group of processes with a particular user session.

A

SESSION ID (SID)

46
Q

A unique numerical identifier assigned to each process running on a system. It serves as a way to uniquely identify and track processes.

A

PID (Process ID)

47
Q

The PID of the process that created the current process. This is useful for understanding the process hierarchy and
for debugging purposes.

A

PPID (Parent Process ID)

48
Q

_ is a collection of process groups used for job control. Each process group belongs to a session, and a process is part of the session of its process group.

A

Session ID (SID)

SID is used to manage and control processes that belong to a specific user.

Session Concept
* A session is a collection of one or more process groups.
* A session allows for easier management of related processes, particularly in terms of job control and signal handling.

49
Q

WHY WE NEED UNIQUE IDENTIFIERS?

A

▪ Process Differentiation
▪ Data Routing
▪ Synchronization
▪ Fault Tolerance
~
Identify Themselves - unique label
Address messages - specify the recipient
Coordinate actions - synchronize their activities
~
1. To determine the correct path for data to follow between processes, ensuring efficient and accurate communication.
2. To establish synchronization points between processes, ensuring that they proceed at the same pace and avoid race conditions.
3. To establish synchronization points between processes, ensuring that they proceed at the same pace and avoid race conditions.
4. To identify the affected processes and initiate recovery procedures. This helps to maintain the integrity and reliability of collective communication.

50
Q

Challenges Arising Without Unique Identifiers

A

1. Data Ambiguity - without out unique identifier is difficult to distinguish between different entities or records.
2. Data Duplication - can result in duplicate entries for the same entity. Multiple records may represent the same without a clear way to differentiate them.
3. Inefficient Data Management Without UIDs - managing and maintaining data becomes cumbersome. Tracking changes of records is more complex.
4. Difficulty in Data Integration - Integrating data from multiple sources can be problematic. Different systems may refer to the same entity using different names or formats.
5. Increased Risk of Data Integrity Issues - ensuring data integrity becomes a challenge. There is a higher likelihood of data corruption or inconsistency as records may be linked or overwritten.
6. Complicated User Experience - systems that lack UIDs may struggle to find or interact with the data they need. Searching for records can become a tedious process.
7. Challenges in Auditing and Compliance - unique identifiers are essential for tracking changes and maintaining records in compliance with regulations. Without them, auditing processes become less reliable.
8. Difficulty in Scalability - as systems grow and accumulate more data, the absence of unique identifiers can hinder scalability. Managing relationships between records becomes complex.

51
Q

CONCLUSION:

Message-passing paradigms are an integral part of cluster computing, enabling distributed processes to share information. MPI is the current standard; however, several alternatives and new technologies offer usable choices. Application requirements such as performance, scalability, and usability further differ with a choice in paradigm. As cluster computing continues to evolve, improved message-passing tools will overcome issues and fine-tune distributed systems.

✓ The point of collective communication is very important for today’s computing systems, and to work well, it does require unique identifiers. By recognizing how important this collective communication is and how unique identifiers fit in, we can create better, larger, and more dependable parallel and distributed applications.

A

Noted

52
Q

CONCLUSION:

The absence of unique identifiers can create a
multitude of challenges that affect data clarity, management, and integrity. Implementing a robust system of unique identifiers can significantly enhance data handling processes, improve user experience, and facilitate data integration and compliance. Organizations should prioritize the establishment of unique identifiers to mitigate these challenges effectively.

A

Noted