Algoritmos concurrentes y paralelos 1
![]() |
![]() |
![]() |
Título del Test:![]() Algoritmos concurrentes y paralelos 1 Descripción: siglo 21 |




Comentarios |
---|
NO HAY REGISTROS |
¿Qué es la computación paralela?. a) El uso simultáneo de múltiples recursos computacionales para resolver un problema computacional. b) La ejecución secuencial de instrucciones en una sola CPU. c) La implementación de redes neuronales artificiales. d) La utilización exclusiva de GPUs para cálculos científicos. ¿Qué es la computadora de Von Neumann?. a) Una computadora teórica que procesa de forma serial. b) Un supercomputador capaz de procesamiento paralelo. c) Un sistema distribuido que utiliza varias memorias compartidas. d) Una arquitectura para microcontroladores embebidos. Desde el punto de vista de lenguajes para la programación paralela, indique las clases de lenguajes. (Seleccione 4 opciones correctas). a) Implícito de alto nivel. b) Explícito de alto nivel. c) Implícito de bajo nivel. d) Explícito de bajo nivel. e) Híbrido. El procesamiento paralelo, tecnológicamente hablando, se impulsa debido a que la reducción de los transistores en los circuitos integrados se dificulta porque: a) Se reduce el consumo eléctrico de los circuitos. b) La computación cuántica ya está implementada. c) Al aumentar la integración y la velocidad, se disipa más calor y se vuelve poco confiable el circuito. d) Los discos duros no pueden almacenar grandes cantidades de datos. La Ley de Moore es: a) La teoría que dice que la velocidad de los procesadores se duplica cada año. b) La observación empírica que plantea que cada dos años se duplica la densidad de transistores en un microprocesador. c) La ley que indica que cada cinco años se reemplaza la arquitectura Von Neumann. d) El postulado de que los computadores paralelos son el futuro de la computación. Seleccione las 4 opciones correctas: ¿Cuáles computadoras permiten procesamiento paralelo?. a) Computadoras con MPS. b) Computadoras monoprocesador con placas gráficas con procesador. c) Computadoras con procesadores multi núcleo. d) Computadoras monoprocesador con matriz FPGA. e) Computadoras monoprocesador sin coprocesadores adicionales. Si hablamos de que necesitamos el uso de cerrojos en los datos para impedir que se modifiquen simultáneamente por dos procesadores, estamos hablando de: a) Memoria distribuida. b) Memoria compartida. c) Procesamiento vectorial. d) Paralelismo masivo. ¿Con qué enfoque escribimos programas paralelos? (Seleccione 2 opciones correctas). a) Paralelismo de tareas. b) Paralelismo de datos. c) Paralelismo de red. d) Paralelismo de compiladores. 3.2 ¿Cuál de los siguientes es un claro ámbito de la programación paralela?. a) Desarrollo de videojuegos simples. c) Creación de páginas web estáticas. b) Análisis de Big Data. d) Edición de textos. Seleccione las 3 opciones correctas: ¿Cuáles son los tres niveles de paralelismo?. a) A nivel de compilación. b) A nivel de datos. c) A nivel de instrucción. d) A nivel de tareas. e) A nivel de red. Seleccione las 4 (cuatro) opciones correctas: ¿Cuáles son aplicaciones de algoritmos paralelos?. a) Big Data. b) Predicción del clima. c) Modelización financiera y económica. d) Diagnóstico por imagen médico. e) Diseño gráfico básico. El multicomputador... a) Es un único procesador de Von Neumann con varias memorias independientes. b) Comprende varios nodos de Von Neumann conectados por una red de interconexión. c) Es lo mismo que una computadora con múltiples núcleos. d) Solo funciona si todas las CPUs son idénticas. Cuando hablamos de poder realizar cálculos completamente diferentes en cualquiera de los conjuntos de datos o diferentes conjuntos de datos, estamos hablando de: a) Paralelismo a nivel de bits. b) Paralelismo a nivel de datos. c) Paralelismo a nivel de instrucciones. d) Paralelismo a nivel de tareas. Cuando hablamos del aumento del tamaño de la palabra (direccionamiento) del procesador, estamos hablando de: a) Paralelismo a nivel de bits. b) Paralelismo a nivel de datos. c) Paralelismo a nivel de instrucciones. d) Paralelismo a nivel de tareas. Los procesadores Very Long Instruction Word (VLIW), que tienen como objetivo el paralelismo a nivel de instrucción, precisan del compilador para explotar adecuadamente este paralelismo: a) Verdadero. b) Falso. Un procesador segmentado es: a) Un procesador que puede ejecutar múltiples hilos de forma simultánea. b) Un tipo de procesador que usa pipelines de instrucciones de varias etapas. c) Un procesador que combina múltiples núcleos en un solo chip. d) Un procesador gráfico especializado. ¿Cuál de los siguientes procesadores se caracteriza por separar la ejecución de cada instrucción en varias etapas para poder procesar una instrucción diferente en cada una de ellas?. a) Un procesador superescalar. b) Un procesador VLIW. c) Un procesador segmentado. d) Un procesador multicore. ¿Cuál es la limitante de los procesadores superescalares?. a) Solo pueden ejecutar instrucciones de 32 bits. b) Las instrucciones pueden agruparse solo si no hay dependencia de datos entre ellas. c) No soportan ejecución fuera de orden. d) Solo funcionan en entornos gráficos. ¿Qué enfoques principales utiliza el paralelismo a nivel de instrucción en las CPU modernas? (Seleccione las 2 opciones correctas). a) Multiple issue (problema múltiple). b) Multithreading. c) Pipelining (canalización). d) SIMD. ¿Qué técnicas utilizan paralelismo a nivel de instrucción? (Seleccione las 3 opciones correctas). a) Procesador VLIW. b) Procesador superescalar. c) Procesador segmentado. d) Procesador vectorial. Cuando hablamos de ILP, nos referimos a: a) Paralelismo a nivel de bits. b) Paralelismo a nivel de tareas. c) Paralelismo a nivel de instrucción. d) Paralelismo a nivel de memoria. El Multithreading de grano fino... a) Permite ejecutar múltiples hilos en el mismo ciclo. b) Ejecuta siempre un solo hilo hasta que termina. c) Asigna un número fijo de ciclos a un thread detrás de otro con una política Round Robin. d) Solo funciona en procesadores segmentados. El poder ejecutar en más de un ciclo consecutivo, haciendo que se reduzca la necesidad de múltiples bancos de registros, es una característica de: a) Multithreading de grano fino. b) Multithreading de grano grueso. c) Simultaneous Multithreading. d) Procesamiento vectorial. En el Multithreading de grano fino, se puede ejecutar más de una instrucción de un thread en ciclos consecutivos. Habitualmente un thread continúa la ejecución de instrucciones hasta que se produce un bloqueo causado por un salto, un conflicto de datos, etc. a) Verdadero. b) Falso. La reducción del “horizontal waste” es una característica de: a) Multithreading de grano fino. b) Multithreading de grano grueso. c) Simultaneous Multithreading. d) Multiprocesamiento asimétrico. ¿A qué nos referimos cuando hablamos de SIMD?. a) Paralelismo a nivel de bits. b) Paralelismo a nivel de tareas. c) Paralelismo a nivel de instrucciones. d) Paralelismo a nivel de datos. ¿Qué paradigma aplica el mismo conjunto de instrucciones a distintos grupos de datos?. a) Paralelismo a nivel de tareas. b) Paralelismo a nivel de instrucciones. c) Paralelismo a nivel de datos. d) Paralelismo a nivel de bits. Cuando hablamos de DLP, nos referimos a: a) Paralelismo a nivel de tareas. b) Paralelismo a nivel de datos. c) Paralelismo a nivel de instrucciones. d) Paralelismo dinámico de procesos. Los procesadores vectoriales están categorizados en la taxonomía de Flynn como... a) SISD. b) MISD. c) SIMD. d) MIMD. Dado un Grafo de tareas, decimos que Span es: a) La cantidad máxima de tareas paralelas que pueden ejecutarse al mismo tiempo. b) El tiempo mínimo necesario para poder acabar todas las tareas ejecutándose con un número infinito de procesadores. c) El número de nodos de entrada y salida del grafo. d) El número total de procesadores necesarios para completar la ejecución. El tiempo de la ejecución secuencial de todos los nodos del grafo está dado por: a) TP. b) T∞. c) T1. d) SP. Seleccione la sentencia correcta sobre paralelismo: a) El paralelismo en un programa siempre depende del número de procesadores disponibles. b) El paralelismo en un programa es independiente del número de procesadores de los que se dispone. c) A mayor número de procesadores, mayor es siempre el paralelismo potencial. d) El paralelismo solo puede medirse en plataformas de más de 4 procesadores. ¿Cuál es la métrica que nos indica un límite inferior al del número de procesadores...?. a) Holgura. b) Speedup. c) T1. d) Eficiencia. ¿Qué determina el paralelismo potencial que se podría explotar en la estrategia de paralelización?. a) El tamaño del grafo. b) El número de procesadores. c) El grano de paralelización. d) El span máximo. ¿Cómo definimos a SP?. a) La eficiencia de ejecución cuando usamos P procesadores. b) La capacidad de procesamiento secuencial. c) La relativa reducción de tiempo de ejecución al procesar un tamaño fijo de datos cuando usamos P procesadores, con respecto al tiempo de ejecución del programa secuencial. d) La suma de los tiempos secuenciales y paralelos. ¿Cuál es la medida de la fracción de tiempo en la que cada procesador es usado para resolver el problema en cuestión de forma útil?. a) Speedup. b) Holgura. c) Eficiencia. d) Paralelismo potencial. El speedup está dado por: a) SP = TP / T1. b) SP = T1 / TP. c) SP = TP * T1. d) SP = TP / P. ¿Qué planteó Gene Amdahl en la década de 1960?. a) La ley de que cualquier problema grande puede ser paralelizado. b) La taxonomía de Flynn. c) El cálculo de la aceleración potencial de un algoritmo en una plataforma de cómputo paralelo. d) La creación del primer procesador SIMD. Cuando analizamos la intersección de variables cuyo valor es accedido durante la ejecución con el conjunto de variables cuyo valor cambia durante la ejecución, ¿qué estamos analizando?. a) Las condiciones de Amdahl. b) Las condiciones de Bernstein. c) El grano de paralelización. d) La eficiencia de los hilos. John L. Gustafson enunció por primera vez la ley que lleva su nombre en 1988. Esta ley plantea: a) Que cualquier problema suficientemente grande puede ser eficientemente paralelizado. b) Que la aceleración máxima está limitada por la parte secuencial del algoritmo. c) Que los procesadores SIMD son más eficientes que los MIMD. d) Que el speedup es proporcional al número de hilos. La Ley de Amdahl dice que: a) La mejora de rendimiento es siempre proporcional al número de procesadores. b) La fracción de tiempo invertida en la parte secuencial va a limitar la mejora de rendimiento que vamos a obtener de la paralelización. c) Solo los programas totalmente paralelizables se benefician de la paralelización. d) La eficiencia siempre aumenta con más procesadores. La ley de Gustafson coincide con la ley de Amdahl al considerar que la cantidad total de trabajo que se hará en paralelo varía linealmente con el número de procesadores. a) Verdadero. b) Falso. Las condiciones de Bernstein son: a) Las que nos determinan si dos procesos SDE pueden ejecutar de forma paralela. b) Las condiciones que garantizan la eficiencia máxima en sistemas SIMD. c) La regla para calcular el speedup máximo. d) Las condiciones de entrada y salida de un grafo de tareas. Seleccione las 4 (cuatro) opciones correctas. Indique los costes que deben pagarse al realizar la paralelización de una aplicación: La creación y terminación de procesos/threads. La sincronización. La granularidad. La compartición de datos. La latencia de la memoria cache. El concepto de Strong Scalability se relaciona a una medida que: a) Mantiene fijo el tamaño que le toca a cada procesador. b) Mantiene el tamaño fijo del problema a tratar para cualquier número de procesadores. c) Duplica la carga de trabajo con cada procesador agregado. d) Requiere al menos dos procesadores para ser medido. El concepto de Weak Scalability se relaciona a una medida que: Mantiene fijo el tamaño que le toca a cada procesador. Mantiene el problema completo fijo. Solo aplica a arquitecturas SIMD. Depende del grafo de tareas. La escalabilidad permite medir cómo se comporta un programa paralelo cuando: Se disminuye el tamaño del problema. Se aumenta el tamaño del problema relacionado con el número de procesadores o se aumenta el número de procesadores, independientemente del problema. Se reduce la eficiencia al máximo posible. El span es igual al T1. Un valor grande de N1/2 (N sub índice un medio) indica: Que el programa es altamente escalable. Que el problema es fácil de paralelizar. Que el problema es difícil de paralelizar con la estrategia usada. Que la eficiencia es cercana al 100%. ¿Cuál es la arquitectura en donde las computadoras tienen varios procesadores que funcionan de forma asíncrona e independiente, pudiendo los procesadores estar ejecutando diferentes instrucciones en diferentes datos en cualquier momento dado?. SIMD. SISD. MIMD. MISD. ¿Cuál es la arquitectura en la que los procesadores de una computadora ejecutan más tareas a la vez que el número de procesadores que tiene?. SIMD. SIMT. SPMD. MISD. ¿Cuál es la arquitectura que se propuso en 1983 por Michel Auguin y François Larbey en la computadora paralela OPSILA y luego en 1984 por Frederic Darema en IBM para máquinas altamente paralelas como el RP3?. SIMD. MIMD. SIMT. SPMD. ¿Cuál es la arquitectura que se usó en 1966 en el ILLIAC IV que luego fue la base de las arquitecturas vectoriales de principios de la década de 1970?. SIMD. MIMD. SIMT. SPMD. ¿Cómo se llama la clasificación de arquitecturas de computadora que se basa en el número de flujos de instrucciones (o control) concurrentes y en el flujo de datos usados para procesar la información?. Taxonomía de Von Neumann. Taxonomía de Flynn. Taxonomía de Amdahl. Taxonomía de Turing. ¿Cuál es la categoría en la que cada unidad de procesamiento tiene instrucciones y flujos de datos diferentes capaces de cualquier tipo de aplicación?. SISD. SIMD. MIMD. MISD. ¿Cuál es la categoría poco usada, debido a que no es útil en la mayoría de las aplicaciones? Un ejemplo de estrategia serían las computadoras de control de vuelo del transbordador espacial y las usadas en la navegación aérea, donde es necesario contar con sistemas redundantes de respaldo. SISD. SIMD. MISD. MIMD. La categoría de computadoras adecuadas para la computación científica, en donde cada unidad de procesamiento puede procesar un conjunto de datos, es: SISD. SIMD. MISD. MIMD. La descomposición geométrica se refiere a: Usar múltiples funciones sobre un mismo dato. Dividir en pequeños subdominios y asignar a cada procesador el subdominio que le corresponde. Dividir los procesos por fases. Ejecutar diferentes algoritmos al mismo tiempo. Las máquinas MIMD, según el programa que ejecutan las unidades de procesamiento, se subclasifican en: (Seleccione las 2 opciones correctas). Multiple programs, multiple data streams. Single program, multiple data streams. Single program, single data stream. Multiple instruction, single data stream. Las máquinas MIMD, según la forma en que las unidades de procesamiento se acoplan a la memoria principal, se subclasifican en: (Seleccione las 2 opciones correctas). MIMD de memoria distribuida. MIMD de memoria compartida. MIMD de acceso directo. MIMD vectorial. Una máquina con un solo procesador que es capaz de ejecutar una sola instrucción, operando en un solo flujo de datos en cada ciclo de reloj, es: SIMD. MISD. SISD. MIMD. ¿Cómo se llama a la arquitectura de sistemas distribuidos que intenta que siempre esté disponible?. High Performance Computing. High Availability Computing Cluster. Load Balancing Architecture. Cloud Computing. ¿Cómo se llama la arquitectura distribuida en la que cada nodo resulta en la agregación de potencia de cálculo para resolver problemas complejos en ciencia, ingeniería o gestión?. High Performance Computing. Grid Computing. High Availability Computing. Distributed Databases. ¿Cuál es la tecnología que permite utilizar de forma coordinada recursos heterogéneos que no están sujetos a un control centralizado?. High Performance Computing. Cloud Computing. Grid Computing. Cluster Computing. La descomposición de dominio se refiere a: Paralelizar diferentes algoritmos. Dividir en pequeñas tareas funcionales. Paralelizar el flujo de datos de entrada. Procesar diferentes programas en paralelo. La descomposición especulativa se refiere a: Dividir el problema en funciones distintas. Evaluar varias y continuar con la primera opción correcta. Dividir el dominio geométrico en partes. Usar múltiples CPUs para una sola función. La descomposición funcional se refiere a: Dividir el dominio de datos en subdominios. Dividir el problema en distintas fases (diferentes sub-cálculos), y estos a su vez pueden ser manejados con diferentes estrategias. Procesar datos especulativamente. Dividir bucles iterativos. La descomposición iterativa se refiere a: Dividir los datos en varias partes. Procesar diferentes tareas en paralelo. Dividir un bucle y procesar todo de forma independiente. Ejecutar un bucle solo en un procesador. La descomposición Maestro/Esclavo se refiere a: Cada proceso ejecuta el mismo código. Que el sistema posee un proceso principal que es el responsable de descomponer el problema entre sus procesos dependientes. Todos los procesos son independientes entre sí. La descomposición está controlada por el sistema operativo. La descomposición recursiva se refiere a: Dividir un bucle en partes independientes. Paralelizar el acceso a datos. Partir el problema en subproblemas pequeños independientes y luego combinarlos en un resultado final. Ejecutar múltiples instancias del mismo proceso. ¿Cuál es la capa del modelo OSI encargada de la transferencia libre de errores de los datos entre emisor y receptor?. Capa de red. Capa de enlace de datos. Capa de transporte. Capa de presentación. ¿Cuál es la capa del modelo OSI que proporciona los mecanismos para controlar el diálogo entre las aplicaciones de los sistemas?. Capa de aplicación. Capa de transporte. Capa de sesión. Capa física. ¿Cuáles son las capas del modelo OSI? (Seleccione las 4 opciones correctas). Capa de transporte. Capa de red. Capa de presentación. Capa de enlace de datos. Capa de aplicación. El paso de mensajes es: Un protocolo de red. Una técnica para ejecutar un programa en una computadora determinada. Un método de almacenamiento distribuido. Una arquitectura de CPU. En la transferencia de mensajes en los sistemas distribuidos, para que los diferentes procesos puedan interpretar de la misma forma el significado de los bits que se envían, se acuerdan algunos aspectos de interpretación. (Seleccione las 4 opciones correctas). Aspectos físicos. Aspectos lógicos. Detección y corrección de errores. Estructuras y representación de datos iguales. Formato de codificación de los mensajes. ¿Qué arquitecturas se utilizan para la computación distribuida? Seleccione las 4 (cuatro) opciones correctas. Peer to Peer. Multitier architecture. Client / Server. Tight coupling. Fit in communication. En una arquitectura Three-tier ¿cuáles son las capas que existen? Seleccione las 3 (tres) opciones correctas. Nivel de datos. Nivel de presentación. Nivel de aplicación. Nivel de procesamiento. Nivel de seguridad. Un server Web (Como Apache o ISS), ¿a qué arquitectura res?. Client / Server. Peer to Peer. Multitier. Loose coupling. ¿Cómo se llama la arquitectura de sistemas distribuidos en las que el hardware y software no solo están vinculados entre sí, sino que también dependen entre sí?. Tight coupling. Loose coupling. Peer to Peer. Multitier. ¿Qué arquitectura de aplicación distribuida es la que divide las tareas o cargas de trabajo con privilegios equipotentes entre los participantes?. Peer to peer. Client / Server. Tight coupling. Multitier architecture. ¿Qué arquitectura de sistemas distribuidos es en el que cada uno de sus componentes tiene, o hace uso de, poco o ningún conocimiento de las definiciones de otros componentes separados?. Loose coupling. Tight coupling. Peer to peer. Multitier architecture. La arquitectura que desdobla cosas como presentación, lógica, datos y otros se llama: Multitier architecture. Single-tier architecture. Peer to peer. Tight coupling. ¿Cómo se llama la técnica en donde a pesar de haber un grupo, la comunicación se realiza mediante la transmisión de paquetes individuales a cada uno de los miembros del grupo?. Broadcast. Unicast. Multicast. Anycast. ¿Cómo se llama la técnica en la cual se crea una dirección especial de red donde todas las computadoras del sistema pueden escuchar los mensajes que recibe esa dirección?. Anycast. Unicast. Broadcast. Multicast. Una característica de la arquitectura basada en Mensajes para desarrollar aplicaciones es: Que es asincrónica. Que es sincrónica. Que depende de un único servidor. Que se ejecuta en tiempo real. Ejemplos de Código Móvil son: Los applets de Java. Python scripts. Aplicaciones nativas. Códigos en lenguaje ensamblador. La habilidad de que un programa o parte de él pueda ser transferido de un computador a otro y ser ejecutado en el computador destino se llama: Código Móvil. Código Estático. Código Dinámico. Código Modular. ¿Cuáles son etapas de la conocida metodología para creación de aplicaciones paralelas y/o distribuidas? Seleccione las 4 (cuatro) opciones correctas. Comunicación. Aglomeración. Partición. Mapeo. Integración. Cuando pensamos en sistemas distribuidos, debemos pensar en los servicios asociados. ¿Cuáles son algunos de ellos? Seleccione las 3 (tres) opciones correctas. Servicios de notificación de eventos. Servicios de nombres. Servicios de persistencia. Servicios de procesamiento en tiempo real. Servicios de sincronización de reloj. Dentro de la metodología PCAM, ¿Cuál es la etapa que combina tareas en tareas ¡…! rendimiento o reducir los costos?. Aglomeración. Partición. Mapeo. Comunicación. ¿Cuáles son las condiciones de Coffman? Seleccione las 4 (cuatro) opciones correctas. Espera circular. Espera la condición. Sin preferencia. Exclusión mutua. Intercambio de recursos. El "starvation" es cualquier situación en la que un proceso concurrente no puede obtener todos los recursos que necesita para realizar el trabajo. Verdadero. Falso. Una situación de interbloqueo o Deadlock se presenta cuando en un programa dos o más procesos concurrentes se esperan uno a otro. Verdadero. Falso. Cuando un programa realiza operaciones concurrentes de forma activa, pero esas operaciones no producen avances en el estado del programa, estamos ante un: Livelock. Deadlock. Starvation. Race condition. El patrón que especifica la descomposición de un problema en tareas independientes para ser procesadas en paralelo se llama: Task Parallelism. Data Parallelism. Pipeline Parallelism. Geometric Decomposition. El patrón que sirve para distribuciones de datos donde los datos están en estructuras de datos lineales (no recursivas) se llama: Geometric Decomposition. Task Parallelism. Data Parallelism. Pipeline Parallelism. El patrón que tiene como característica no tener una distribución lineal y utiliza como estrategia dividir en subproblemas, y así sucesivamente, hasta llegar a un caso base se llama: Divide & Conquer. Task Parallelism. Geometric Decomposition. Recursive Data. El patrón pipeline (Tubería) es un tipo de patrón para distribución de datos donde las estructuras de datos son estructuras de datos recursivas, como por ejemplo, grafos, árboles, etcétera. Verdadero. Falso. El patrón que es una clase de pipeline pero irregular y en donde no hay una secuencia de etapas una detrás de otra conectadas de dos en dos se llama: Event Based. Pipeline Irregular. Reactive Flow. Dynamic Pipeline. |