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

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

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

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

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

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

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

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

Í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

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

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

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

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

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

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

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

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

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

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

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

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

Redes de Computadoras, Introducción a las Redes de Computador{ae}s y Comunicación de Datos

Redes de Computadoras, Introducción a las Redes de Computador{ae}s y Comunicación de Datos Redes de Computadoras, Introducción a las Redes de Computadoraes y Comunicación de Datos Examen 30 de julio de 2015 (ref: solredes20150730.odt) Instrucciones Indique su nombre completo y número de cédula

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

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

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

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

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

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

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

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

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

UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA

UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA Índice 1. Presentación...3 2. Conceptos básicos...4 2.1. TCP...4 2.2.

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

Examen 21 de febrero de 2011 (ref: eirc1103.odt)

Examen 21 de febrero de 2011 (ref: eirc1103.odt) Introducción a las Redes de Computador{aes y Comunicación de Datos Examen 21 de febrero de 2011 (ref: eirc1103.odt) Instrucciones Indique su nombre completo y número de cédula en cada hoja. Numere todas

Más detalles

Laboratorio de Paralelismo Prácticas MPI

Laboratorio de Paralelismo Prácticas MPI Laboratorio de Paralelismo Prácticas MPI Tras los ejemplos MPI que hemos ido haciendo en el laboratorio, hay que realizar estos cuatro ejercicios. Los programas de partida los tienes en el directorio de

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

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

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

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

Examen de Arquitectura de Redes Sistemas y Servicios (Teoría) 3 o Ingeniería de Telecomunicación Mayo 2011

Examen de Arquitectura de Redes Sistemas y Servicios (Teoría) 3 o Ingeniería de Telecomunicación Mayo 2011 Nombre y apellidos: DNI: 1 Examen de Arquitectura de Redes Sistemas y Servicios (Teoría) 3 o Ingeniería de Telecomunicación Mayo 2011 Test previo: Duración: 0.5 horas. Se permiten libros y apuntes. Pregunta

Más detalles

AGRUPA P R OBJET E OS 1

AGRUPA P R OBJET E OS 1 AGRUPAR OBJETOS 1 Son objetos que pueden almacenar un número arbitrario de objetos. Para formar colecciones usaremos la clase ArrayList. Para poder utilizar dicha clase habrá que importar el paquete java.util,

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

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

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

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

TEMA 12 DISEÑO SEGURO DE REDES: ALTA DISPONIBILIDAD Y REDUNDANCIA

TEMA 12 DISEÑO SEGURO DE REDES: ALTA DISPONIBILIDAD Y REDUNDANCIA TEMA 12 DISEÑO SEGURO DE REDES: ALTA DISPONIBILIDAD Y REDUNDANCIA INTRODUCCIÓN Cuando se habla de alta disponibilidad se habla de los tres nueves (99,999% del tiempo del año funcionando correctamente),

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

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

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

Unidad 2: Gestión de Procesos

Unidad 2: Gestión de Procesos Unidad 2: Gestión de Procesos Tema 4, Procesos: 4.1 El concepto de proceso. 4.2 Planificación de procesos. 4.3 Procesos cooperativos. 4.4 Hilos (threads). Informática (Segovia) 1 4.1 El concepto de proceso.

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: AGENDA TELEFÓNICA (4.0 PTOS.)...1 3. EJERCICIO 2:

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

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS. PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS. 1. Introducción. En esta práctica veremos todos los conceptos explicados en la segunda parte del Tema 5 de teoría: las Sentencias de Control Repetitivas,

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

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

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

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

Solución del Examen - 20 de febrero de 2009 (ref: sirc0903.doc)

Solución del Examen - 20 de febrero de 2009 (ref: sirc0903.doc) Solución del Examen - 20 de febrero de 2009 (ref: sirc0903.doc) Pregunta 1 (8 puntos) Explique el principio de funcionamiento de los protocolos que operan bajo el esquema Go-Back-N. (Extraído del material

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

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

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 6. Sistemas de entrada/salida Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Concepto

Más detalles

Práctica 6. Periféricos Avanzados. Programación del Disco Duro a través de la interfaz IDE. Lectura de la tabla de particiones.

Práctica 6. Periféricos Avanzados. Programación del Disco Duro a través de la interfaz IDE. Lectura de la tabla de particiones. Práctica 6. Periféricos Avanzados. Programación del Disco Duro a través de la interfaz IDE. Lectura de la tabla de particiones. Introducción. En esta práctica accederemos al disco duro a través de la funcion

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas

Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas Distribuir Según el diccionario: dividir una cosa entre varios designando lo que a cada uno corresponde Problemática: muchas tecnologías

Más detalles

Modelos de Computación I. Ingeniería Informática

Modelos de Computación I. Ingeniería Informática Prácticas Pag. 1 Modelos de Computación I Ingeniería Informática Práctica 1 Lex como localizador de expresiones regulares con acciones asociadas Curso 2008-2009 Profesores: Carlos J. Mantas Ruiz Aida Jiménez

Más detalles

Arquitectura de Computadores II Exámenes Tipo Test Resueltos y justificados. Ana B. Pelegrina Ortiz

Arquitectura de Computadores II Exámenes Tipo Test Resueltos y justificados. Ana B. Pelegrina Ortiz Arquitectura de Computadores II Exámenes Tipo Test Resueltos y justificados Ana B. Pelegrina Ortiz Resultados de los tipo test del tema 1 de ACII en el SWAD 1. Un programa tarda 60 segundos en ejecutarse

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

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED Dolly Gómez Santacruz dolly.gomez@gmail.com CAPA DE RED La capa de red se ocupa de enviar paquetes de un punto a otro, para lo cual utiliza los servicios

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

Extensiones multimedia Intel

Extensiones multimedia Intel Facultad de Informática Grado de Ingeniería Informática Ingeniería de Computadores Extensiones multimedia Intel Autor: Mikel Sagastibelza Azcarate Tutor: Clemente Rodríguez Lafuente San Sebastián, Junio

Más detalles

Para esto, los sistemas se tienen que acomodar a las diferencias entre las redes con:

Para esto, los sistemas se tienen que acomodar a las diferencias entre las redes con: 1. Principios de la interconexión entre redes a) Requisitos Proporcionar un enlace entre redes. Proporcionar encaminamientos y entrega de datos entre procesos de diferentes redes. Mantener un mecanismo

Más detalles

Computación de Alta Performance Curso 2009. PVM Avanzado

Computación de Alta Performance Curso 2009. PVM Avanzado Computación de Alta Performance Curso 2009 Avanzado QUÉ ES? Una BIBLIOTECA, NO un Lenguaje Un estandar de facto, no de comité Soporte para: Administracion dinamica de maquinas heterogeneas Identificacion

Más detalles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta

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

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

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

Unidad 2: Gestión de Memoria

Unidad 2: Gestión de Memoria Unidad 2: Gestión de Memoria Tema 3, Gestión de Memoria: 3.1 Definiciones y técnicas básicas. 3.2 Gestión de memoria contigua: Partición, fragmentación, algoritmos de ubicación... 3.3 Paginación: Estructura

Más detalles

Esquema de un programa en C: bloques básicos

Esquema de un programa en C: bloques básicos Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,

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

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

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

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A. MATERIAL PERMITIDO: los libros Estructura y tecnología de computadores y Problemas de estructura y tecnología de computadores, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS. INSTRUCCIONES:

Más detalles

4 o Ingeniería Informática

4 o Ingeniería Informática Esquema del tema 1. Introducción 4 o Ingeniería Informática II26 Procesadores de lenguaje Estructura de los compiladores e intérpretes 2. Etapas del proceso de traducción 3. La interpretación 4. La arquitectura

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

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

RAID 0 : No redundante

RAID 0 : No redundante RAID ECP RAID RAID - Redundant Array of Independent Discs, 1987 Combinar varios discos, pequeños y baratos, en un sólo dispositivo lógico de disco y distribuir los datos a través de las unidades físicas

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

Diseño y configuración de redes IP

Diseño y configuración de redes IP Contenido Tema 8 Diseño y configuración de redes IP Protocolos de encaminamiento Características Sistemas autónomos IGP: RIP y OSPF EGP: BGP Segunda parte 1 Ampliación interconexión de redes: Conmutadores

Más detalles

Examen - 20 de diciembre de 2008 (ref: sirc0812.doc)

Examen - 20 de diciembre de 2008 (ref: sirc0812.doc) Instrucciones Examen - 20 de diciembre de 2008 (ref: sirc0812.doc) Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique la cantidad total de hojas que entrega en

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

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

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas. Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento

Más detalles

Algunas preguntas clave para el diseño de multiprocesadores son las siguientes:

Algunas preguntas clave para el diseño de multiprocesadores son las siguientes: 6. MULTIPROCESADORES 6.1 Introducción Algunos diseñadores de computadoras han mantenido la ilusión de crear una computadora poderosa simplemente conectando muchas computadoras pequeñas. Esta visión es

Más detalles

Programación Paralela y Distribuida

Programación Paralela y Distribuida Programación Paralela y Distribuida Cores, Threads and Nodes Pedro Antonio Varo Herrero pevahe@gmail.com Pedro Antonio Varo Herrero Estudiante 4º Curso - Universidad de Sevilla Grado Ing. Informática Tecnologías

Más detalles

Manual del programador

Manual del programador Apéndice A Manual del programador A.1. Introducción En este capítulo vamos a dar un repaso general a toda la estructura que compone la aplicación de forma que el usuario se familiarice con ella y sobre

Más detalles

Solución: Examen de Introducción a las Redes de Computadoras y Comunicación de Datos (ref: sirc0608.doc) 5 de agosto de 2006

Solución: Examen de Introducción a las Redes de Computadoras y Comunicación de Datos (ref: sirc0608.doc) 5 de agosto de 2006 Solución: Examen de Introducción a las Redes de Computadoras y Comunicación de Datos (ref: sirc0608.doc) 5 de agosto de 2006 Preguntas Teóricas Pregunta 1 (5 puntos) Enuncie los resultados de Nyquist y

Más detalles

1. Introducción. 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.)... 1 1.2 Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)...

1. Introducción. 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.)... 1 1.2 Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)... Examen Junio Grupo A Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción.... 1 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.)... 1 1.2 Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)...

Más detalles