Cuestiones
ayuda
option
Mi Daypo

TEST BORRADO, QUIZÁS LE INTERESETest_Tema_2

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del test:
Test_Tema_2

Descripción:
Test_Tema_2

Autor:
AVATAR

Fecha de Creación:
24/06/2019

Categoría:
Informática

Número preguntas: 18
Comparte el test:
Facebook
Twitter
Whatsapp
Comparte el test:
Facebook
Twitter
Whatsapp
Últimos Comentarios
No hay ningún comentario sobre este test.
Temario:
Existen distintos modos de programación paralela: SPMD o paralelismo de datos y MPSD o paralelismo de tareas. SPMD o paralelismo de datos, MPMD o paralelismo de tareas y sistemas híbridos. SPMD o paralelismo de datos y MPMD o paralelismo de tareas.
En un modelo basado en hebras: Existe un pila compartida por todas las hebras. Cada hebra tiene su propia pila y contenido de registros, entre ellos un IP (Puntero de Instrucciones) que almacena la dirección de la siguiente instrucción a ejecutar de la hebra. La comunicación, sincronización y conmutación entre hebras de un proceso es más lenta que entre procesos.
En programación paralela, si un proceso quiere enviar un mismo mensaje a todos los procesos que intervienen en la comunicación utilizaremos un mensaje de: Dispersión o Scatter. Reducción. Difusión.
En programación paralela, si queremos sumar un vector de números: Se debería utilizar comunicación Uno-a-Todos de tipo dispersión. Se debería utilizar comunicación Todos-a-Uno de tipo reducción. Se debería utilizar comunicación Todos-a-Uno de tipo acumulación.
En la programación de paso de mensajes con transmisión asíncrona: La función Send deja bloqueado el proceso que lo ejecuta hasta que el nodo destino ejecute la función Receive. La función Receive deja bloqueado el proceso que lo ejecuta hasta que se realice la transferencia de datos por la función Send correspondiente del nodo destino. La función Send no deja bloqueado el proceso que lo ejecuta y continua con su hilo de ejecución.
En el lenguaje ADA, que utiliza programación por paso de mensajes: Se utilizan send-receive asíncronos a los que se le conoce como “rendez-vous”o citas. El primer proceso que llegue al rendez-vous debe esperar al otro para poder continuar procesando. Durante el rendez-vous los procesos utilizan la exclusión mútua para acceder a ciertas variables compartidas.
En el estilo de programación de paralelismo de datos: El programador tiene que ocuparse de las sincronizaciones El programador se basa en construcciones para paralelizar bucles, distribuir datos, etc. El programador tiene que ocuparse de la organización del espacio de memoria.
En la estructura de programas paralelos tipo Master/Slave: Usualmente hay comunicación entre los slave. El master se encarga de distribuir las tareas a los slave, obteniendo los resultados parciales para obtener el resultado final. El dueño y el esclavo siempre utilizarán un único programa.
En la estructura de programas paralelos tipo Divide y venceras: La estructura de los procesos y de las tareas es la de un cauce segmentado Puede haber interacción entre los distintos procesos en los que se divide el problema. Se utiliza cuando un problema se puede dividir en dos o más subproblemas de forma que cada uno se puede resolver independientemente, combinándose los resultados para obtener el resultado final.
Si quisiéramos decodificar una imagen JPEG tendríamos que ejecutar funciones de decodificación de entropía, cuantificación inversa, transformada del coseno inverso y conversión RGB de forma secuencial a bloques de 8x8 pixeles. Si quisiéramos realizar esto de forma paralela, la estructura de programa que se debería utilizar seria: Maestro esclavo o Task Farming. Segmentada (pipeline) o flujo de datos. Divide y vencerás (Divide & Conquer).
En el proceso de paralelización de un programa paralelo: Si al evaluar la prestaciones finales del programa paralelo no son las esperadas nunca hay que volver a la fase de descomposición de tareas. Las prestaciones no dependen de la herramienta software seleccionada. Es posible utilizar distintos puntos de partida para mejorar las prestaciones.
En la fase de asignación de tareas, cuando estamos realizando un proceso de paralelización de un programa paralelo: No es necesario tener en cuenta la arquitectura en la que se va a ejecutar la aplicación para realizar la asignación de la carga de trabajo. La asignación de tareas a procesadores puede ser estática o dinámica. En una arquitectura homogénea no uniforme, el tiempo de comunicación entre todos los procesadores y memoria es el mismo, independientemente de los dos componentes que intervengan.
En programacion paralela, si queremos realizar la composicion de una imagen tras haberle aplicado un filtro: Se deberia utilizar comunicacion Uno-a-Todos de tipo difusion Se deberia utilizar comunicacion Todos-a-Uno de tipo reduccion Se deberia utilizar comunicacion Todos-a-Uno de tipo acumulacion.
En el estilo de programación paralela por variables compartidas: Para sincronizar, el programador utiliza primitivas que ofrece el software y que se basan en primitivas hardware para incrementar prestaciones. Los procesos pueden compartir las variables globales. La función Store no deja bloqueado el proceso que lo ejecuta No es necesaria la sincronizacion entre los procesos fuente y destino Las funciones Load y Store dejan bloqueados a los procesos que los ejecutan Los procesos pueden compartir las variables globales.
Relativo a la creación y terminación de procesos o hebras, se puede afirmar: Las hebras y procesos se pueden crear tanto dinámica como estáticamente. En la creación simultánea y terminación asíncrona, se utilizan las directivas spawn para la creación de los procesos o hebras y join para sincronización del padre con el hijo. En la creación no simultánea y terminación síncrona, se utilizan las directivas fork, para la creación dinámica de un proceso o hebra y join para sincronización del padre con el hijo. En la creacion simultanea y terminacion asincrona, los hijos se sincronizan entre si y con el nodo padre o bien el padre espera finalizacion de todos los hijos, por lo que es menos propensa a errores En la creacion no simultanea y terminacion asincrona, se utilizan las directivas fork y join.
En programación paralela, si queremos que los mensajes enviados por los procesos se combinen en un solo mensaje mediante algún operador (AND, OR, etc): Se debería utilizar comunicación Uno-a-Todos de tipo dispersión. Se debería utilizar comunicación Todos-a-Uno de tipo reducción. Se debería utilizar comunicación Todos-a-Uno de tipo acumulación.
En el estilo de programación paralela por paso de mensaje: Las transmisiones pueden ser síncronas y asíncronas. Se utilizan mecanismos para implementar sincronización basados en cerrojos y semáforos. Los distintos procesadores del sistema comparten el espacio de direcciones. Cada procesador en el sistema tiene su propio espacio de direcciones. Los mensajes llevan datos de uno a otro espacio de direcciones y se pueden aprovechar para sincronizar procesos. .
Relativo a la creación y terminación de procesos o hebras, se puede afirmar: Las hebras y procesos se pueden crear tanto dinámica como estáticamente En la creación no simultánea y terminación síncrona, se utilizan las directivas fork, para la creación dinámica de un proceso o hebra y join para sincronización del padre con el hijo. En la creación simultánea y terminación asíncrona, se utilizan las directivas spawn para la creación de los procesos o hebras y join para sincronización del padre con el hijo. En la creación no simultánea y terminación asíncrona, se utiliza la directiva spawn para crear tareas/procesos en distintos momentos.
Denunciar test Consentimiento Condiciones de uso