utilizar libros ni un ejemplo tráfico

Tamaño: px
Comenzar la demostración a partir de la página:

Download "utilizar libros ni un ejemplo tráfico"

Transcripción

1 UNIVERSIDAD CARLOS III DE MADRID INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 14 de junio de 2010 Para la realización del presente examen se dispondrá de 2 1/2 horas. NO se podrán utilizar libros ni apuntes. Entregar cada ejercicio en hojas separadas. Ejercicio 1 (1 punto) Las siguientes figuras muestran los diagramas de estados de los protocolos de coherencia caché MSI y MESI paraa arquitecturas de memoria compartida. Comentar un ejemplo práctico donde el protocolo MESI es más eficiente que el MSI en términos de reducción del tráfico de bus. SOLUCIÓN Cuando un procesadorr lee datos de forma exclusiva (sin que otro más lo lea) y posteriormente los escribe, el MESI recorre los estados I -> E -> M sin generar tráfico de bus. Por el contra, el MSI recorre los estrados I -> S -> M generando tráfico innecesario en la última transición

2 Ejercicio 2 (1 punto) Explicar que tipos de contención existen en la comunicación entre nodos dentro de una arquitectura multiprocesador de memoria distribuida. Indicar brevemente a qué se deben y cómo podrían reducirse. SOLUCIÓN Hay dos tipos de contención: Contención de la red: Se produce en los enlaces o switches de la red. Se puede reducir ajustando el patrón de comunicaciones a la topología de la red. Contención en los puntos finales: Se produce en los nodos de procesamiento. El nodo en el que la contención es severa se denomina hot spot. Una de las formas de redecirlo es modificando el paralelismo de la aplicación en alguna de sus fases (Descomposición, asignación, orquestación y/ó mapeo).

3 Ejercicio 3 (2 puntos) 1.- La siguiente figura muestra una topología en anillo con 9 nodos con las siguientes características: P + M + PC S Enlace interno Enlace externo Emplea un protocolo de encaminamiento de conmutación de paquetes (store and fordward). La cabecera de cada paquete incluye el número de nodo destino al que el mensaje está dirigido. Cada nodo tiene un switch de comunicaciones con dos enlaces externos y uno interno (conectado a un único módulo cómputo). Cada módulo tiene su procesador, memoria y procesador de comunicaciones. Cada nodo puede enviar y recibir dos paquetes de forma simultánea (por cada uno de sus dos enlaces externos). El ancho de banda de los enlaces externos e internos es infinito. Los enlaces internos no tienen routing delay (retardo de encaminamiento del switch). Los enlaces externos tienen routing delay (retardo de encaminamiento del switch) de 1 ms. El retardo de envío y recepción del procesador de comunicaciones es de 0 ms. Se pide: 1. Diseñar un algoritmo de encaminamiento aritmético basado en el valor del nodo destino. 2. Diseñar el modo de orquestación de una operación de broadcast iniciada por el nodo 0 sobre todos los nodos. Inidicar el flujo de comunicaciones y el tiempo total de la operación. El tamaño de cada mensaje coincide con el de un paquete. 3. Diseñar el modo de orquestación de una operación de All_Reduce iniciada por el nodo 0 sobre todos los nodos. Inidicar el flujo de comunicaciones y el tiempo total de la operación. El tamaño del mensaje coincide con el del paquete. Nota: una operación All_Reduce es equivalente a la de un Reduce salvo que el resultado final es conocido por todos los procesos que intervienen en la operación.

4 SOLUCIÓN 1. Cada switch sólo puede tomar tres decisiones: encaminar en sentido horario, encaminar en sentido anti horario y entregar al módulo local. Si Id_sw y Id_dest son el identificativo del switch y nodo destino, respectivamente. El algoritmo de enrutamiento sería: If(Id_sw = Id_dest) then entregar_módulo_local; elseif (abs(id_dest-id_sw)<(8-id_dest+id_sw)) then encaminar_sentido_horario(); else encaminar_sentido_antihorario(); end 2. Una operación de broadcast eficiente consiste en enviar primero a los nodos más alejados (4 y 5) por cada uno de sus enlaces. Posteriormente a los nodos siguientes más alejados (3 y 6), siguiendo por el (2 y 7) y finalizando por el (1 y 8). El tiempo total será el del envío a los nodos más alejados: T=4*T_sw=4*1mn=4ms. 3. Existen dos alternativas: a) Realizar una reducción en paralelo y un broadcast del resultado. La reducción consistiría en enviar el resultado al nodo 0 siguiendo los pasos inversos al apartado anterior: los nodos (4 y 5) enviarían al (3 y 6), en paralelo, el (3 y 6) enviaría al (2 y 7), el (2 y 7) al (1 y 8) y el (1 y 8) al 0. En total el tiempo sería el mismo que en apartado anterior: 4ms. En una segunda etapa, se realizaría el broadcast del resultado, con un tiempo de 4ms. El tiempo total sería 8ms. b) Cada nodo envía un mensaje que recorre en un sentido (horario o anti horario) toda la malla. Al recibir este mensaje tendrá el contenido de la operación de reducción. Dado que cada switch puede enviar y recibir dos mensajes, se puede realizar esta operación en ambos sentidos de forma simultánea. El número de transiciones coincidirá con el diámetro de la red: será T=4*T_sw=4*1mn=4ms Para que sea colectiva todos los procesadores deberán realizar la misma operación (en cada sentido). Estas comunicaciones se realizan en paralelo sin interferir, por lo que el tiempo total será el mismo (4ms).

5 Ejercicio 4 (2 puntos) 1.- El siguiente código un código secuencial correspondiente a un bucle de 1000 iteraciones. La función f() devuelve valores entre 0 y 1 homogéneamente distribuidos. El vector A tiene N entradas. For (i=0;i<1000;i++) { j=(int)n*f(i); A[j]=A[j]*8; El siguiente código es una versión paralela en OpenMP. El tiempo de ejecución de la sentencia IF es de 1ms y de la sentencia A[j]=A[j]*8 es de 10ms. El tiempo de invocación de las funciones de OpenMP, del la función f() y de la ejecución del lazo es despreciable. Se pide: 1. Calcular la aceleración (speedup) para 2, 10 y 100 hilos (ejecutados cada uno en un procesador diferente de una arquitectura UMA). 2. Repetir los cálculos asumiendo que el lazo (secuencial y paralelo) tiene 2000 iteraciones en vez de Es el código escalable? #pragma omp parallel private(my_rank,num_threads,lim_inf,lim_sup,i), shared(a,x) { my_rank=omp_get_thread_num(); Num_threads=omp_get_numthreads() Lim_inf=my_rank*N/Num_threads; Lim_sup=(my_rank+1)*N/Num_threads; For (i=0;i<1000;i++) { j=(int)n*f(i); If(j>=Lim_inf && j<lim_sup) { A[j]=A[j]*8;

6 SOLUCIÓN 1. El tiempo de ejecución secuencial es de T_s=1000*10ms=10000ms. Todos los hilos ejecutan el lazo completo. Ejecutando 1000 sentencias Ifs. Dado que las entradas de j están homogéneamente distribuidas, se puede asumir que cada hilo ejecutará únicamente 1000/Num_threads iteraciones. De este modo, el tiempo de ejecución paralelo es Tp=1000*1ms+(1000/Num_threads)*10ms. Para Num_threads=2 se tiene: Tp= =6000 ms; Aceleración=10000/6000. Para Num_threads=10 se tiene: Tp= =2000 ms; Aceleración=10000/2000. Para Num_threads=100 se tiene: Tp= =1100 ms; Aceleración=10000/ Aumentando el tamaño del problema (2000) tenemos: El tiempo de ejecución secuencial es de T_s=2000*10ms=20000ms.. Para Num_threads=2 se tiene: Tp= =12000 ms; Aceleración=20000/12000 = caso anterior con N=1000 Para Num_threads=10 se tiene: Tp= =4000 ms; Aceleración=20000/4000 = caso anterior con N=1000 Para Num_threads=100 se tiene: Tp= =2200 ms; Aceleración=20000/2200 = caso anterior con N=1000 Se puede apreciar que la aceleración (y eficiencia) es la misma que en el caso anterior, por lo que el código no será escalable (la eficiencia no aumentará con el tamaño del problema).

7 Ejercicio 5 (2 puntos) El siguiente programa se ejecuta en ocho procesadores en un sistema de memoria compartida basada en un bus. La variable x es un entero y se asume que reside inicialmente en la memoria principal y replicada en la memoria caché de todos los procesadores como compartida. La arquitectura implementa las primitivas lock/unlock usando las instrucciones LL (load-linked) y SC (Store-Conditional). Asumir que se usa un protocolo MSI de coherencia caché. Procesador 1 Procesador [2..7] Procesador 8 lock (cerrojo) lock (cerrojo) lock (cerrojo) x=x+1 unlock (cerrojo) x=x+1 unlock (cerrojo) x=x+1 unlock (cerrojo) Se pide: 1. Calcular el número de transacciones de bus que se generan en el bus asumiendo que los 8 procesos alcanzan el cerrojo a la vez y que inicialmente la cache asociada a cada procesador no almacena ninguna variable compartida y que las variables compartidas cerrojo y x residen en bloques de memoria diferentes. 2. Modificar el código para usar directamente las instrucciones LL y SC sustituyendo las llamadas a lock/unlock.

8 Solución La implementación de lock y unlock sería: lock: ll.r1, /dir_cerrojo /* LL dir a R1 */ bnz.r1, $lock /* cerrado? */ sc.r2, /dir_cerrojo /* SC R2 en dir */ beqz $lock /* si fallo, again*/ ret unlock: st #0, /dir_cerrojo ret a) Para calcular el número de transacciones de bus que se generan al ejecutar el programa, vamos a mostrar lo que ocurriría para la primera entrada a la sección crítica: Puesto que el contenido de la variable de memoria que implementa el lock no está inicialmente en ninguna cache, todos los LL causan fallo de cache y consecuentemente transacciones BusRd (8 transacciones de bus). Después, la transacción de bus asociada al único SC que no fracasará anula las de las instrucciones SC fallidas, que finalmente no saldrán al bus (1 transacción de bus). Los procesos que no lograron atravesar el lock hacen una espera activa con la instrucción de LL, que fallará la primera vez en cache (7 transacciones de bus). Por su parte, el proceso que está en la sección crítica leerá y posteriormente escribirá el contenido de la variable x (que no está inicialmente en ninguna cache) (2 transacciones de bus). Finalmente, el lock es liberado (1 transacción de bus). En total se requieren 19 transacciones de bus. El resto de las veces se va entrando en la sección crítica requiriendo 2 transacciones de bus menos cada vez (dado que hay un proceso menos activo), con lo que el número total de transacciones de bus requeridas es: = 96. b) Usando directamente las instrucciones de LL y SC, el código quedaría como sigue: acumula: LL reg1, x addi reg1, reg1, 1 SC x, reg1 beqz acumula

9 Ejercicio 6 (2 puntos) Se desea implementar un programa capaz de calcular el número de repeticiones de cada letra del alfabeto en un texto. Para ello se carga inicialmente dicho texto en un array de caracteres, siendo necesario repartir el mismo entre un número de procesos que realizarán el cálculo de repeticiones para la región del texto correspondiente. Una vez cada proceso haya calculado las repeticiones de la región asignada, se deben enviar el número de apariciones de cada carácter al proceso Maestro. El siguiente código muestra el esqueleto de una implementación del problema en MPI. #define MASTER_PROCESS 0 #define MAX_CHARACTERS 29 int myrank, size; int counter[max_characters]; char * text = NULL; void main(int argc, char ** argv){ MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myrank); MPI_Comm_size(MPI_COMM_WORLD, &size); // Master process if (myrank==master_process){ text = readfile(filewithtext); master(); // Slave processes else{ slave(); MPI_Finalize(); Se pide: 1. Implementar las funciones master() y slave() para lograr la funcionalidad pedida. Se deberá explicar la solución justificando las llamadas a MPI utilizadas. Los tipos de datos necesarios para realizar el ejercicio son MPI_CHAR (char) y MPI_INT (int). 2. Comentar la escalabilidad de la solución en el caso de leer un fichero de gran tamaño. 3. Comentar la escalabilidad de la solución en el caso de que se lancen un gran número de procesos MPI. Ejemplo de funcionamiento: a B c a t d h y y e e b y u h r Process 1 Process 2 Process 3 Process 4... En este ejemplo, para el proceso 1, los datos correspondientes de la región procesada se corresponden con el siguiente array, suponiendo que la primera posición del array se corresponde con la letra A y la última, con la letra Z NOTA: Suponer que la longitud del texto es siempre divisible entre el número de procesos utilizados.

10 Los tipos de MPI_Op para realizar la operación MPI_Reduce son: MPI_MAX MPI_MIN MPI_MAXLOC MPI_MINLOC MPI_SUM MPI_PROD maximum, max minimum, min maximum and location of maximum minimum and location of minimum sum product int MPI_Send ( void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm ); int MPI_Recv ( void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status ) int MPI_Scatter ( void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm ); int MPI_Gather ( void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm ) ; int MPI_Reduce ( void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm ) ; int MPI_Bcast ( void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm ) ; size_t strlen(const char *s); /** * Esta función recibe una región de texto y devuelve un array de 29 posiciones * con las frecuencias de cada letra en region. * * NOTA: Suponer esta función implementada e importada. */ int* processregion (char* region);

11 Solución: void master(){ int numcaracteres; char *localtext; numcaracteres = strlen(text) / size; MPI_Bcast ( &numcaracteres, 1, MPI_INT, MASTER_PROCESS, MPI_COMM_WORLD ) ; MPI_COMM_WORLD); MPI_Scatter ( text, numcaracteres, MPI_CHAR, NULL, numcaracteres, MPI_CHAR, MASTER_PROCESS, MPI_Reduce ( NULL, counter, MAX_CHARACTERS, MPI_INT, MPI_SUM, MASTER_PROCESS, MPI_COMM_WORLD ) ; void slave(){ int numcaracteres; char *localtext; MPI_Bcast ( &numcaracteres, 1, MPI_INT, MASTER_PROCESS, MPI_COMM_WORLD ) ; localtext = (char*) malloc (numcaracteres * sizeof(char)); MPI_COMM_WORLD); MPI_Scatter ( NULL, numcaracteres, MPI_CHAR, localtext, numcaracteres, MPI_CHAR, MASTER_PROCESS, counter = processregion (localtext); MPI_Reduce ( counter, NULL, MAX_CHARACTERS, MPI_INT, MPI_SUM, MASTER_PROCESS, MPI_COMM_WORLD ) ; 2.- Al leer un fichero de gran tamaño se consigue aumentar el volumen de datos y por tanto, la carga computacional. Existe un cuello de botella en el acceso a disco (se realiza a disco) pero el resto de la operación del algoritmo se realiza en paralelo. Asumiendo que la función Process Region es suficientemente costosa elcódigo resulta escalable (un mayor volumen de datos mejoraría el rendimiento del programa con un mayor número de procesadores). Este código no tiene problema de desbalanceo de carga. 3.- Al aumentar el número de procesadores se produce un aumento de las comunicaciones, especialmente en el nodo 0. Esto puede originar un cuello de botella en las comunicaciones (asociado a problemas de contención). Por este motivo, el rendimiento empeorará y la solución no será escalable para este escenario.

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 Para la realización del presente examen se dispondrá de 2 1/2

Más detalles

Esquemas de comunicación

Esquemas de comunicación Esquemas de comunicación tipos de comunicación Maestro-esclavo o comunicación global Esquema SPMD o comunicación local Maestro-esclavo o comunicación global Consiste en la implementación de un componente

Más detalles

MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes.

MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Programación paralela en MPI MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Introducción a MPI MPI fue creado en 1993 como

Más detalles

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores.

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. UNIDAD TEMÁTICA 5: MULTIPROCESADORES. 15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. 15-1 TEMA 15: ARQUITECTURA DE LOS MULTIPROCESADORES.

Más detalles

Plataformas paralelas

Plataformas paralelas Plataformas paralelas Curso 2011-2012 Elementos de un computador paralelo Hardware: Múltiples procesadores Múltiples memorias Redes de interconexión Software: Sistemas Operativos paralelos Programas orientados

Más detalles

Arquitectura de Computadores: Exámenes y Controles

Arquitectura de Computadores: Exámenes y Controles 2º curso / 2º cuatr. Grado en Ing. Informática Doble Grado en Ing. Informática y Matemáticas Arquitectura de Computadores: Exámenes y Controles Examen de Prácticas AC 05/07/2013 resuelto Material elaborado

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Programación de aplicaciones paralelas con MPI (Message Passing Interface)

Programación de aplicaciones paralelas con MPI (Message Passing Interface) Programación de aplicaciones paralelas con MPI (Message Passing Interface) José Miguel Alonso Facultad de Informática UPV/EHU miguel@si.ehu.es 13/1/97 1. Introducción a MPI MPI (Message Passing Interface)

Más detalles

Segmentación de Imágenes en Procesadores Many-Core

Segmentación de Imágenes en Procesadores Many-Core Universidad de Santiago de Compostela Segmentación de Imágenes en Procesadores Many-Core Lilien Beatriz Company Garay Fernández lilien.gf@gmail.com Indice 1. Introducción Single-chip Cloud Computer (SCC)

Más detalles

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción: arquitecturas

Más detalles

Programación en Paralelo con MPI en Clusters Linux

Programación en Paralelo con MPI en Clusters Linux Programación en Paralelo con MPI en Clusters Linux Francisco Javier Rodríguez Arias 13 de marzo de 2006 Problema y Motivación En física se requiere hacer muchos cálculos. Para eso se hacen programas de

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Programación híbrida Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Universidad de Murcia http://dis.um.es/~domingo

Más detalles

Problemas de Redes Ingeniería Informática Hoja de problemas 3

Problemas de Redes Ingeniería Informática Hoja de problemas 3 Problemas de Redes Ingeniería Informática Hoja de problemas B igura : Red para el problema. y siguientes Problema:. Use el algoritmo de Bellman-ord para generar la ruta de menor coste a todos los nodos

Más detalles

JUAN CARLOS TORRES JOSE ALBEIRO CUESTA MENA GERMAN VARGAS FUNDACION UNIVERSITARIA KONRAD LORENZ

JUAN CARLOS TORRES JOSE ALBEIRO CUESTA MENA GERMAN VARGAS FUNDACION UNIVERSITARIA KONRAD LORENZ ANALISIS DE UNA ESTRATEGIA OPTIMA DE PARTICION DE ARCHIVOS PARA PROCESAMIENTO EN UN CLUSTER BASADO EN COMPUTACION PARALELA- CASO ARCHIVO DE RESPUESTAS DE UN EXAMEN JUAN CARLOS TORRES JOSE ALBEIRO CUESTA

Más detalles

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) INTRODUCCIÓN MPI (Message Passing Interface) como es un interfaz estandarizada para la realización de aplicaciones paralelas basadas en pasaje de mensajes. El modelo de

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Problemas de Redes de Computadores. Conjunto de problemas 1

Problemas de Redes de Computadores. Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,

Más detalles

Práctica 2: El problema de la sección crítica

Práctica 2: El problema de la sección crítica Práctica 2: El problema de la sección crítica Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática e Ingeniería de Sistemas, Escuela de Ingeniería y

Más detalles

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Tema 5 Sentencias de control de flujo. Fundamentos de Informática Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación

Más detalles

Virtualización en procesadores multinúcleo

Virtualización en procesadores multinúcleo Virtualización en procesadores multinúcleo Francisco Triviño García ftrivino@dsi.uclm.es Becario de investigación Presente y Futuro de los Sistemas de Computación Conference title 1 Índice 1. Introducción

Más detalles

Ejercicios Tema 1 1.- Supongamos que hay exactamente un switch de paquetes entre un host que envía y un host que recibe. Las tasas de transmisión entre el host que envía y el que recibe son R 1 y R 2 respectivamente.

Más detalles

Índice. Índice. Máquinas de memoria distribuida. Arquitectura de un cluster. Arquitectura

Índice. Índice. Máquinas de memoria distribuida. Arquitectura de un cluster. Arquitectura Índice Programación en MPI 1. Máquinas de memoria distribuida 2. MPI 3. Arquitectura 4. Funciones básicas a. Arranque y parada b. Envío y recepción bloqueantes c. Envío y recepción NO bloqueantes d. Barreras

Más detalles

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo

Más detalles

Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009

Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 1. [PROCESOS] a) Considerar el siguiente código: void main() { int j=10; pid_t pid; for (int i=0; i

Más detalles

Computacion de Alto Performance

Computacion de Alto Performance Computacion de Alto Performance Abraham Zamudio Abraham Zamudio Computacion de Alto Performance 1/47 Indice 1 Algunos Aspectos Teoricos 2 Paralelismo Computacional 3 Linux Cluster Hardware Software 4 MPICH

Más detalles

Redes de Computadoras Junio de 2007. Teoría y problemas

Redes de Computadoras Junio de 2007. Teoría y problemas edes de Computadoras Junio de 2007 Nombre: DNI: Teoría y problemas 1. (2 puntos) Suponga la siguiente red de computadoras: H 1 S 1 H 2 L El nodo emisor H 1 envía al nodo receptor H 2 un mensaje de F bits

Más detalles

Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas

Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas 19/10/10 1/33 Contenido Contenido Clusters Beowulf MPI (Message Passing Interface) Comunicación entre procesos Un programa simple con

Más detalles

Cómputo en paralelo con MPI

Cómputo en paralelo con MPI Cómputo en paralelo con MPI Miguel Vargas-Félix miguelvargas@cimat.mx CIMAT, October 9, 2015 1/35 Clusters Beowulf Master node External network Slave nodes Network switch Características: Tecnología estandar

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

Procesos. Planificación del Procesador.

Procesos. Planificación del Procesador. Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos

Más detalles

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

Más detalles

Heterogénea y Jerárquica

Heterogénea y Jerárquica Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Computación Híbrida, Heterogénea y Jerárquica Contenidos 1 Sistemas 2 Paralelismo anidado 3 Programación híbrida

Más detalles

Receta general para resolver problemas de sincronización con semáforos

Receta general para resolver problemas de sincronización con semáforos Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que

Más detalles

TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela

TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela 2 CONTENIDOS DE LA UNIDAD 4.4 Diseño de arquitecturas de memoria compartida y compartida-distribuida.

Más detalles

Primer Parcial de Programación 3 (1/10/2009)

Primer Parcial de Programación 3 (1/10/2009) Primer Parcial de Programación (/0/009) Instituto de Computación, Facultad de Ingeniería Este parcial dura horas y contiene carillas. El total de puntos es 0. En los enunciados llamamos C* a la extensión

Más detalles

[TECNOLOGÍA RAID] Documentos de formación de SM Data: http://www.smdata.com/formacion.php

[TECNOLOGÍA RAID] Documentos de formación de SM Data: http://www.smdata.com/formacion.php 2011 Documentos de formación de SM Data: http://www.smdata.com/formacion.php [] Introducción a la tecnología RAID; Qué es RAID?; ventajas de RAID; definición de los más populares niveles de RAID y diferentes

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Para la realización del presente examen se dispondrá de 1 hora y media. NO se podrán

Más detalles

Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 APELLIDOS Y NOMBRE GRUPO Nº EXPEDIENTE

Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 APELLIDOS Y NOMBRE GRUPO Nº EXPEDIENTE Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 1).- Dada la estructura de unidades funcionales (FD i : unidades de fetch y decodificación; EJ 1 y EJ 2 : unidades de ejecución de

Más detalles

Tendencias en sistemas de comunicación de altas prestaciones:

Tendencias en sistemas de comunicación de altas prestaciones: Conectan nodos en diferentes niveles del sistema (chip, tarjeta, chásis, armario,...). Desarrollado por diseñadores de arquitecturas de altas prestaciones. Comunicar computadores, clasificación redes computación:

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo

Más detalles

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Clusters Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Introducción Aplicaciones que requieren: Grandes capacidades de cómputo: Física de partículas, aerodinámica, genómica, etc. Tradicionalmente

Más detalles

Resolución de problemas en paralelo

Resolución de problemas en paralelo Resolución de problemas en paralelo Algoritmos Paralelos Tema 1. Introducción a la computación paralela (segunda parte) Vicente Cerverón Universitat de València Resolución de problemas en paralelo Descomposición

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include #include

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

Redes de Almacenamiento

Redes de Almacenamiento Redes de Almacenamiento Las redes de respaldo o backend se utilizan para interconectar grandes sistemas tales como computadores centrales y dispositivos de almacenamiento masivo, el requisito principal

Más detalles

Aranda 360 ENDPOINT SECURITY

Aranda 360 ENDPOINT SECURITY Tabla de contenido Product Architecture Product Architecture Introducción Ambiente Redesdetrabajo Configuraciones Políticas Servidores Componentes Agente Servidor Base de datos Consola Comunicación Consola

Más detalles

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005 Ingeniería Superior de Informática. Curso º. Sistemas Operativos. Examen Final. TEORÍA. de Enero de 005 Nombre: DNI:. ( puntos). La TFA es la tabla que, en UNIX, guarda los punteros de posición de cada

Más detalles

Práctica 8 - DMA y Almacenamiento Masivo

Práctica 8 - DMA y Almacenamiento Masivo Práctica 8 - DMA y Almacenamiento Masivo Organización del Computador 1 Segundo Cuatrimestre 2011 Ejercicio 1 El siguiente protocolo de handshaking permite a un amo (por ejemplo: CPU) ordenar la realización

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

3. Topologías de red. IST La Recoleta

3. Topologías de red. IST La Recoleta 3. Topologías de red La topología de red se define como la cadena de comunicación usada por los nodos que conforman una red para comunicarse. Un ejemplo claro de esto es la topología de árbol, la cual

Más detalles

3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES

3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES 3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES 3.1 Estructuras de repetición Una estructura de repetición, también llamada lazo o bucle, hace posible la ejecución repetida de secciones específicas de código.

Más detalles

Redes (4º Ing. Informática Univ. Cantabria)

Redes (4º Ing. Informática Univ. Cantabria) Problema 1 Sea la red de la figura: Indica en cada uno de los siguientes casos si se trata de una entrega directa o indirecta y cuál es la dirección MAC que aparecerá en las tramas generadas por el nodo

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Historia y Conceptos Generales. Definción, Clasificación de Redes y Topologías

Historia y Conceptos Generales. Definción, Clasificación de Redes y Topologías Historia y Conceptos Generales Definción, Clasificación de Redes y Topologías Antecedentes Evolución de la tecnología (aparición de los sistemas de cómputo modernos: ENIAC, EDVAC, UNIVAC, etc.) Los sistemas

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada. Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 2006, Australia Autor principal del curso de 2009 a 2012 Iria Estévez Ayres Damaris Fuentes

Más detalles

Cómputo en paralelo con OpenMP 1

Cómputo en paralelo con OpenMP 1 Cómputo en paralelo con OpenMP 1 Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas CIMAT, September 2, 2015 1/34 Velocidad de los procesadores de escritorio Recientemente, la

Más detalles

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

Más detalles

ORDENADORES VECTORIALES

ORDENADORES VECTORIALES ORDENADORES VECTORIALES Un ordenador vectorial es una máquina diseñada específicamente para realizar de forma eficiente operaciones en las que se ven involucrados elementos de matrices, denominados vectores.

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

Solución Examen Febrero 2006

Solución Examen Febrero 2006 Solución Examen Febrero 2006 Lea detenidamente las siguientes instrucciones. No cumplir los requerimientos puede implicar la pérdida del examen. Formato Indique su nombre completo y número de cédula en

Más detalles

Práctica 3: Programación con subrutinas

Práctica 3: Programación con subrutinas Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse

Más detalles

Redes conmutadas y de área local

Redes conmutadas y de área local Redes conmutadas y de área local Jorge Juan Chico , Julián Viejo Cortés 2011-14 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar,

Más detalles

Introducción a MPI (Message Passing Interface)

Introducción a MPI (Message Passing Interface) Centro Nacional de Cálculo Científico Universidad de Los Andes CeCalCULA Mérida - Venezuela Introducción a MPI (Message Passing Interface) Francisco Hidrobo hidrobo@ciens.ula.ve Herbert Hoeger hhoeger@ing.ula.ve

Más detalles

Examen de Fundamentos de sistemas distribuidos

Examen de Fundamentos de sistemas distribuidos Examen de Fundamentos de sistemas distribuidos Tiempo total: 2 horas Problema: Programa: Rendezvous con semáforos(5 puntos) Utilizando como único mecanismo de sincronización los semáforos descritos en

Más detalles

Implementación de monitores POSIX

Implementación de monitores POSIX Implementación de monitores POSIX Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Programación concurrente: Problemática Presencia de condiciones de

Más detalles

MPI y sus aplicaciones en infraestructuras Grid

MPI y sus aplicaciones en infraestructuras Grid MPI y sus aplicaciones en infraestructuras Grid Dr. Isabel Campos Plasencia Instituto de Física de Cantabria-IFCA Santander, Spain Grids y e-ciencia 2008, IFIC, Valencia Esquema Introducción a MPI MPI

Más detalles

Examen Febrero de 2012

Examen Febrero de 2012 Examen Febrero de 2012 Lea detenidamente las siguientes instrucciones. No cumplir los requerimientos puede implicar la pérdida del examen. Formato Indique su nombre completo y número de cédula en cada

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

Estructuras de repetición hacer-mientras y repita hasta

Estructuras de repetición hacer-mientras y repita hasta Estructuras de repetición hacer-mientras y repita hasta Programación 1 Cátedra de Programación Departamento de Computación Escuela de Ingeniería de Sistemas Hacer mientras Diagrama de flujo Acciones S1

Más detalles

Es un software del tipo MAP-REDUCE realizada usando la librería MPI para la

Es un software del tipo MAP-REDUCE realizada usando la librería MPI para la Es un software del tipo MAP-REDUCE realizada usando la librería MPI para la ejecución de programas secuenciales de forma paralela con el requisito de no modificar los programas secuenciales. La idea fundamental

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

SISTEMAS DE ARCHIVOS DISTRIBUIDOS SISTEMAS DE ARCHIVOS DISTRIBUIDOS Tema # VII Sistemas de operación II Abril-Julio 2008 Yudith Cardinale Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo

Más detalles

Práctica 0. Emulador XENON de la computadora CESIUS

Práctica 0. Emulador XENON de la computadora CESIUS Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales

Más detalles

Hoja de problemas Estructuras de Control

Hoja de problemas Estructuras de Control Departamento de Estadística, I.O. y Computación Ingeniería Técnica Industrial - Electrónica Industrial Fundamentos de Informática Hoja de problemas Estructuras de Control 1. Cuál es el efecto de las siguientes

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código

Más detalles

Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1

Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Preguntas cortas Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Programación con Paso de Mensajes. MPI Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Universidad de Murcia

Más detalles

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria. Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea

Más detalles

TOPOLOGÍAS DE RED. TOPOLOGÍA FÍSICA: Es la forma que adopta un plano esquemático del cableado o estructura física de la red.

TOPOLOGÍAS DE RED. TOPOLOGÍA FÍSICA: Es la forma que adopta un plano esquemático del cableado o estructura física de la red. TOPOLOGÍAS DE RED QUE ES UNA TOPOLOGIA? Una red informática está compuesta por equipos que están conectados entre sí mediante líneas de comunicación (cables de red, etc.) y elementos de hardware (adaptadores

Más detalles

Efectos de los dispositivos de Capa 2 sobre el flujo de datos 7.5.1 Segmentación de la LAN Ethernet

Efectos de los dispositivos de Capa 2 sobre el flujo de datos 7.5.1 Segmentación de la LAN Ethernet 7.5 Efectos de los dispositivos de Capa 2 sobre el flujo de datos 7.5.1 Segmentación de la LAN Ethernet 1 2 3 3 4 Hay dos motivos fundamentales para dividir una LAN en segmentos. El primer motivo es aislar

Más detalles

Instrucciones de Comunicaciones

Instrucciones de Comunicaciones Guía Rápida Instrucciones de Comunicaciones Introducción Guía Rápida Puertos lógicos (Asignación automática). Instrucciones de red. Instrucción para macros. Instrucciones para comunicaciones serie. OMRON

Más detalles

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar

Más detalles

04/10/2010. d. Comparación de redes

04/10/2010. d. Comparación de redes Ing. Manuel Benites d. Comparación de redes 11Conmutación c. Conmutación de mensajes 12 Aplicaciones sobre la red telefónica a. Protocolo PPP b. Servicio ISDN ESTANDARES IEEE En el año 1985, la Sociedad

Más detalles

5.5. Sincronización.

5.5. Sincronización. 5.5. Sincronización. La comunicación entre procesos en un sistema multiprocesador se realiza utilizando memoria compartida. El acceso a esta memoria compartida, o a las variables que contendrá, se debe

Más detalles

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Qué es una Red? Es un grupo de computadores conectados mediante cables o algún otro medio. Para que? compartir recursos. software

Más detalles

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Rompiendo el Código Enigma Introducción y objetivos Como un pequeño homenaje a Alan Turing en su año conmemorativo, las prácticas de este curso

Más detalles

Tema 3: Concurrencia de procesos

Tema 3: Concurrencia de procesos Tema 3: Concurrencia de procesos Yolanda Blanco Fernández yolanda@det.uvigo.es Concurrencia, Tiempo Real y Paralelismo Concurrencia: Convivencia de un conjunto de procesos en un mismo ordenador. Sistemas

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6

Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6 Problemas de rquitectura de Redes, Sistemas y Servicios o Grado en Ingeniería en Tecnologías de Telecomunicación onjunto de problemas igura : Red para el problema. y siguientes Problema:. Use el algoritmo

Más detalles