Está en la página 1de 11

Vicerrectoría Académica y de Investigación

Curso: Computación Distribuida


Código : 202016914

Fase 2 – Redes informáticas, concurrencia y comunicación

Álvaro Santiago Suarez Lagos


202016914_10

Tutor
Ing. Eurípides Triana Tacuma

Universidad Nacional Abierta y a Distancia


Ingeniería de Sistemas
16-01
2024
Investigar sobre redes de interconexión computacional.

Rta : Una red de interconexión de computadoras es una infraestructura que conecta múltiples
dispositivos informáticos, como computadoras, servidores o clústeres, para facilitar la
comunicación y el intercambio de datos entre ellos. Estas redes son necesarias para mejorar
el rendimiento y la eficiencia en entornos informáticos distribuidos y paralelos.
Los sistemas de interconexión pueden variar desde topologías simples como buses o anillos
hasta redes más complejas como arquitecturas de malla, toro o hipercubo. La elección de la
conexión de red depende de factores como el rendimiento deseado, la escalabilidad y la
tolerancia a fallos.

Estas redes desempeñan un papel vital en entornos informáticos distribuidos y de alto


rendimiento, donde la velocidad y eficiencia de la comunicación entre nodos es crucial.
También son esenciales en la construcción de supercomputadoras y centros de datos, donde
la conectividad eficiente permite un procesamiento paralelo eficiente y una gestión óptima
de la carga. En resumen, las redes informáticas son un factor clave para optimizar la
conectividad y el rendimiento en entornos informáticos avanzados y distribuidos.

Ref: https://www.oas.org/juridico/spanish/cyber/cyb29_computer_int_sp.pdf

Investigar que son los mecanismos de comunicación computacional.


Los mecanismos de comunicación computacional se refieren a los métodos y procesos
utilizados por dispositivos o sistemas informáticos para intercambiar información entre sí.
Estos mecanismos son necesarios para permitir la colaboración, la transferencia de datos y la
coordinación de tareas en entornos distribuidos y redes informáticas. Algunos mecanismos
básicos de comunicación computacional incluyen:

1. Paso de mensajes: Este mecanismo implica el intercambio de mensajes entre


diferentes objetos computacionales.
Los mensajes pueden contener datos, instrucciones o solicitudes y pueden seguir modelos de
comunicación sincrónicos o asincrónicos.
El paso de mensajes es común en entornos distribuidos y sistemas de comunicación entre
procesos.
2. Comunicación vía socket Los sockets proporcionan una interfaz de programación para la
comunicación entre procesos en la red.
Usando sockets, los programas pueden enviar y recibir datos en dos direcciones. Este
mecanismo se utiliza comúnmente en aplicaciones cliente-servidor y en la implementación
de servicios de red.
3. Comunicación vía RPC (Llamada a procedimiento remoto): RPC permite que un programa
solicite la ejecución de un procedimiento o función en otro sistema remoto como si fuera un
conjunto de procedimientos local.
Esto facilita la comunicación entre aplicaciones distribuidas y la realización de tareas en
diferentes nodos de la red.

4. Interacción de la cola de mensajes. Con este método, los procesos pueden colocar mensajes
en una cola común y otros procesos los usan de manera ordenada.
Esto permite la comunicación y sincronización entre procesos sin que tengan que ejecutarse
simultáneamente.
5. Comunicación a través de memoria compartida. En un sistema multiproceso, la
comunicación puede realizarse a través de memoria compartida.
Los procesos comparten un área de memoria común, lo que les permite intercambiar
información directamente sin utilizar mecanismos de comunicación explícitos.

Estos mecanismos son necesarios para garantizar una comunicación eficiente y efectiva entre
los componentes de un sistema distribuido o en red.
La elección del mecanismo correcto depende de los requisitos específicos de la aplicación y
del entorno en el que se trabaja.
Ref : https://www.kio.tech/blog/data-center/protocolos-de-comunicaci%C3%B3n-de-redes
Mencionar y definir que es interconexión a nivel computacional.
Rta: La conectividad informática es el proceso de conectar diferentes dispositivos, sistemas
o redes informáticas para permitir la comunicación y el intercambio de datos. Esto puede
incluir el uso de cables físicos, como en una red de área local (LAN), o medios inalámbricos,
como en una red Wi-Fi o Bluetooth. La interconexión también implica el uso de protocolos
y tecnologías específicos para establecer y gestionar las comunicaciones, asegurando la
compatibilidad y el flujo de información eficiente entre diferentes componentes del sistema,
computadoras o entre sistemas separados. Por lo tanto, la conectividad informática es
fundamental para construir una infraestructura de tecnología de la información confiable y
escalable que admita una amplia gama de aplicaciones y servicios digitales.
Investigar que es la concurrencia y sincronización computacional.
Paralelismo y sincronización de cálculos:
Paralelismo. El paralelismo en informática significa la ejecución simultánea de múltiples
tareas, procesos o subprocesos.
Esto permite realizar múltiples operaciones simultáneamente, aumentando la eficiencia y el
rendimiento en sistemas distribuidos o multiproceso.
Sin embargo, esto puede causar problemas como la gestión de recursos compartidos y la
prevención de carreras.

Sincronización. La sincronización es el proceso de coordinar el acceso y la ejecución de


múltiples tareas o procesos para evitar conflictos y garantizar la coherencia de los datos.
Mecanismos de sincronización como semáforos, mutex (mutuamente excluyentes) y
variables condicionales se utilizan para controlar el acceso a recursos compartidos y
garantizar la ejecución ordenada de las operaciones.
Ref:https://lsi.vc.ehu.eus/pablogn/docencia/manuales/SO/TemasSOuJaen/CONCURRENCI
A/1ComunicacionySincronizacion.htm .

Mencionar y definir que es comunicación a nivel computacional.

Rta : Las comunicaciones computacionales se refieren al intercambio de información entre


dispositivos o sistemas informáticos a través de una red de área local o amplia. Este proceso
incluye transmitir, recibir y procesar datos utilizando protocolos y estándares establecidos
como TCP/IP o HTTP. Las comunicaciones computacionales pueden tomar muchas formas,
como transferencia de archivos, correo electrónico, navegación web e interacción en redes
sociales, y son fundamentales para el funcionamiento de la infraestructura digital moderna,
permitiendo la colaboración, el acceso remoto a los recursos y la automatización de procesos.
Rf:
https://issuu.com/rafa1230/docs/information/s/12446861#:~:text=La%20comunicaci%C3%
B3n%20por%20computadora%20es,im%C3%A1genes%2C%20audio%2C%20y%20v%C
3%ADdeo.
Mencionar y definir que es concurrencia y sincronización a nivel computacional.
Rta: El paralelismo en informática se refiere a la capacidad de un sistema para realizar
múltiples tareas al mismo tiempo, aparentemente simultáneamente. Esto significa que se
pueden ejecutar múltiples procesos simultáneamente, compartiendo recursos como CPU,
memoria y dispositivos de E/S. Por otro lado, la sincronización es el proceso de coordinar el
orden de ejecución de estos procesos o hilos para evitar problemas como condiciones de
carrera donde el resultado depende del orden en que se realizan las operaciones. La
sincronización se logra mediante el uso de técnicas como semáforos, mutex (exclusión
mutua) y monitores, que permiten que los procesos se comuniquen y se comuniquen entre sí
de manera ordenada y controlada, asegurando la coherencia e integridad de los datos
compartidos. Por lo tanto, el paralelismo permite realizar tareas simultáneamente y la
sincronización asegura una coordinación adecuada entre ellas para evitar problemas y
garantizar la coherencia del sistema.

Rf: https://cs.uns.edu.ar/~gd/soyd/clases/04-SincronizacionExtras.pdf

De los temas investigados, cuál de ellos y como los utilizará para el proyecto en
ejecución.

Aplicaciones en el proyecto:

En el contexto de un proyecto, el paralelismo y la sincronización son importantes,


especialmente cuando se trabaja con sistemas distribuidos, aplicaciones multiusuario o
entornos multiproceso.
Estos conceptos se utilizan para garantizar la coherencia de los datos, prevenir conflictos y
mejorar el rendimiento de tareas simultáneas.

En un proyecto particular, la implementación y sincronización paralelas pueden ser


importantes si varios usuarios tienen acceso a la base de datos, los procesos se ejecutan
simultáneamente o hay interacciones entre componentes distribuidos.
Algunas de las herramientas y enfoques que se pueden utilizar incluyen el uso de metáforas
para controlar el acceso a recursos críticos, implementar mecanismos de bloqueo y
desbloqueo para evitar condiciones de carrera e imponer el uso de patrones de diseño
concurrentes.
Por ejemplo, si está creando una aplicación web en la que varios usuarios acceden y
actualizan datos al mismo tiempo, es posible que deba implementar técnicas de
sincronización para evitar la coherencia y brindar una experiencia de usuario libre de
conflictos.
Las herramientas y estrategias que elija dependerán de las características específicas de su
proyecto y sus requisitos de concurrencia.

Elaborar documento colaborativo donde se indique como integra la comunicación, la


interconexión, la concurrencia y la sincronización al proyecto en desarrollo

Nombre Proyecto: Sistemas de Gestión de Riesgos Municipales con Computación


Distribuida

Equipo de Proyecto : Alvaro Santiago Suarez Lagos


Fecha : 28/02 / 2024

Introducción
En un entorno cada vez más propenso a eventos adversos, la eficaz gestión de riesgos
municipales se erige como una prioridad estratégica. La convergencia de la computación
distribuida ofrece una solución innovadora para fortalecer la capacidad de respuesta de los
municipios ante situaciones de emergencia. Al integrar sistemas de comunicación,
interconexión, concurrencia y sincronización, la computación distribuida permite una
coordinación eficiente entre distintos actores, proporcionando a las autoridades municipales
las herramientas necesarias para anticipar, evaluar y responder de manera ágil y colaborativa
a eventos críticos, contribuyendo así a la seguridad y bienestar de la comunidad.
Objetivos
Los objetivos de participar en un proyecto como un Sistema de Gestión de Riesgos Urbanos
con un proceso distribuido incluirán:

1. Mayor productividad.
El paralelismo permite que varias partes del sistema funcionen simultáneamente,
distribuyendo la carga y utilizando los recursos disponibles de la manera más eficiente
posible. Esto puede mejorar significativamente el rendimiento del sistema, permitiendo un
procesamiento de datos más rápido y una respuesta más rápida a informes o eventos de
gestión de riesgos urbanos.

2. Mayor disponibilidad: Al utilizar el paralelismo y la distribución de tareas, el sistema


puede ser más resistente a las fallas. Si un componente falla, los demás componentes pueden
continuar funcionando sin interrupciones significativas, lo que garantiza la disponibilidad del
sistema incluso en caso de una falla parcial.

3. Habilite la escalabilidad.
El paralelismo permite que el sistema se adapte fácilmente a los cambios en la carga de
trabajo o los requisitos de procesamiento.
A medida que aumenta el volumen de datos o la demanda de servicios, el sistema puede
escalar horizontal o verticalmente, distribuyendo efectivamente la carga entre múltiples
nodos o recursos. Sobre cómo se integran en este proyecto la comunicación, conectividad,
concurrencia y sincronización:
- Comunicación: La comunicación es necesaria para coordinar la interacción entre los
diferentes componentes de un sistema distribuido, permitiéndoles intercambiar datos
relevantes de riesgo urbano como información meteorológica, datos de infraestructura,
informes de incidentes, etc. Esto se puede lograr utilizando protocolos de comunicación
adecuados como HTTP, MQTT o sistemas de mensajería.

- Conectividad: La conectividad se refiere a la conexión y coordinación de los distintos nodos


o sistemas distribuidos que constituyen el sistema de gestión del riesgo urbano. Esto puede
incluir la conexión de sensores de vigilancia, estaciones meteorológicas, bases de datos de la
ciudad y centros de comando, garantizando así que todos los departamentos se comuniquen
de manera efectiva.

- Paralelo y sincrónico.
El paralelismo y la sincronización son esenciales para gestionar con éxito la ejecución
simultánea de múltiples tareas en sistemas distribuidos. Por ejemplo, varios usuarios pueden
acceder y actualizar datos de riesgo simultáneamente, lo que requiere sincronización para
evitar conflictos y mantener la integridad de los datos.
Además, el paralelismo puede ayudar a realizar tareas de procesamiento intensivo, como
análisis de datos o informes en tiempo real, lo que puede optimizar el uso de recursos y
mejorar el rendimiento del sistema.
Esto se puede lograr utilizando mecanismos de sincronización como semáforos, mutex y
técnicas de programación paralela.

Integración de Comunicación, Interconexión, Concurrencia y Sincronización

1. Comunicación:

En el contexto de nuestro proyecto de Gestión de Riesgos Municipales, la comunicación


efectiva es esencial para compartir información crítica en tiempo real. Implementaremos un
sistema de comunicación por mensajes que permita la transmisión de alertas y
actualizaciones entre los diversos departamentos municipales, organismos de emergencia y
la comunidad. Utilizaremos protocolos seguros para garantizar la confidencialidad y
autenticidad de la información transmitida.

2. Interconexión:

La interconexión será clave para unir a los diferentes actores involucrados en la gestión de
riesgos. Estableceremos una red de interconexión sólida utilizando tecnologías web y
servicios en la nube para facilitar la colaboración y compartir recursos. La arquitectura de
interconexión permitirá a las autoridades municipales acceder a datos en tiempo real, como
mapas de riesgos, pronósticos meteorológicos y actualizaciones de eventos adversos.

3. Concurrencia:

Dada la naturaleza dinámica de la gestión de riesgos, la concurrencia será esencial para


manejar múltiples eventos y tareas simultáneamente. Implementaremos un sistema
multiproceso que permitirá la ejecución simultánea de procesos como la evaluación de
riesgos, la coordinación de evacuaciones y la gestión de recursos. La modularidad del
sistema facilitará la concurrencia sin comprometer la integridad de los datos.

4. Sincronización:

La sincronización será crucial para garantizar la coherencia de la información y la


coordinación eficiente de las respuestas. Utilizaremos mecanismos de sincronización para
gestionar el acceso a bases de datos compartidas y asegurar la consistencia en la
actualización de información crítica. Además, implementaremos técnicas de sincronización
para coordinar las acciones entre diferentes entidades, como la respuesta de los servicios de
emergencia y la comunicación con la población.

Herramientas y Tecnologías:
- Para la comunicación por mensajes, se utilizarán protocolos como MQTT.
- La interconexión se basará en tecnologías estándar de red, como HTTP/HTTPS y
WebSockets.
- Se implementarán patrones de concurrencia mediante el uso de hilos y procesos en
lenguajes como Python y Java.
- Para la sincronización, se utilizarán mecanismos proporcionados por los lenguajes de
programación, como mutex y semáforos.
- La comunicación por mensajes se basará en tecnologías como MQTT o sistemas de
notificación push.

- La interconexión se llevará a cabo utilizando servicios web, APIs y tecnologías en la nube


como AWS o Azure.

- La concurrencia se implementará mediante el uso de programación multiproceso en


lenguajes como Python o Java.

- Para la sincronización, se emplearán mecanismos de bloqueo y transacciones en bases de


datos distribuidas.

Beneficios Esperados:

La integración de estos elementos en el proyecto de Gestión de Riesgos Municipales


permitirá una respuesta más eficaz y coordinada ante eventos adversos. La comunicación
fluida, la interconexión efectiva, la concurrencia gestionada y la sincronización adecuada
contribuirán a minimizar riesgos, mejorar la toma de decisiones y proteger a la comunidad
frente a situaciones de emergencia.
Historial de revisiones

Fecha Versión Descripción de Autor


Cambios
28/02 / 2024 1.0 Creación del informe Alvaro Santiago
y consulta de los Suarez Lagos
términos
28/02 / 2024 1.0 Creación del informe Alvaro Santiago
y consulta de los Suarez Lagos
términos
15/ 03/ 2024 1.0 Complementación Alvaro Santiago
de los objetivos y Suarez Lagos
terminación del
trabajo

Conclusiones

1. podemos concluir como la computación distribuida es una de las ramas mas


importantes de la ingeniería y de las redes con las cuales se puede con la que se puede
realizar la conexión de varios dispositivos para poder dar una solución de una manera
mas rápida y eficiente.

2. Podemos concluir que la concurrencia y la comunicación , interconexión ,


concurrencia y la sincronización son fundamentales para el desarrollo de la
actividades que se pueden desarrollar de una manera mas rápida y efectiva es de gran
importancia en los diferentes métodos que se pueden utilizar para poder realizar cada
una de las acciones persistentes que se puede realizar de una manera mas lógica y
comprensible de cada una de las acciones con las cuales se puede implementar cada
una de las comunicaciones , interconexiones y de la concurrencia y la sincronización
de los equipos y de las redes que se tienen en cada una de las acciones que se realizan.
Referencias bibliográficas

https://issuu.com/rafa1230/docs/information/s/12446861#:~:text=La%20comunicaci%C3%
B3n%20por%20computadora%20es,im%C3%A1genes%2C%20audio%2C%20y%20v%C
3%ADdeo.
https://cs.uns.edu.ar/~gd/soyd/clases/04-SincronizacionExtras.pdf

https://issuu.com/rafa1230/docs/information/s/12446861#:~:text=La%20comunicaci%C3%
B3n%20por%20computadora%20es,im%C3%A1genes%2C%20audio%2C%20y%20v%C
3%ADdeo.
https://lsi.vc.ehu.eus/pablogn/docencia/manuales/SO/TemasSOuJaen/CONCURRENCIA/1
ComunicacionySincronizacion.htm .

https://www.kio.tech/blog/data-center/protocolos-de-comunicaci%C3%B3n-de-redes
https://www.oas.org/juridico/spanish/cyber/cyb29_computer_int_sp.pdf

También podría gustarte