11 resultados para PROGRAMACIÓN PARALELA (COMPUTADORES)

em Repositorio Institucional de la Universidad de Málaga


Relevância:

30.00% 30.00%

Publicador:

Resumo:

Los fundamentos, conceptos y modos de operación de estas máquinas tan comunes hoy en día, son los que tratamos de introducir y desentrañar en este texto. O con otras palabras, este libro está orientado a aquellas personas que alguna vez se han preguntado "¿Cómo es posible que los transistores y puertas lógicas que hay dentro de mi ordenador me permitan editar un archivo o ejecutar un programa que he escrito en Modula o en C?", pregunta, que por otro lado, esperamos se hayan planteado todos nuestros alumnos de asignaturas de introducción a los computadores. Aunque no son del todo necesarios, suponemos que el lector tiene algunos conocimientos de electrónica digital y programación. Pues bien, en este libro precisamente queremos cubrir el desnivel semántico que existe en un sistema computador entre esas dos materias (electrónica digital y lenguajes de alto nivel), contemplando el control microprogramado y cableado, el lenguaje ensamblador y los sistemas operativos, según desglosamos a continuación por temas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La complejidad de los sistemas actuales de computación ha obligado a los diseñadores de herramientas CAD/CAE a acondicionar lenguajes de alto nivel, tipo C++, para la descripción y automatización de estructuras algorítmicas a sus correspondientes diseños a nivel físico. Los proyectos a realizar se encuadran dentro de una línea de trabajo consistente en estudiar la programación, funcionamiento de los lenguajes SystemC y SystemVerilog, sus herramientas asociadas y analizar cómo se adecuan a las restricciones temporales y físicas de los componentes (librerías, IP's, macro-celdas, etc) para su directa implementación. En una primera fase, y para este TFG, se estudiarán los componentes que conforman el framework elegido que es SystemC y su inclusión en herramientas de diseño arquitectural. Este conocimiento nos ayudará a entender el funcionamiento y capacidad de dicha herramienta y proceder a su correcto manejo. Analizaremos y estudiaremos unos de los lenguajes de alto nivel de los que hace uso dicha herramienta. Una vez entendido el contexto de aplicación, sus restricciones y sus elementos, diseñaremos una estructura hardware. Una vez que se tenga el diseño, se procederá a su implementación haciendo uso, si es necesario, de simuladores. El proyecto finalizará con una definición de un conjunto de pruebas con el fin de verificar y validar la usabilidad y viabilidad de nuestra estructura hardware propuesta.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

El objetivo del TFG es ejectuar y documentar el proceso de actualizaci on de un sistema software real de car acter empresarial, perteneciente a la empresa dedicada a las transacciones de divisas Foreign Exchange Solutions SL. El sistema est a implementado en Python 2.7 usando el framework de desarrollo r apido de aplicaciones web Django que, comenzando por su versi on 1.3.1, terminar a al nal del proyecto en la versi on 1.4.10, lo que nos llevar a a tener que actualizar todas las librer as relacionadas, adem as de mejorar la calidad del c odigo e incluso cambiar la estructura del proyecto, prestando adem as especial atenci on a la pruebas unitarias y de regresi on para comprobar el correcto funcionamiento del sistema a lo largo del desarrollo. Todo esto con el n de conseguir las nuevas funcionalidades y caracter sticas que una versi on m as nueva nos ofrece, adem as de mejorar la calidad de la aplicaci on -aumentar la reutilizaci on del c odigo y reducir futuros errores gracias a un c odigo m as sencillo y legible-, aumentar el rendimiento, y obtener una buena cobertura de pruebas. Usaremos adem as la metodolog a agil Scrum, el SGBD PostgreSQL, adem as de otras herramientas como Solr, ElasticSearch, Redis, Celery o Mercurial para el control de versiones.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Unity3d es un motor gráfico para la implementación de videojuegos creado por Unity3d Technologies que tiene el honor de ser una de las principales herramientas que propició el auge de los estudios independientes. Pese a estar enfocado al desarrollo de videojuegos en 3D, los desarrolladores lograban crear contenido en 2D a base de manipulaciones como la cámara y de utilizar herramientas no nativas. Afortunadamente, a partir de la versión 4.3 Unity3d integra herramientas nativas que facilitan esta tarea. Este proyecto consiste en la creación de un tutorial sobre la implementación de un videojuego del género puzles en 2D y enfocado a plataformas móviles, empleando para ello Unity3d y concretamente las nuevas herramientas nativas para 2D. La implementación de un videojuego es una tarea muy complicada y extensa, es por ello que en el tutorial se va a tratar la fase de diseño del videojuego y a nivel de implementación centrarse en dichas herramientas para el 2D, mostrando al final una versión jugable del videojuego implementado. Por otra parte, al ser numerosas las herramientas, es imposible tratar cada una de las herramientas aunque se intentará abarcar lo máximo posible y mencionar las que no se incluyan dentro de la implementación del videojuego. El resultado generado de este proyecto puede constituir una referencia para otras personas interesadas en aprender cómo usar Unity3d para programar videojuegos en 2D, lo cual les allanará seguramente el camino y les suavizará la curva de aprendizaje.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Se observa un desfase entre el concepto de patrimonio cultural que se plasma en los materiales de aula, principalmente libros de texto de la ESO y Bachillerato; y el concepto de patrimonio desde el que la tutela y gestión del patrimonio cultural se define desde mediados del siglo XX. Se proponen fórmulas para renovar la didáctica del patrimonio cultural teniendo como horizonte el Plan Nacional de Educación .

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Uno de los grandes retos de la HPC (High Performance Computing) consiste en optimizar el subsistema de Entrada/Salida, (E/S), o I/O (Input/Output). Ken Batcher resume este hecho en la siguiente frase: "Un supercomputador es un dispositivo que convierte los problemas limitados por la potencia de cálculo en problemas limitados por la E/S" ("A Supercomputer is a device for turning compute-bound problems into I/O-bound problems") . En otras palabras, el cuello de botella ya no reside tanto en el procesamiento de los datos como en la disponibilidad de los mismos. Además, este problema se exacerbará con la llegada del Exascale y la popularización de las aplicaciones Big Data. En este contexto, esta tesis contribuye a mejorar el rendimiento y la facilidad de uso del subsistema de E/S de los sistemas de supercomputación. Principalmente se proponen dos contribuciones al respecto: i) una interfaz de E/S desarrollada para el lenguaje Chapel que mejora la productividad del programador a la hora de codificar las operaciones de E/S; y ii) una implementación optimizada del almacenamiento de datos de secuencias genéticas. Con más detalle, la primera contribución estudia y analiza distintas optimizaciones de la E/S en Chapel, al tiempo que provee a los usuarios de una interfaz simple para el acceso paralelo y distribuido a los datos contenidos en ficheros. Por tanto, contribuimos tanto a aumentar la productividad de los desarrolladores, como a que la implementación sea lo más óptima posible. La segunda contribución también se enmarca dentro de los problemas de E/S, pero en este caso se centra en mejorar el almacenamiento de los datos de secuencias genéticas, incluyendo su compresión, y en permitir un uso eficiente de esos datos por parte de las aplicaciones existentes, permitiendo una recuperación eficiente tanto de forma secuencial como aleatoria. Adicionalmente, proponemos una implementación paralela basada en Chapel.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabajo fin de grado trata sobre la implementación de un simulador cinemático de un robot manipulador industrial, orientado al aprendizaje de los principios de programación y desarrollado mediante la herramienta de software matemático MATLAB, dicho simulador debe tener como características principales ser capaz de emular las características de programación que incorporan los lenguajes a nivel robot y resultar fácilmente accesible a los alumnos de las ingenierías. Asimismo, el simulador tendrá la capacidad de definir los objetos que integran el entorno físico que rodean al robot con el objeto de simular la interacción cinemática del brazo manipulador con dicho entorno. Para ello, primero se realizará un estudio de los lenguajes de nivel robot, en este caso concreto V+, con el objeto de elaborar un catálogo de funciones y estructuras relevantes, concretamente se trataran las estructuras de datos, funciones del robot, etc. A partir de estos, se elaborarán las especificaciones que debe cumplir el simulador cinemático. Por último se realizarán unas prácticas sobre el simulador orientadas al aprendizaje y elaboración de los manuales de usuario del mismo.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Las líneas de productos software son familias de productos que están íntimamente relacionados entre sí, normalmente formados por combinaciones de un conjunto de características software. Generalmente no es factible testar todos los productos de la familia, ya que el número de productos es muy elevado debido a la explosión combinatoria de características. Por este motivo, se han propuesto criterios de cobertura que pretenden probar al menos todas las interacciones entre características sin necesidad de probar todos los productos, por ejemplo todos los pares de características (emph{pairwise coverage}). Además, es deseable testar primero los productos compuestos por un conjunto de características prioritarias. Este problema es conocido como emph{Prioritized Pairwise Test Data Generation}. En este trabajo proponemos una técnica basada en programación lineal entera para generar este conjunto de pruebas priorizado. Nuestro estudio revela que la propuesta basada en programación lineal entera consigue mejores resultados estadísticamente tanto en calidad como en tiempo de computación con respecto a las técnicas existentes para este problema.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

El problema de selección de requisitos (o Next Release Problem, NRP) consiste en seleccionar el subconjunto de requisitos que se va a desarrollar en la siguiente versión de una aplicación software. Esta selección se debe hacer de tal forma que maximice la satisfacción de las partes interesadas a la vez que se minimiza el esfuerzo empleado en el desarrollo y se cumplen un conjunto de restricciones. Trabajos recientes han abordado la formulación bi-objetivo de este problema usando técnicas exactas basadas en resolutores SAT y resolutores de programación lineal entera. Ambos se enfrentan a dificultades cuando las instancias tienen un gran tamaño, sin embargo la programación lineal entera (ILP) parece ser más efectiva que los resolutores SAT. En la práctica, no es necesario calcular todas las soluciones del frente de Pareto (que pueden llegar a ser muchas) y basta con obtener un buen número de soluciones eficientes bien distribuidas en el espacio objetivo. Las estrategias de búsqueda basadas en ILP que se han utilizado en el pasado para encontrar un frente bien distribuido en cualquier instante de tiempo solo buscan soluciones soportadas. En este trabajo proponemos dos estrategias basadas en ILP que son capaces de encontrar el frente completo con suficiente tiempo y que, además, tienen la propiedad de aportar un conjunto de soluciones bien distribuido en el frente objetivo en cualquier momento de la búsqueda.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Los sistemas comerciales que ofrecen memoria transaccional (TM) implementan un sistema hardware best-effort (BE-HTM) con limitaciones. Es necesario programar un fallback software basado en cerrojos para asegurar el progreso de la aplicación. En este artículo se propone un nuevo tipo de irrevocabilidad hardware (un modo transaccional que marca las transacciones como no abortables) para hacer frente a las limitaciones de los sistemas BE-HTM de una manera mas eficiente, y para liberar a al usuario de tener que programar un fallback. Se basa en el concepto de suscripción relajada utilizada o en el contexto de la programación de fallbacks basada o en cerrojos, donde la transacción se suscribe al cerrojo al final de la misma en lugar de al principio. El mecanismo de irrevocabilidad relajada hardware no involucra cambios en el protocolo de coherencia y se compara con su homólogo software, que proponemos como un fallback con suscripción relajada de espera escapada. También proponemos la irrevocabilidad relajada con anticipación, un mecanismo que no se puede implementar en software, y que mejora el rendimiento de las aplicaciones con múltiples reemplazos de bloques transaccionales de caché. La evaluación de las propuestas se lleva a cabo con el simulador Simics/GEMS junto con la suite de benchmarks STAMP, y se obtiene una mejora de rendimiento sobre el fallback del 14% al 28% para algunos benchmarks.