Вы находитесь на странице: 1из 12

CATEDRATICO: Alicia Gonzlez Gonzlez

ALUMNO: Jos Alberto Quintana Macas.

GRADO: 6

GRUPO: B 30 DE MAYO DEL 2011

INSTITUTO TECNOLOGICO DE CD. CUAUHTEMOC.

Introduccin
Durante el desarrollo de este documento estaremos hablando sobre algunas arquitecturas de los multiprocesadores, sobre las arquitecturas de cliente-servidor, los sistemas distribuidos y sistema de tiempo real. Cada uno se expondr con algunas de sus caractersticas principales.

Arquitectura Multiprocesador.
Los ordenadores multiprocesador presentan problemas de diseo que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultneamente y, potencialmente, pueden interferirse entre s. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:

La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria.

El Multiprocesador basado en la arquitectura de deteccin de eventos (MADE), construido con base en una novedosa arquitectura de multiprocesadores multiprogramados, es diseado para ser aplicado en sistemas de buses seriales de alta velocidad y aplicaciones que requieran grandes volmenes de operaciones matemticas. El MADE en su primera etapa utilizaba la tcnica de memoria compartida, con dos micro controladores 8031 como unidades bsicas de proceso, una memoria de programa para cada mdulo y una memoria de datos compartidos que permita coherencia entre los dos mdulos. Multiprocesadores Simtricos (SMP) Todos los procesadores comparten la misma memoria y el mismo espacio de direccionamiento. El tiempo de acceso a memoria es igual para todos los procesadores y todas las posiciones (UMA). Modelo de programacin basado en variables compartidas, aunque es posible simular paso de mensajes. Mecanismos de sincronizacin para el acceso a recursos comunes. Sistemas ms comunes basados en BUS. El principal problema de estos sistemas es la coherencia de la memoria cache.

Multiprocesadores escalables de memoria compartida (SSMP) Multiprocesadores de arquitectura de memoria distribuida, en los que todos los procesadores comparten un nico espacio de direccionamiento. Caractersticas Modelo de programacin: Variables compartidas. Arquitectura de memoria: Memoria distribuida. Los mecanismos de comunicacin estn implementados en los controladores de cache. (Mquinas NUMA). Ms fciles de ampliar (escalables) que los SMP, lo que significa un nmero mayor de procesadores. COMA: Cache Only Memory Architecture. Sistema en el que prcticamente toda la memoria est en las caches

Multiprocesadores escalables de memoria distribuida (DSMP) Multicomputadores: El elemento constructivo est formado por un procesador, su sistema de memoria y por un sistema de E/S. Caractersticas generales: Modelo de programacin: Paso de mensajes mediante operaciones de E/S explcitas. Arquitectura de memoria: Memoria distribuida. Cada procesador tiene su espacio de direccionamiento. Orientados a ejecutar aplicaciones especialmente diseadas para conseguir el paralelismo o SO especiales. La red tiene un tiempo de transferencia similar a un acceso a memoria. MPP: Massive Parallel Processor.

Los sistemas multiprocesador (MP) son un tipo de arquitectura con una importancia creciente y ampliamente difundido. La mayora de los constructores de computadores ofrece mquinas en las que estn presentes ms de una CPU,

configuracin que es hoy en da de uso habitual en casi todos los sistemas de tamao medio y grande, incluso ya en ordenadores personales. Asimismo, los fabricantes de procesadores incorporan a sus arquitecturas, desde hace unos aos, los mecanismos necesarios para que stos se puedan emplear fcilmente, y con un coste reducido (publicidad de Sun Microsystems en 1999: "si compra un procesador, le regalamos otro"), en la construccin de este tipo de sistemas. Esta tendencia se ha visto reforzada en los ltimos aos con la aparicin de los multicore, es decir, varios ncleos por procesador. En los prximos aos veremos mquinas con bastantes procesadores, cada uno de ellos con multitud de ncleos. Por tanto, comprender como funcionan y saber explotar correctamente esta potencia de cmputo se vuelve algo necesario para cualquier ingeniero informtico. Multiprocesadores de memoria compartida centralizada Red de interconexin Compartida por todos los procesadores, y accesible desde cualquiera. Tambin llamados multiprocesadores simtricos: Symmetric (shared memory) Multiprocessors. Descompuesta en varios mdulos, para permitir el acceso concurrente de varios procesadores. Cada procesador debe tener un espacio de direccionamiento suficientemente amplio como para poder direccionarla completamente. El tiempo de acceso a memoria es el mismo, independientemente del par procesador memoria que intervenga. Tambin llamadas arquitecturas UMA: Uniform Memory Access.

Multiprocesadores de memoria compartida centralizada Mecanismo de comunicacin. Mediante variables compartidas, situadas en la memoria. Sincronizacin, a travs de los mecanismos clsicos de exclusin mutua.

El Modelo Cliente-Servidor
Desde el punto de vista funcional, se puede definir la computacin Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la informacin en forma transparente an en entornos multiplataforma. La arquitectura cliente-servidor consiste bsicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es ms ventajosa en un sistema operativo multiusuario distribuido a travs de una red de computadoras. Este modelo Cliente/Servidor empez a ser aceptado a finales de los 80s. Su funcionamiento es sencillo: se tiene una mquina cliente, que requiere un servicio de una mquina servidor, y ste realiza la funcin para la que est programado (ntese que no tienen que tratarse de mquinas diferentes; es decir, una computadora por s sola puede ser ambos cliente y servidor dependiendo del software de configuracin). En el modelo cliente servidor, el cliente enva un mensaje solicitando un determinado servicio a un servidor (hace una peticin), y este enva uno o varios mensajes con la respuesta (provee el servicio). En un sistema distribuido cada mquina puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras.

Podemos decir que esta arquitectura necesita tres tipos de software para su correcto funcionamiento: 1. Software de gestin de datos: Este software se encarga de la manipulacin y gestin de los datos almacenados y requeridos por las diferentes aplicaciones. Normalmente este software se aloja en el servidor. 2. Software de desarrollo: este tipo de software se aloja en los clientes y solo en aquellos que se dedique al desarrollo de aplicaciones. 3. Software de interaccin con los usuarios: Tambin reside en los clientes y es la aplicacin grfica de usuario para la manipulacin de datos, siempre claro a nivel usuario (consultas principalmente). A parte de estos existen ms aplicaciones software para el correcto funcionamiento de esta arquitectura pero ya estn condicionados por el tipo de sistema operativo instalado, el tipo de red en la que se encuentra, etc. Caractersticas de la arquitectura Cliente/Servidor

Las caractersticas bsicas de una arquitectura Cliente/Servidor son: Combinacin de un cliente que interacta con el usuario, y un servidor que interacta con los recursos compartidos. El proceso del cliente proporciona la interfaz entre el usuario y el resto del sistema. El proceso del servidor acta como un motor de software que maneja recursos compartidos tales como bases de datos, impresoras, mdems, etc. Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cmputo como velocidad del procesador, memoria, velocidad y capacidades del disco y input-output devices. Se establece una relacin entre procesos distintos, los cuales pueden ser ejecutados en la misma mquina o en mquinas diferentes distribuidas a lo largo de la red. Existe una clara distincin de funciones basada en el concepto de "servicio", que se establece entre clientes y servidores. La relacin establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a recursos compartidos. Los clientes corresponden a procesos activos en cuanto a que son stos los que hacen peticiones de servicios a los servidores. Estos ltimos tienen un carcter pasivo ya que esperan las peticiones de los clientes. No existe otra relacin entre clientes y servidores que no sea la que se establece a travs del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la peticin y entrega de solicitudes de servicio. El ambiente es heterogneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas. El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite agregar ms estaciones de trabajo activas sin afectar significativamente el rendimiento. La escalabilidad vertical permite mejorar las caractersticas del servidor o agregar mltiples servidores. Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicacin (dispositivo maestro o amo). Espera y recibe las respuestas del servidor. Por lo general, puede conectarse a varios servidores a la vez. Normalmente interacta directamente con los usuarios finales mediante una interfaz grfica de usuario.

Al contratar un servicio de redes, se tiene que tener en la velocidad de conexin que le otorga al cliente y el tipo de cable que utiliza, por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.

Arquitecturas de sistemas distribuidos.


Qu es un sistema distribuido? Un sistema distribuido es una coleccin de computadoras independientes; es decir autnomas, que aparecen ante los usuarios del sistema como una nica computadora. Algunos ejemplos de sistemas distribuidos son:

Una red de estaciones de trabajo en un departamento de una universidad o compaa, donde adems de cada estacin personal, podra existir una pila de procesadores en el cuarto de mquinas, que no estn asignados a usuarios especficos sino que se utilicen de manera dinmica cuando sea necesario. Una fbrica de robots, donde los robots actan como dispositivos perifricos unidos a la misma computadora central. Un banco con muchas sucursales por el mundo, cada oficina tiene una computadora maestra para guardar las cuentas locales y el manejo de las transacciones locales, la cual se puede comunicar con cualquier computadora de la red. Las transacciones hechas se realizan sin importar dnde se encuentre la cuenta o el cliente.

Un sistema distribuido se define como: Una coleccin de computadores conectados por una red de comunicaciones, que el usuario percibe como un solo sistema (no necesita saber qu cosas estn en qu mquinas). El usuario accesa los recursos remotos de la misma manera en que accesa recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en comn. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo.

El tamao de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (Local Area Network), centenas de hosts (Metropolitan Area Network), y miles o millones de hosts (Internet). En base a su topologa: Arquitecturas centralizadas: los componentes del sistema presentan diferentes roles. Paradigma cliente-servidor: dos tipos de elementos, servidor que gestionan recurso y atiende las peticiones de los clientes. Arquitecturas multicapa (n-tier): generalizacin del anterior, los componentes pueden emitir peticiones y responder a las peticiones sobre los recursos concretos que gestionan (clientes y servidores a la vez). Arquitecturas descentralizadas: todos los componentes tienen las mismas responsabilidades y funciones. Sistemas entre iguales (peer-to-peer ).

En base a su estructura: Basados en capas: elementos del sistema organizados en capas especializadas donde la comunicacin est limitada a componentes de capas contiguas conforme a un flujo preestablecido. Basados en objetos (componentes): elementos del sistema son objetos autnomos que pueden intercambiar mensajes (llamadas a mtodos) a travs de la red de comunicaciones. Basados en eventos: no sigue esquema peticin-respuesta elementos del sistema tienen acceso a un bus comn donde se envan/recogen eventos a los que se responde. Operaciones: suscripcin, publicacin, notificacin.

Un sistema de tiempo real (STR o real-time system o RTS)


Es aquel cuyo correcto funcionamiento depende de que las salidas lleguen a tiempo. O sea que debe estar acotado el tiempo entre cada evento y la respuesta que provoca no necesariamente tiene que ser breve, pero s acotado. Un sistema de tiempo real es un sistema informtico en el que es significativo el tiempo en el que se producen sus acciones. No es suficiente que las acciones del sistema sean correctas lgicamente, sino que, adems, deben producirse dentro de un intervalo de tiempo determinado. Esto es debido a que el sistema est conectado a un proceso externo del que recibe estmulos a los que debe responder con suficiente rapidez para evitar que evolucione a un estado indeseable.

Se distinguen dos tipos: 1. STR duro (hard RTS). 2. Es duro cuando el incumplimiento de un deadline implica un funcionamiento incorrecto. Ejemplos: El sistema ABS (anti-lock breaking system) de un auto. Un marcapasos. STR suave (soft RTS). Es suave cuando el incumplimiento de un deadline no implica funcionamiento incorrecto pero s una degradacin en la calidad de servicio. Procesamiento de video. Porque es aceptable que se pierda algn que otro cuadro. Un reproductor de DVD. Interfaces al usuario en general.

Qu es un Sistema de Tiempo Real (STR)? En la mayora de los casos cuando una computadora interacta con un proceso real (mundo fsico) es necesario que las acciones de control se efecten dentro de unos intervalos de tiempo bien definidos, con objeto de que el estado del sistema controlado, que tiene su dinmica propia, no evolucione hacia valores incorrectos o indeseables. Para ello no basta que el funcionamiento del sistema de control sea correcto desde un punto de vista lgico, es decir, que el clculo de las salidas del sistema a partir de sus entradas y de su estado interno sea correcto, sino que

adems debe ser correcto desde un punto de vista temporal. De nada sirve realizar la accin si se hace demasiado tarde o demasiado pronto. Por tanto, el tiempo en que se ejecutan las acciones del sistema es relevante; sta caracterstica difiere totalmente de lo que es habitual en otros tipos de sistemas informticos y justifica la denominacin de Sistemas de Tiempo Real (STR). Una definicin que presentan Alan Burns y Andy Wellings de STR es la siguiente: Un sistema en Tiempo Real es cualquier sistema donde el tiempo en que se produce su salida es significante. Esto es debido a que generalmente la entrada corresponde a algn instante del mundo fsico y la salida tiene relacin con ese mismo instante. El retrazo transcurrido entre la entrada y la salida debe ser lo suficientemente pequeo para considerarse una respuesta puntual [BW97]. Por otro lado, se tiende a confundir los sistemas rpidos con los STRs, ya que en general se tiene la idea de que si un sistema produce una salida cuasi inmediata al ser estimulado, se trata de un STR; pero un STR debe ser capaz de terminar sus tareas en un tiempo especificado (y no necesariamente rpido). De hecho la diferencia entre un STR y otro sistema cualquiera, es poco visible si no se tienen los conceptos claros como la definicin anterior. Puede verse que en sta definicin nunca se utiliz la palabra rpido para definir STR. Un sistema rpido produce su salida sin considerar las restricciones de tiempo del ambiente con que interacta, para esa clase de sistemas no es importante el tiempo en el cual los datos llegan al sistema o el tiempo al cual la salida es producida, nicamente interesa la rapidez de cmputo, ejemplo de este tipo de sistemas son las simulaciones o los compiladores [Lop00]. Tipos de sistemas Se pueden distinguir cuatro tipos de sistemas: 1. Crticos:(hard real time systems) son aquellos en los que el tiempo de respuesta debe garantizarse a toda costa. Una respuesta tarda puede tener consecuencias fatales. 2. Esenciales:(soft real time systems) representan aquellos sistemas con restricciones de tiempo en las que una respuesta tarda no produce graves daos pero si un deterioro del funcionamiento global. 3. Incrementales: la calidad de la respuesta obtenida depende del tiempo disponible para su clculo. Si se les da ms tiempo la respuesta mejora. 4. No esenciales. Corresponden con las tareas sin restricciones temporales.

Caractersticas. Tamao y complejidad Afecta al software. La complejidad no slo depende del tamao. Posibilidad de realizar modificaciones. Descomposicin en subsistemas pequeos y sencillos Fiabilidad y seguridad. Un fallo puede tener repercusiones muy importantes: prdidas humanas, econmicas, etc. Es necesario que si el sistema falla se le conduzca a estados seguros que sean previsibles, y se tengan los medios para solucionarlo. Concurrencia. Programacin concurrente. Distintas tareas accediendo a recursos comunes. Restricciones temporales. Planificacin de tareas atendiendo a las restricciones temporales. Programacin concurrente. Distintas tareas accediendo a recursos comunes. Restricciones temporales. Planificacin de tareas atendiendo a las difciles de especificar y validar restricciones temporal.

Conclusin General.
Sobre las arquitecturas de los microprocesadores, es muy importante saber y conocer cada una de las arquitecturas y su estructura para aprovechar cada uno de sus recursos. Para cada determinada ocasin se requiere una arquitectura, digamos en el caso de un programador, debe de conocer cual multiprocesador es el adecuado dependiendo del caso y de la complejidad del problema. Sobre Modelo Cliente/Servidor, es una herramienta sumamente importante y utilizable entre una red de computadoras donde esta un cliente principal. El cliente puede ser tambin el servidor que administra los recursos compartidos en la red. Compartir archivos o recursos en red es algo necesario de podra decir, en lugar de estar utilizando todos los recursos de cada una de las computadoras, solo puede ser con una sola y esto sera aprovechar recursos y comodidad.

Los sistemas distribuidos nos son tiles cuando se quieren administrar un grupo de computadoras para trabaja como una misma, es decir, un grupo de ordenadores o robots que deseen trabajar con un mismo sistema de trabajo. Por ejemplo, unos robots de una empresa, se tienen varios robots pero se requiere que todos trabajen bajo un mismo estndar, estos sern manejados por un sistema distribuido donde un servidor ser el que manejara el sistema principal. Sobre los sistemas en tiempo real, son aquellos que cuyo correcto funcionamiento depende de que las salidas lleguen a tiempo.

Bibliografa. http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO7.htm http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/marquez_a_bm/capitulo5.pdf http://iie.fing.edu.uy/investigacion/grupos/microele//iberchip/pdf/39.pdf\ http://icaro.eii.us.es/descargas/Sistemas%20Multiprocesadores%202004-2005.pdf http://www.calsi.com/doc_tec/10.pdf http://www.sc.ehu.es/acwlaalm/sdi/introduccion-slides.pdf http://www.dec.usc.es/node/2020 http://temariotic.wikidot.com/la-arquitectura-cliente-servidor http://es.wikipedia.org/wiki/Multiprocesador http://www.desarrolloweb.com/articulos/arquitectura-cliente-servidor.html http://www.itistmo.edu.mx/Pag%20Informatica/APUNTES_archivos/page0005.htm http://html.rincondelvago.com/sistemas-distribuidos.html

Вам также может понравиться