Distributed and Parallel Systems Overview
Distributed and Parallel Systems Overview
Luanda, 2023
Parque do Saber do MTTI, ISUTIC, Bairro dos CTT´s KM 7, Rangel-Luanda, Contactos: [Link]
INSTITUTE OF INFORMATION AND COMMUNICATION TECHNOLOGIES (INSTIC)
COORDINATION OF THE TELECOMMUNICATION ENGINEERING COURSE
Year: 5o
Authors: Nº Processo:
Dário E. Prazeres 2130
Eduane V. Domingos 2142
Érica D. Bonito 1524
José N. Matazi 2184
Josué K. Mbunga 2186
Luanda, 2022
Page III
General Objective
Study the architecture of distributed and parallel systems and their implications in communication
and synchronization between the components, with the aim of understanding how these systems
they work and how they can be designed to meet different performance requirements
and availability.
Objetivos específicos
Analyze the main characteristics of distributed and parallel systems like yours.
architecture, communication, and synchronization;
Investigate the different architectures of distributed and parallel systems, including
client-server architectures, peer-to-peer and others;
Analyze the implications of choosing a specific architecture in communication and
synchronization of distributed and parallel systems, taking into account aspects such as
performance, scalability, and availability;
Study the communication and synchronization techniques used in distributed systems and
parallels, such as message exchange, shared memory, and locking.
Page IV
1. Introduction
Distributed and parallel systems are two of the main ways to achieve high performance.
computational performance in large-scale data processing applications. While the
Distributed systems are characterized by the presence of multiple interconnected components.
In different geographical locations, parallel systems are characterized by the use of multiple
processors working together to execute tasks in parallel. In this work,
we will discuss in detail the main concepts related to each of these systems, as well as
its main applications in different areas of computing.
Page 1
2. Distributed Systems
Among the main characteristics of distributed systems, the following stand out:
Page 2
Among the main applications of distributed systems, the following stand out:
Social networks: Social networks such as Facebook, Twitter, and LinkedIn are examples of systems
distributed systems that allow users from different geographic locations to connect and
share information in real time.
E-commerce systems: Online stores like Amazon and AliExpress are examples of
distributed systems that allow for large-scale commercial transactions to be carried out, with the
order processing, inventory management, and distribution of products in different
geographical regions.
Scalability: distributed systems need to be scalable, that is, they need to be capable
to handle a large number of users and resources without compromising performance.
Reliability: distributed systems need to be reliable, that is, they need to ensure that
integrity and availability of data and services, even in the event of failures or errors.
Security: distributed systems need to be secure, that is, they must ensure protection.
of data and services against unauthorized access and other threats.
3. Parallel Systems
Among the main characteristics of parallel systems, the following stand out:
Communication: The processors of a parallel system need to communicate with each other.
to exchange information and coordinate tasks. For this, it is necessary to use protocols of
efficient communication and synchronization mechanisms to avoid conflicts.
Among the main applications of parallel systems, the following stand out:
Page 4
Parallel systems are fundamental in this area to accelerate the processing of large
data volumes and reduce simulation time.
Scalability: parallel systems need to be scalable, that is, they need to be able to
lidar with a large number of processors and tasks, without compromising performance.
Communication: distributed and parallel systems need to have efficient mechanisms for
communication between processors and resources, to ensure the exchange of information and coordination
the tasks.
Programming: the programming of distributed and parallel systems is complex and requires
advanced knowledge in parallel and distributed programming techniques, which can be a
challenge for many developers.
Testing and debugging: distributed and parallel systems present specific challenges
regarding testing and debugging, due to its distributed and parallel nature, which can make
more difficult to identify and correct errors and flaws.
Page 5
5. Distributed and parallel architectures
One of the main advantages of distributed and parallel architectures is the possibility of
use of computer clusters for large-scale data processing. A cluster is
a group of interconnected computers that work together to perform a task. The
the use of clusters can be applied in different areas, such as data analysis, simulation
complex processes and high-performance computing.
Figure 3 - A cluster
Page 6
In addition, distributed and parallel architectures can be used together to achieve
even more benefits, such as increased processing capacity and reduced time of
response. For example, it is possible to use clusters of interconnected computers on a network to
implement distributed parallel architectures, allowing tasks to be distributed among the
different processors.
In the context of cloud computing, distributed and parallel architectures are fundamental.
to ensure the scalability and efficiency of systems. Cloud services like Amazon
Web Services (AWS) or Microsoft Azure offer various resources for implementation
of these architectures, such as virtual machine instances, distributed databases and
batch processing tools.
There are several distributed and parallel architectures that can be used in computing.
current. Some of the most common are:
Client-server architecture: In this architecture, the services are distributed between two
main components: the client and the server. The client makes requests to the server, which
processes requests and returns results to the client. This architecture is widely
used in web systems and in distributed databases.
Peer-to-peer architecture: In this architecture, all nodes in the network are equal and have the
ability to act as both client and server. The nodes can share resources, data and
services with each other, without the need for a centralized server. This architecture is commonly
used in file sharing systems and in decentralized social networks.
Page 7
Figure 5 - Peer-to-peer architecture
These are just a few examples of distributed and parallel architectures used in
modern computing. The choice of the most suitable architecture for a given system
it depends on several factors, such as the nature of the data to be processed, the response time
desired and the resources available for the implementation of the system.
Page 8
Artificial intelligence systems: These systems are used to analyze data.
complex, such as images, speech, text, and sensor data. Distributed architectures and
parallels allow these systems to process large volumes of data in parallel, reducing
significantly the time needed to train and execute machine learning models.
Online gaming systems: These systems are used to provide online gaming services,
such as multiplayer games and real-time games. Distributed and parallel architectures allow
that these systems process information in real time, providing a gaming experience
smooth and uninterrupted.
However, the implementation of distributed and parallel architectures involves various challenges,
how the communication and synchronization between the components, resource management and the
guarantee of reliability. Communication in distributed and parallel systems can be carried out
through different mechanisms, such as remote procedure calls, message passing
ou memória compartilhada. É necessário garantir que a comunicação seja realizada de maneira
efficient and safe, to avoid problems such as data loss or transmission conflicts
Information. Synchronization is also a critical aspect in the implementation of these architectures.
since it is necessary to ensure that the different components of the system are synchronized to
avoid concurrency problems, such as data inconsistency or information loss.
Communication and synchronization are two critical aspects in distributed and parallel systems.
As these systems are composed of various processes running on different machines, it is
it is essential that these processes communicate with each other and coordinate to ensure the correct
functioning of the system.
Page 9
Communication in distributed and parallel systems involves sending and receiving
messages between the processes or nodes that make up the system. Communication in systems
distribution can be done in several ways, including:
Traffic lights: Traffic lights are a more sophisticated synchronization mechanism that involves the
use of an object that controls access to a shared resource. The semaphore object can be
configured to allow or deny access to a shared resource depending on its state
currently. Traffic lights are useful for dealing with situations where multiple processes need to access the
the same resource, but only one process can access it at a time.
Page 10
reach before continuing execution. Barriers are useful to ensure that processes do not
proceed to the next stage of execution before everyone is ready.
These mechanisms are used to ensure that different processes run in sync and
we cooperate to complete a specific task.
Another important issue in distributed and parallel systems is scalability, that is, the
system's ability to handle a large number of processes running simultaneously.
As the number of processes increases, it is essential that the system is able to scale.
efficient and balanced way to ensure proper performance.
Page 11
7. Conclusion
Distributed and parallel systems are an efficient solution to deal with the
processing large volumes of data and with the increasing demand for processing
in real time. However, the implementation of these systems presents several challenges, such as
the communication and synchronization between components, resource management, and tolerance
the failures.
To ensure the efficiency and safety of these systems, it is important that they are adopted.
efficient mechanisms for communication and synchronization, and that the resources are managed from
appropriate manner. Furthermore, it is essential that the system be able to handle failures of
hardware and software without interrupting the processing, to ensure the availability of the
services.
In summary, distributed and parallel systems are an efficient solution for dealing with
the processing of large volumes of data and with the demand for real-time processing
real. However, its implementation requires special care to ensure efficiency and the
security of the services offered.
Page 12
8. Bibliography
Distributed Systems:
Principles and Paradigms. Pearson Prentice Hall.
Page 13