En computación distribuida, la llamada a procedimiento remoto (en inglés, remote procedure call, RPC) es un programa que utiliza una computadora para ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambas. El protocolo que se utiliza para esta llamada es un gran avance sobre los sockets de Internet usados hasta el momento. De esta manera el programador no tenía que estar pendiente de las comunicaciones, estando estas encapsuladas dentro de las RPC.
Las RPC son muy utilizadas dentro de la comunicación cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o función y enviando este de vuelta el resultado de dicha operación al cliente.
Sistemas Distribuidos
martes, 24 de mayo de 2016
Grid
La computación grid (o en malla) es una tecnología que permite utilizar de forma coordinada recursos heterogéneos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado. En este sentido es una forma de computación distribuida, en la cual los nodos participantes recursos pueden ser de iguales o distintas arquitecturas y cubrir toda la gama de potencia de cómputo, desde embebidos y hasta supercomputadores.
Típicamente, los sistemas que forman parte de una malla están interconectados mediante redes de área extensa (por ejemplo Internet). Desarrollado en ámbitos científicos a principios de los años 1990, su entrada al mercado comercial siguió la idea de la llamada Utility computing.
El término grid se refiere a una infraestructura que permite la integración y el uso colectivo de ordenadores de alto rendimiento, redes y bases de datos que son propiedad y están administrados por diferentes instituciones. Puesto que la colaboración entre instituciones envuelve un intercambio de datos, o de tiempo de computación, el propósito del grid es facilitar la integración de recursos computacionales. Universidades, laboratorios de investigación o empresas se asocian para formar grids para lo cual utilizan algún tipo de software que implemente este concepto.
En la computación grid, las redes pueden ser vistas como una forma de computación distribuida donde un “supercomputador virtual” está compuesto por una serie de computadores agrupados para realizar grandes tareas.
Típicamente, los sistemas que forman parte de una malla están interconectados mediante redes de área extensa (por ejemplo Internet). Desarrollado en ámbitos científicos a principios de los años 1990, su entrada al mercado comercial siguió la idea de la llamada Utility computing.
El término grid se refiere a una infraestructura que permite la integración y el uso colectivo de ordenadores de alto rendimiento, redes y bases de datos que son propiedad y están administrados por diferentes instituciones. Puesto que la colaboración entre instituciones envuelve un intercambio de datos, o de tiempo de computación, el propósito del grid es facilitar la integración de recursos computacionales. Universidades, laboratorios de investigación o empresas se asocian para formar grids para lo cual utilizan algún tipo de software que implemente este concepto.
En la computación grid, las redes pueden ser vistas como una forma de computación distribuida donde un “supercomputador virtual” está compuesto por una serie de computadores agrupados para realizar grandes tareas.
escalabilidad
En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para reaccionar y adaptarse sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos.
En general, también se podría definir como la capacidad del sistema informático de cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes.1 Por ejemplo, una Universidad que establece una red de usuarios por Internet para un edificio de docentes y no solamente quiere que su sistema informático tenga capacidad para acoger a los actuales clientes que son todos profesores, sino también a los clientes que pueda tener en el futuro dado que hay profesores visitantes que requieren de la red por algunas aplicaciones académicas, para esto es necesario implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de su uso y reutilización disminuya o que pueda cambiar su configuración si es necesario.
La escalabilidad como propiedad de los sistemas es generalmente difícil de definir,2 en particular es necesario definir los requisitos específicos para la escalabilidad en esas dimensiones donde se crea que son importantes. Es una edición altamente significativa en sistemas electrónicos, bases de datos, ruteadores y redes. A un sistema cuyo rendimiento es mejorado después de haberle añadido más capacidad hardware, proporcionalmente a la capacidad añadida, se dice que pasa a ser un sistema escalable.
latencia
En redes informáticas de datos se denomina latencia a la suma de retardos temporales dentro de una red. Un retardo es producido por la demora en la propagación y transmisión de paquetes dentro de la red.
Otros factores que influyen en la latencia de una red son:
El tamaño de los paquetes transmitidos.
El tamaño de los buffers dentro de los equipos de conectividad. Ellos pueden producir un Retardo Medio de Encolado.
Hay latencia en tecnologías de uso musical, como los transformadores de audio digital a vinilos analógicos. El traspaso de información de un mecanismo a otro sufrirá siempre este retardo, que normalmente está estimado en milisegundos (1/1,000 s) en algunos casos pequeño, en otro más notorio. La latencia en el sentido del audio digital esta directamente relacionada con la tarjeta de audio, esto se debe a que dicha tarjeta no es compatible con ASIO (Audio Stream Input Output).
Un punto muy importante es que siempre va a haber cierta latencia, aún cuando se hable de latencia cero, la cuestión es que esta es imperceptible (3 ms aprox.) En general se refiere al tiempo que dura en llegar una acción desde su punto de inicio hasta su "punto de fuga", es decir cuando la acción se consuma.
Otros factores que influyen en la latencia de una red son:
El tamaño de los paquetes transmitidos.
El tamaño de los buffers dentro de los equipos de conectividad. Ellos pueden producir un Retardo Medio de Encolado.
Hay latencia en tecnologías de uso musical, como los transformadores de audio digital a vinilos analógicos. El traspaso de información de un mecanismo a otro sufrirá siempre este retardo, que normalmente está estimado en milisegundos (1/1,000 s) en algunos casos pequeño, en otro más notorio. La latencia en el sentido del audio digital esta directamente relacionada con la tarjeta de audio, esto se debe a que dicha tarjeta no es compatible con ASIO (Audio Stream Input Output).
Un punto muy importante es que siempre va a haber cierta latencia, aún cuando se hable de latencia cero, la cuestión es que esta es imperceptible (3 ms aprox.) En general se refiere al tiempo que dura en llegar una acción desde su punto de inicio hasta su "punto de fuga", es decir cuando la acción se consuma.
Tasa de transferencia
En informática y telecomunicaciones, el término tasa de bits define el número de bits que se transmiten por unidad de tiempo a través de un sistema de transmisión digital o entre dos dispositivos digitales. Así pues, es la velocidad de transferencia de datos.
Unidades
La unidad con que el Sistema Internacional de Unidades expresa el bit rate es el bit por segundo (bit/s, b/s, bps). La b debe escribirse siempre en minúscula, para impedir la confusión con byte por segundo (B/s). Para convertir de bytes/s a bits/s, basta simplemente multiplicar por "8" y viceversa.
Que la unidad utilizada sea el bit/s, no implica que no puedan utilizarse múltiplos del mismo:
kbit/s o kbps (kb/s, kilobit/s o mil bits por segundo)
Mbit/s o Mbps(Mb/s, Megabit/s o un millón de bits por segundo)
Gbit/s o Gbps (Gb/s, Gigabit, mil millones de bits)
byte/s (B/s u 8 bits por segundo)
kilobyte/s (kB/s, mil bytes u ocho mil bits por segundo)
megabyte/s (MB/s, un millón de bytes u 8 millones de bit por segundo)
gigabyte/s (GB/s, mil millones de bytes u 8 mil millones de bits)
Unidades
La unidad con que el Sistema Internacional de Unidades expresa el bit rate es el bit por segundo (bit/s, b/s, bps). La b debe escribirse siempre en minúscula, para impedir la confusión con byte por segundo (B/s). Para convertir de bytes/s a bits/s, basta simplemente multiplicar por "8" y viceversa.
Que la unidad utilizada sea el bit/s, no implica que no puedan utilizarse múltiplos del mismo:
kbit/s o kbps (kb/s, kilobit/s o mil bits por segundo)
Mbit/s o Mbps(Mb/s, Megabit/s o un millón de bits por segundo)
Gbit/s o Gbps (Gb/s, Gigabit, mil millones de bits)
byte/s (B/s u 8 bits por segundo)
kilobyte/s (kB/s, mil bytes u ocho mil bits por segundo)
megabyte/s (MB/s, un millón de bytes u 8 millones de bit por segundo)
gigabyte/s (GB/s, mil millones de bytes u 8 mil millones de bits)
confiabilidad
El término confiabilidad es descrita en el diccionario de la RAE como "probabilidad de buen funcionamiento de algo". Por tanto, extendiendo el significado a sistemas, se dice que la fiabilidad de un sistema es la probabilidad de que ese sistema funcione o desarrolle una cierta función, bajo condiciones fijadas y durante un período determinado.
Un sistema es una colección de componentes/subsistemas dispuestos de acuerdo a un diseño dado con el propósito de lograr el cumplimiento de unas determinadas funciones con una adecuación y fiabilidad aceptables. El tipo de componentes, su cantidad, su calidad y el modo en que están dispuestas tiene un efecto directo en la fiabilidad de sistema.
La fiabilidad se define como la probabilidad de que un bien funcione adecuadamente durante un período determinado bajo condiciones operativas específicas (por ejemplo, condiciones de presión, temperatura, fricción, velocidad, tensión o forma de una onda eléctrica, nivel de vibraciones).
Un sistema es una colección de componentes/subsistemas dispuestos de acuerdo a un diseño dado con el propósito de lograr el cumplimiento de unas determinadas funciones con una adecuación y fiabilidad aceptables. El tipo de componentes, su cantidad, su calidad y el modo en que están dispuestas tiene un efecto directo en la fiabilidad de sistema.
La fiabilidad se define como la probabilidad de que un bien funcione adecuadamente durante un período determinado bajo condiciones operativas específicas (por ejemplo, condiciones de presión, temperatura, fricción, velocidad, tensión o forma de una onda eléctrica, nivel de vibraciones).
Middleware
Middleware o lógica de intercambio de información entre aplicaciones ("interlogical") es un software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, o paquetes de programas, redes, hardware y/o sistemas operativos. Éste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones y sincronizaciones que son necesarias en los sistemas distribuidos. De esta forma, se provee una solución que mejora la calidad de servicio, así como la seguridad, el envío de mensajes, la actualización del directorio de servicio, etc.
Funciona como una capa de abstracción de software distribuida, que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la fácil programación y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, serán útiles diferentes tipos de servicios de middleware. Por lo general el middleware del lado cliente está implementado por el Sistema Operativo, el cual posee las bibliotecas que ejecutan todas las funcionalidades para la comunicación a través de la red.
Funciona como una capa de abstracción de software distribuida, que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la fácil programación y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, serán útiles diferentes tipos de servicios de middleware. Por lo general el middleware del lado cliente está implementado por el Sistema Operativo, el cual posee las bibliotecas que ejecutan todas las funcionalidades para la comunicación a través de la red.
Suscribirse a:
Entradas (Atom)