Marco Mancini Justo. línies. ELASTIC, Cluster, Computación de altas prestaciones, MRNet, MATE, Dyninst, Optimización guiada por plugins

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

Download "Marco Mancini Justo. línies. ELASTIC, Cluster, Computación de altas prestaciones, MRNet, MATE, Dyninst, Optimización guiada por plugins"

Transcripción

1 TFG EN ENGINYERIA INFORMÀTICA, ESCOLA D ENGINYERIA (EE), UNIVERSITAT AUTÒNOMA DE BARCELONA (UAB) 1 Designing an Elastic Package: The plugin for ELASTIC, a dynamic tuning for large-scale applications framework Marco Mancini Justo Resumen Dentro de los esfuerzos para mejorar el desempeño de aplicaciones en clusters, el Departamento de Arquitectura de Computadores y Sistemas Operativos de la Escuela de Ingeniería de la UAB creó la herramienta ELASTIC. Esta herramienta permite monitorizar, analizar y sintonizar aplicaciones inyectando código en tiempo ejecución dentro de un cluster altamente paralelo sin una gran penalización por comunicaciones, a diferencia de todas las aplicaciones disponibles que cumplen esta tarea. Para poder tener una comunicación eficiente, ELASTIC crea una red de nodos con MRNet que le permite aplicar sus algoritmos de forma jerárquica en una red en árbol. ELASTIC necesita para poder cumplir sus cometidos plugins especializados para cada aplicación que va optimizar. De ésta manera, el programador tiene que darle la inteligencia a ELASTIC para que pueda monitorizar los elementos necesarios, analizarlos para saber cuándo actuar y saber cómo sintonizar el programa de la manera más adecuada. Este trabajo de fin de grado se aplica sobre el prototipo de ELASTIC que, pese a haber presentado resultados, necesita un trabajo de ingeniería del software para poder facilitar su uso a futuros usuarios. En este trabajo se especificará cómo se hace un ELASTIC PACKAGE (El plugin de ELASTIC) desde el punto de vista del programador. línies. ELASTIC, Cluster, Computación de altas prestaciones, MRNet, MATE, Dyninst, Optimización guiada por plugins Abstract Within the efforts to improve the performance of applications in clusters the department of computer architecture and operative systems of the engineering school of UAB built ELASTIC. This tool can do monitoring, analyzing and tuning of applications injecting code on execution time in a highly parallel cluster without a big overheat when the problem scales into the thousands of nodes. To mitigate the overheat of the communications, ELASTIC uses a network of nodes launched with MRNet that allows to executes it's algorithms in a tree based network. To achieve it's purpose, ELASTIC needs specialized plugins for every application it wants to optimize. That's because the programmer has to give his knowledge to ELASTIC in order to know what to monitor, how to analyze it and how to tune the application accordingly. This paper works on the ELASTIC prototype because, even if it proved it's viability, it lacks a proper documentation and a user's manual. Our objective is to ease the work of future programmers wanting to develop plugins for their programs to benefit from ELASTIC. This paper and further documents will specify how to build and understand the structure of an ELASTIC PACKAGE (plugin) from a programmers viewpoint. Index Terms ELASTIC, cluster, High performance computing, MRNet, MATE, DyinInst, Plugin driven optimization 1* E mail de contacte: marco.mancini@e campus.uab.cat 2* Menció realitzada: Enginyeria de Computadors 3* Treball tutoritzat per: Eduardo Cesar (Computer Architecture and Operating Systems Department) Curs 2014/15

2 2 EE/UAB TFG INFORMÀTICA: DESIGNING AN ELASTIC PACKAGE 1 INTRODUCCIÓN Este paper se basa en ELASTIC, una herramienta creada para optimizar aplicaciones dentro de entornos computacionales a gran escala. Esta herramienta se creó como un prototipo por lo que hacía falta un trabajo extra para que fuera posible usarlo en otros proyectos. Era necesario aplicar diseño del software a los Elastic Packages de tal manera que se minimizara el tiempo necesario para poder usar la herramienta en diferentes programas. Pese a ser un trabajo con una gran carga de diseño del software está dentro de la mención de ingeniera de los computadores por las características de la herramienta y el hecho de que es una herramienta puntera en el campo de la computación de altas prestaciones. En este trabajo me he encontrado con dos prototipos de ELASTIC y nula documentación, a partir de ahí he conseguido localizar y analizar las funcionalidades en las cuales participan los Elastic Packages. Con todo ello, he diseñado y refactorizado acordemente el código para facilitar la creación de Elastic Packages en el futuro. 1.1 Organización del documento El resto del documento sigue la siguiente organización: En la sección 2, Estado del Arte, hablaremos del contexto en el que nace la linea de investigación que ha dado lugar a ELASTIC y en qué situación se encuentra. En la sección 3, Objetivos, y 4, Metodología, se tratan las bases para éste Trabajo de Fin de Grado. En la sección 5, ELASTIC, se describe la herramienta y la arquitectura sobre la que se sustenta. En la sección 6, ELASTIC Packages, se describen de los plugins para la herramienta de tal manera que el programador pueda tener una referencia de su estructura. En la sección 7, Arquitectura funcional de ELASTIC, se expone la ejecución y función de la herramienta. En la sección 8, Resultados, se resume lo aprendido de ELASTIC y se detallan las funciones de los programadores en el desarrollo de ELASTIC Packages. La sección 9 será las Conclusiones, la 10 Agradecimientos y 11, Bibliografía 2 ESTADO DEL ARTE En el mundo de las aplicaciones de altas prestaciones el rendimiento y la eficiencia de los programas es un tema de capital importancia. Esto se debe a que los recursos utilizados son caros en cuanto a hardware y energía. Cualquier mejora en el rendimiento permite ahorrar centenares o incluso miles de euros por cada ejecución de un programa. Por ello, encontramos muchas lineas de investigación abiertas en diferentes universidades y centros de investigación que se dedican a crear herramientas que ayuden a los programadores a implementar aplicaciones que puedan ser ejecutadas en entornos de altas prestaciones de forma eficiente. Hoy en día hay varias herramientas para aumentar el rendimiento de aplicaciones de altas prestaciones. La mayoría de ellas se basan en el análisis del código y pruebas de ejecución para determinar si una aplicación es eficiente o puede ser mejorada. Hay herramientas que además aconsejan cómo mejorar la aplicación. Este trabajo se centra en un herramienta que hace análisis/sintonización modificando parámetros para poder optimizar a tiempo real la ejecución de una aplicación sin tener que recompilarla. Esto es importante porque cubre un nicho de aplicaciones que otras herramientas no pueden tratar, como son las aplicaciones que en cada ejecución pueden evolucionar de forma distinta a partir de los valores de inicio. Éstas aplicaciones necesitan crear un sistema de evaluación y optimización para cada aplicación teniendo en cuenta cómo puede evolucionar y los parámetros que se quieren optimizar. ELASTIC permite tener una herramienta generalista para que el programador no tenga que crear un sistema de optimización entero, sino que tan sólo con adaptar un plugin a sus necesidades sea suficiente para poder optimizar su aplicación. Además, está especialmente adaptada para entornos con un gran numero de nodos. Se basa para ello en una red jerárquica. Mediante un sistema de resumen de la información permite que un solo nodo llegue a tener una visión general de una aplicación a gran escala sin sobrecargar la red.

3 AUTHOR ET AL.: MARCO MANCINI JUSTO 3 Hay varias aplicaciones que hacen un análisis automático y pueden trabajar en entornos con un gran numero de elementos; véanse, por ejemplo, Paradyn [1], Scalasca [2], TAU [3] y Periscope [4]. Sin embargo, ninguna de ellas está orientada al análisis/sintonización de las aplicaciones en tiempo de ejecución. Por ello se creó dentro de DACSO (Departamento de Arquitectura de Computadores y Sistemas Operativos) un grupo de investigación en herramientas de sintonización automática/dinámica de aplicaciones paralelas basadas en plugins. Los resultados de este grupo de investigación han sido: ( 2004 MATE [5] ) Herramienta de análisis/sintonización centralizada. Ésta herramienta fue la predecesora de ELASTIC. En ella se usa DynInst [7] para poder monitorizar, analizar y sintonizar aplicaciones mediante la inyección de código en tiempo de ejecución. ELASTIC aprovecharía gran parte de este programa y lo mejoraría utilizando MRNet [8] puesto que en MATE, cuando el volumen de nodos escalaba demasiado, el rendimiento se veía muy comprometido por la sobrecarga en las comunicaciones. ( 2012 ELASTIC [6] ) Herramienta análisis/sintonización distribuida de forma jerárquica. Utilizando los dos prototipos que se crearon para hacer la prueba de concepto se ha preparado el diseño general de los ELASTIC Packages. 3 OBJETIVOS El objetivo final de este trabajo de fin grado (TFG) es definir, diseñar e implementar la interfase para la definición de los plugins (ELASTIC Packages) de la herramienta. El prototipo de ELASTIC debería tener diferenciado de forma teórica por una parte el programa ELASTIC, que es el que provee de todas las herramientas para instrumentalizar un programa y optimizarlo en un cluster con un esfuerzo razonable y, por otra, los ELASTIC Packages. El único esfuerzo del equipo que quiera optimizar su implementación con ELASTIC tendría que ser la creación de los ELASTIC Packages. Son pequeños plugins que contienen todo el conocimiento del equipo que ha diseñado el programa a optimizar. Adjuntándolos a ELASTIC, éste último tendría todo lo necesario para mejorar la eficiencia del programa que está siendo instrumentalizado. En este TFG se encontrará cómo está asociado el modulo que hace de plugin en las implementaciones que se hicieron como prueba de concepto. Después se refactorizará el programa para poder separar de ELASTIC lo que supondrá el modulo del Elastic Package. 4 METODOLOGÍA Para este Trabajo de Fin de Grado (TFG) he aplicado una metodología en cascada. Las primeras dos entregas de informes estaban dedicadas al análisis del entorno (MRNet, dyninst) y luego de ELASTIC para poder luego poder diseñar y implementar los ELASTIC Packages. Esta metodología en cascada se cumplió durante el tiempo de análisis hasta que se llegó a la parte de analizar con detenimiento ELASTIC. Subestimé el tiempo necesario para poder comprender todo el código y sus funciones puesto que pese a desde un principio ser la parte principal del trabajo no fue suficiente. El problema principal fue sin duda la falta de documentación y la inconsistencia de los comentarios. La etapa de diseño entonces se retrasó más de lo esperado, haciendo que el objetivo final de llevar a cabo las pruebas funcionales se retrasara. Se ha hecho una implementación, refactorizando el código para tener separado el código de los Elastic Packages del resto de ELASTIC. Pero las pruebas funcionales quedaron fuera del tiempo del proyecto. 5 ELASTIC ELASTIC implementa una mejora vital a su predecesor MATE en que puede aplicarse sobre una ejecución a gran escala. MATE tenía un nodo central que era el encargado de recibir toda la información de los nodos, analizarla y enviar las ordenes de sintonización para corregir lo que el programador hubiera previsto necesario. Este acercamiento tiene un punto débil. Cuando el entorno escala mucho en nombre de elementos la comunicación con el nodo

4 4 EE/UAB TFG INFORMÀTICA: DESIGNING AN ELASTIC PACKAGE supervisor se convierte en un cuello de botella. Por ello, ELASTIC implementa una red de nodos supervisores que se distribuyen en capas para paralelizar sus funciones. Para poder llevar a cabo esto sin que a su vez la red de supervisores sea un cuello de botella, crean una abstracción del programa como se ve en la figura 1. La segunda y más importante es la paralelización de la comunicación, eliminando la necesidad de enviar toda la información a un nodo. Así pasando a tener un número escalable de nodos, los cuales se intercambian información entre sí. Esto se hace a cambio de utilizar más recursos y enviar más mensajes. Esto es debido a que hay más procesos extra de análisis. Además la abstracción y traducción generan una cantidad extra de mensajes. Pese a esto, en la tesis sobre ELASTIC se demuestra que la mejora en el rendimiento hace que los costos sean perfectamente asumibles. Figura 1, representación de la red jerárquica de supervisores. Los nodos que están en contacto con la aplicación real recogen los datos de ésta, los analizan y hacer una abstracción. La forma de abstraer los datos es algo que elige el programador dependiendo de la información importante que se puede extraer de un grupo de eventos de diferentes nodos. La información resumida es enviada a la capa superior donde a su vez es resumida y enviada a la capa superior hasta que llega a una capa final, la cual tendrá una visión de toda la ejecución. Lo cual hace que el nodo que tiene la información de toda la ejecución tenga una carga mucho menor de comunicación que su equivalente en MATE. Una vez un nodo detecta que la ejecución debe ser optimizada crea eventos en forma de órdenes de sintonización que empiezan a bajar en la jerarquía propagándose a todos los hijos del nodo que ha dado la orden. Hasta que dichas ordenes llegan a los nodos en contacto con la aplicación real que envían las ordenes de sintonización a la aplicación. Este paradigma tiene dos ventajas importantes respecto a su predecesor: La primera, es que hay una paralelización del trabajo de análisis, permitiendo que se pueda hacer un análisis más potente sin que repercuta en exceso en el tiempo extra de ejecución. 5.1 Estructura interna de la jerarquía FE (Front End) Son los nodos de jerarquía más alta, siendo los más alejados de la información de la aplicación real. CP (Middle Node) Son los nodos intermedios. Tienen padres y a la vez hijos, siendo los dos virtuales. Por lo que tienen que abstraer y traducir información dentro de la jerarquía pero no hablan directamente con la aplicación real. BE (Back End). Son los nodos de jerarquía más baja. Son los más numerosos y son los que están en contacto con la aplicación real. Abstractor ATM. El Abstractor se encarga de sintetizar la información para luego transmitirla a los nodos de jerarquía superior. El ATM, por el contrario, se encarga de dar las ordenes de sintonización a la jerarquía inferior. Figura 2, Esquema de jerarquía de comunicación

5 AUTHOR ET AL.: MARCO MANCINI JUSTO 5 6 ELASTIC PACKAGE 6.1 Funciones de los EP Monitorización La monitorización es el proceso mediante el cual ELASTIC puede recolectar información de variables de la aplicación que quiere optimizar. Estas variables no las escoge ELASTIC sino el programador de la aplicación a optimizar. Este elige cuáles son las variables que necesitará ELASTIC para poder llevar a cabo un análisis sobre el estado de la aplicación. Usando la API de DMLib el programador puede hacer que cuando ELASTIC lance la red de supervisores mediante MRNet inyecte código dentro de la aplicación. De tal manera que las variables que el programador ha decidido se envíen mediante una conexión de sockets a los nodos BE. En el caso de los nodos CP y FE la etapa de monitorización se lleva a cabo de la misma manera que en el BE. Exceptuando la inyección código dentro de la aplicación, puesto que los nodos CP y FE recibirán su información de la aplicación virtual. Todas las variables entre nodos se transmiten mediante un paso de mensajes. La aplicación, ya sea la real o la virtual, genera eventos que contienen las variables a monitorizar y un timestamp. Luego cada nodo recogerá de su pool de eventos cada evento y extraerá la información que luego será analizada. 6.2 Funciones de los EP Análisis Cada nodo, ya sea un BE, un CP o un FE analiza los datos que le llegan. Todos aplican un algoritmo decidido por el programador de la aplicación que será el encargado de comprobar si la ejecución se está desarrollando como se prevee. En caso contrario y dentro de los parámetros que haya especificado el programador se lanzará una orden de sintonización para arreglar el problema que haya surgido. 6.3 Funciones de los EP Tuning Cada nodo puede generar una orden de tuning después de analizar su pool de eventos. Esta orden es un imperativo para aplicar algún cambio al programa, tal como pasar una variable a una función de la aplicación, crear, mover y/o eliminar threads o cambiar parámetros de ejecución. Estas ordenes se pueden dar en todos los niveles, por lo cual el primer supervisor en encontrar un problema dará ordenes a sus subordinados para arreglarlo. Estos eventos de tuning se propagarán por la jerarquía hasta llegar a la aplicación real y activarán un protocolo de tuning. El programador será el encargado de definir e implementar el protocolo de tuning que se inyectará en la aplicación para optimizarla. 6.4 Funciones de los EP Abstraer/Traducir ELASTIC crea una red en árbol de supervisores. Para ser eficiente, cada nivel del árbol abstrae o concreta la información que dispone para poderla mover dentro del árbol sin crear una sobrecarga en la comunicación. Las etapas de monitorización y tuning, pese a que no se ha especificado antes, requieren en gran medida de este proceso. La monitorización empieza con eventos que provienen de la aplicación real. Cada nodo a su vez abstrae la información, creando un resumen que envía a la jerarquía superior. A medida que subimos en la jerarquía cada evento representa la información en un conjunto mayor de nodos. Para llevar a cabo la abstracción, el programador tiene que definir un algoritmo que resuma la información de cada nivel. El evento resultante será enviado al pool de eventos del supervisor del nodo. Los eventos de tuning pueden ser generados en cualquier nodo por lo que, cuando un eventos de tuning se genera en un nodo que no tiene contacto con la aplicación real, tiene que ser traducido. Dicha traducción será enviada a los nodos que cuelgan de éste. La traducción sigue un algoritmo que será definido por el programador. Dicho algoritmo reparte las ordenes que ha generado un nodo a sus N hijos. Estas órdenes se propagarán por la aplicación, saltando de un pool de eventos de ordenes de tuning a otro. Cuando finalmente llegan al pool de un BE, no se traducirá más y se aplicará la orden de tuning a la aplicación real. 7 ARQUITECTURA DE UN ELASTIC PACKAGE La ejecución de ELASTIC está guiada por sus plugins y por ende por el programador. En esta sección se explicará de qué etapas está compuesta la ejecución de ELASTIC en las cuales el

6 6 EE/UAB TFG INFORMÀTICA: DESIGNING AN ELASTIC PACKAGE programador tiene que decidir qué se tiene que hacer y cómo. La primera etapa es la inicialización. INIT Dentro de la inicialización hay varias etapas que el programador tiene que concretar. 1. Ejecutar la aplicación: El programador tiene que especificar dentro de ELASTIC y en su script de lanzamiento el programa a instrumentalizar. 2. Creación de la red de MRNet: Para esta etapa el programador tiene que especificar el número de nodos supervisores y el tamaño de cada capa. Los parámetros se pueden especificar en el script de lanzamiento. 3. Instrumentalización con DMlib y DynInst: Una vez la red está creada, ELASTIC iniciará la inyección de código para empezar a monitorizar. Para ello el programador tiene que definir qué variables del programa han de ser monitorizadas. Con este fin existe la API de DMlib que ofrece una serie de funciones para poder hacer la inyección de las variables elegidas por el programador. Cuando la aplicación esté instrumentalizada y funcionando, empezará periódicamente a enviar eventos que se acumularán en el pool de eventos de cada nodo BE. A partir de aquí podemos dar por finalizada la etapa de inicialización y empieza el flujo principal. La etapa principal está orquestada por la función Check_Execution. Dicha función se encarga de coordinar las distintas tareas que se llevan a cabo en cada nodo. El flujo de datos entre las tareas se puede observar en la figura Monitor: El pool de eventos se va llenando, por lo que periódicamente Check_Execution llama a una función creada por el programador con el objetivo de extraer la información dentro de los eventos para poder ser analizada. Para más información sobre los eventos en el anexo se explican con detalle las propiedades de la clase event y eventrecorder que son las que el programador tendrá que tratar para poder extraer la información del pool. 2. Analyze: La información extraída de los eventos es enviada a una función de análisis que retornará si hay algún problema o no. Esta función contiene un algoritmo hecho por el programador para que ELASTIC pueda decidir en función de la información de los eventos si hay que hacer tuning en la aplicación o no. Idealmente el algoritmo debería cumplir tres funciones: La primera, poder evaluar la desviación del estado de la ejecución actual frente a una ejecución ideal. Segunda, tener un rango de valores de desviación eficientes. Esto es debido a que un rango que se active demasiado a menudo provocaría una sobrecarga de ordenes de tuning. Por otro lado si las ordenes de tuning se generan en casos muy contados es muy probable que la propia ejecución de la monitorización y análisis de ELASTIC provoque una sobrecarga en la ejecución. Y tercera, poder generar no solo el aviso de que hay un problema sino además tener varios escenarios identificados dependiendo de las características de las desviación. Con el objetivo de poder tener protocolos de tuning distintos para casos distintos. Figura 3, Esquema del flujo de datos entre los módulos de Check_Execution

7 AUTHOR ET AL.: MARCO MANCINI JUSTO 7 Se haya detectado un problema o no en la información que se ha analizado, si el nodo que lo ha hecho es un BE o un CP debe abstraer la información a sus supervisores. Para ello, el programador tiene que implementar un algoritmo que resuma la información que acaba de ser analizada. En el anexo se explican un poco las funciones y estructuras de datos que necesitará el programador para llevar a cabo la abstracción. Dicho algoritmo no tiene restricciones desde el punto del entorno pero debería tener en cuenta dos aspectos: Uno, el volumen del resumen. Idealmente debe tener el tamaño mínimo para no sobrecargar la red de comunicación, a la vez que genera un evento que permita a los supervisores tener una visión general de la aplicación de forma eficiente. Dos, el tipo de evento que genera el Abstractor. Se puede generar un nuevo tipo de variable dependiendo de si está hablando de la aplicación real o de una aplicación virtual. Esta consideración es importante porque en el caso de cambiar el tipo de variable habría que añadir casos especiales dependiendo del tipo de nodo que esté observando el pool. 3. Tuning: En el caso de que la función Analyze retorne un valor que indique que hay un problema. Check_Execution activará la función de tuning para que se encargue de generar una orden de tuning. El programador tiene que especificar el algoritmo para optimizar la aplicación. Para llevar a cabo el tuning ELASTIC inyectará instrucciones dentro de la aplicación basándose en la API de Dmlib, por lo que las acciones están limitadas. Para más información el anexo Task Class contiene los métodos que se pueden utilizar para hacer tuning. Por último comentar que las ordenes solo actuarán sobre la aplicación real en el caso de que sea el BE quien lleve a cabo la orden de tuning. En los demás tipos de nodos se llamará a Translator. 4. Translator: Cuando hay ordenes de tuning en el pool, si están en un nodo CP o FE estas órdenes se tienen que transmitir a los nodos subordinados para que se propague dentro de la jerarquía. Para ello el programador tiene que definir un algoritmo para propagar las ordenes de tuning. Consideraciones que hay que tener sobre este aspecto: Como se está enviando ordenes a todos los hijos, es vital utilizar las funciones que provee ELASTIC para los nodos extraigan información de sus hijos de tal manera que se pueda repartir las ordenes de forma precisa. Para más información en el anexo hay una añadido sobre estas funciones de ELASTIC. 8 RESULTADOS Los objetivos de este trabajo eran por una parte definir una interfaz para que el usuario de ELASTIC pudiera usarlo con facilidad (mediante los EP) y, crear una versión funcional en la cual estuviera un EP claramente definido. Sobre ELASTIC dividiría lo obtenido en, por un lado, la lógica de análisis y, por otro, la monitorización e instrumentalización. El módulo análisis, junto con el paso de mensajes entre los diferentes supervisores, fue una de las prioridades puesto que esto era la principal aportación que se había hecho con ELASTIC. La monitorización y tuning con el programa, sin embargo, es algo que se conserva de MATE ya que utiliza la API de Dmlib para llevarlo a cabo. Se hizo una clasificación de los diferentes archivos que formaban ELASTIC para saber cuales pertenecían enteramente a MATE, cuáles se habían editado para crear ELASTIC y, por último, cuáles se habían editado para generar las diferentes versiones. Se refactorizó el código para poder separar la lógica de análisis que el programador tendría que definir del resto de ELASTIC al crear los EP. Después de hacer la experimentación se iban a refactorizar los elementos necesarios para monitorizar e instrumentalizar. Pero se consideró mejor centrarse en el análisis y la comunicación entre los diferentes niveles de los nodos dicha experimentación quedó fuera del tiempo del proyecto por las dificultades añadidas en la experimentación al tener que hacerlo en cluster del CRAG [9]. 9 CONCLUSIONES Este trabajo de fin de grado pertenece a una linea de investigación del DACSO, por lo que una de las prioridades al cerrar este trabajo es documentar todo lo aprendido y generar una

8 8 EE/UAB TFG INFORMÀTICA: DESIGNING AN ELASTIC PACKAGE manual del programador para ayudar a los investigadores futuros a trabajar con ELASTIC y disminuir el tiempo de aprendizaje que necesiten para poder implementar mejoras en ELASTIC. Dentro del trabajo futuro que hay que hacer en la aplicación es prepararla completamente para poder usar en aplicaciones reales. La línea de trabajo futura debería ser en orden: Acabar la implementación de los EP con pruebas funcionales. Crear EP para poder atajar gran variedad de situaciones y generalizar el código junto con hacer un trabajo de estilo para arreglar todos los problemas de inconsistencias de comentarios, de nombres de funciones y cableado en el código. Aplicar la ingeniería del software al resto de ELASTIC como se aplicó en MATE para tener una estructura mucho más clara para mejoras que se quieran hacer al código principal de ELASTIC. Subir a un repositorio junto con tutoriales de uso y una serie de ejemplos para minimizar el tiempo de aprendizaje. Applications PhD dissertation, Dept. Informática., UAB., Bellaterra, Spain., [6] A, Martinez. Dynamic Tuning for Large Scale Parallel Applications PhD dissertation, Dept. Of CAOS., UAB., Bellaterra, Spain., [7] Dyninst Programmer's Guide Release 8.1 Paradyn Tools Project, [8] MRNet API Programmer's Guide. Release Paradyn Tools Project, [9] J, Navarro. G, Vera. Integrating Computational Resources between CRAG and HPCA4SE CRAG., UAB., Bellaterra, Spain., [10] Royce, Winston. "Managing the Development of Large Software Systems p/process/waterfall.pdf Retrieved 15 October [11] N, Fernandez. Aplicación de la ingeniería del software sobre la herramienta MATE: Common y DMLib Bsc dissertation, Dept. of CAOS., UAB., Bellaterra, Spain., [12] R, Echeverría. Aplicación de la ingeniería software sobre la herramienta MATE Analyzer Bsc dissertation, Dept. Of CAOS., UAB., Bellaterra, Spain., Anexo 10 AGRADECIMIENTOS A Eduardo Cesar por tener paciencia para escuchar mi montaña de dudas y teorías detectivescas. 11 BIBLIOGRAFIA [1] Official Paradyn website, last check january 2015 [2] G,Michael Gerndt, Periscope Tuning Framework: Automatic Performance Engineering for HPC PPE/Periscope%20Tuning%20Framework.pdf Retrieved 25 january 2015 [3] TAU (Tuning and Analysis Utilities) website, hp last check january 2015 [4] Official Scalasca website, checked january 2015 [5] A, Morajko Dynamic Tuning of Parallel/Distributed A1. CLASES DE LA API DE DMLIB Esta lista propiedades proviene de la tesis de MATE. Las siguientes clases son las que componen la API de DMlib. Application class Properties Name name of the running program NumActiveTasks number of tasks actually running Tasks a collection of Task objects Hosts a collection of Host objects that form the virtual machine MasterTask references the master task of the application Status application status information MonitoredEvents collection of events being monitored in all the tasks Methods Start executes the application AddEvent adds a definition of new event to be traced in all running tasks of the application

9 AUTHOR ET AL.: MARCO MANCINI JUSTO 9 RemoveEvent removes previously added event from all running tasks LoadLibrary load a shared library to all running tasks UnloadLibrary removes a previously loaded shared library from all running tasks SetVariableValue modifies a value of a specified variable in a given set of tasks ReplaceFunction replaces all calls to a function with calls to another one in a given set of tasks InsertFunctionCall inserts a new function invocation code at a given location in a given set of tasks InsertOneTimeFunctionCall inserts a new function invocation code in a given set of tasks and calls it once FunctionParameterChange sets the value of an input parameter of a given function in a given set of tasks RemoveFunctionCall removes all calls to a given function from the given caller function in a given set of tasks Callbacks SetTaskHandler installs a callback function that is called when a new task is started or existing one is terminated SetHostHandler installs a callback function that is called when a new host is added to the virtual machine or an existing one is removed Task class Properties Id globally unique task id Name process name FilePath file path of the task image Host reference to the host object this task is running on IsRunning indicates if the task is still running Status task status information MonitoredEvents collection of events being monitored in this tasks TuningActions a collection of tuning actions performed in this task Methods AddEvent adds a definition of new event to be traced in this task RemoveEvent removes previously added event from this task LoadLibrary load a shared library to this task UnloadLibrary removes a previously loaded shared library from this task SetVariableValue modifies a value of a specified variable in the running task ReplaceFunction replaces all calls to a function with calls to another one in this task InsertFunctionCall inserts a new function invocation code at a given location in this task InsertOneTimeFunctionCall inserts a new function invocation code in this task and invokes it once FunctionParameterChange sets the value of an input parameter of a given function in this task RemoveFunctionCall removes all calls to a given function from the given caller function in this task Callbacks SetTaskExitHandler installs a callback function that is called when this task terminates Event class Properties Id globally unique event id FunctionName name of the function this event is associated to InstrPlace function entry or exit NumAttributes number of event attributes Attributes a collection of attributes to be recorded with this event Callbacks SetEventHandler installs a callback function that is called each time a record of this event is delivered Attribute class Properties Source indicates source for attribute value (i.e. constant value, function parameter value, variable value, function return value) ValueType data type of the attribute value (i.e. integer, float, etc.) SourceId identifies the object to be used as a source (i.e. variable name, function name to be called, index of function parameter) EventRecord class Properties EventId globally unique event id Event references event object this record is associated to Timestamp indicates when the event happened Task references a task that generated this event

10 10 EE/UAB TFG INFORMÀTICA: DESIGNING AN ELASTIC PACKAGE AttributeValues a collection of recorded attribute values EventHandler class Methods HandleEvent called to handle an event record TaskHandler class Methods TaskStarted called when a new task is started TaskTerminated called when a task is terminated HostHandler class Methods HostAdded called when a new host is added to the virtual machine HostRemoved called when a host is removed from the virtual machine Por último comentar que en el proceso de abstracción cuando se envía la información a los nodos de jerarquía más alta entra en juego una función que crea un evento virtual y lo envía. PacketPtr parent_packet(newpacket(cur_packet- >get_streamid(), cur_packet->get_tag(), "%d %d %d %ld %d", state->rank_comm, id_event, id_iteracion, mean_iter_time, total_agents)); packets_out.push_back( parent_packet ); Siendo en este ejemplo mean_iter_time una variable resumen utilizada en uno de los prototipos de ELASTIC. Por otro lado con el evento creado parent_packet la linea final lo envía al pool de eventos del padre del nodo actual. A2. FUNCIONES DE AYUDA PARA CREAR UN EP ELASTIC al usar una arquitectura distribuida de los nodos necesita varias funciones que den información sobre la red. Un parámetro muy importante es en qué nivel de la jerarquía se encuentra el nodo actual. Para conseguir esto hay una estructura de datos que contiene toda la información de la red por lo que después de hacer las siguientes operaciones. //Get NET Network* net = const_cast< Network*>( topolinfo.get_network()); //Get information about the node bool is_be = net->is_localnodebackend(); bool is_fe = net->is_localnodefrontend(); bool is_cp = net->is_localnodeinternal(); Cada nodo tendrá los flags, is_be, is_fe y is_cp que le servirán para saber dónde se encuentra. De la estructura net se puede extraer información sobre la red. Como por ejemplo la cantidad de hijos que tiene un nodo.

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

Práctica del paso de generación de Leads

Práctica del paso de generación de Leads Práctica del paso de generación de Leads La parte práctica de este módulo consiste en poner en marcha y tener en funcionamiento los mecanismos mediante los cuales vamos a generar un flujo de interesados

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Manual del Usuario. Sistema de Help Desk

Manual del Usuario. Sistema de Help Desk Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

TOPICOS IV: ING. YIM APESTEGUI FLORENTINO

TOPICOS IV: ING. YIM APESTEGUI FLORENTINO 1 2 MIGRACIÓN DE DATOS E INTEGRACIÓN ENTRE SISTEMAS. Actividades propias de la INGENIERÍA DE SISTEMAS E INF. Se requiere conocimientos técnicos y fundamentales. Planificación y Ejecución. 3 PROCESO DE

Más detalles

MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE

MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE PROFESOR: Creación y puesta en marcha de un proceso de aprendizaje Delphi: En esta fase el profesor debe realizar las

Más detalles

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final INTRODUCCION En principio surgió la idea de un buscador que brinde los resultados en agrupaciones de

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

Sistema para el control y tramitación de documentos SITA MSc. María de la Caridad Robledo Gómez y Ernesto García Fernández.

Sistema para el control y tramitación de documentos SITA MSc. María de la Caridad Robledo Gómez y Ernesto García Fernández. Sistema para el control y tramitación de documentos SITA MSc. María de la Caridad Robledo Gómez y Ernesto García Fernández. CITMATEL Ave 47 e/18 A y 20, Playa, Ciudad de La habana, CP 10300 Cuba. E mail:

Más detalles

Aplicación para la gestión de prácticas en empresas. Memoria

Aplicación para la gestión de prácticas en empresas. Memoria Aplicación para la gestión de prácticas en empresas. Memoria El proyecto se basa en la creación de una aplicación para la gestión de prácticas curriculares en empresas de los alumnos de la Facultad de

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

Gestión de Oportunidades

Gestión de Oportunidades Gestión de Oportunidades Bizagi Suite Gestión de Oportunidades 1 Tabla de Contenido CRM Gestión de Oportunidades de Negocio... 4 Elementos del Proceso... 5 Registrar Oportunidad... 5 Habilitar Alarma y

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

Manual de Desarrollado de Módulos en Español. Version 1.0-4 Beta. Escrito por: Bruno Macias V.

Manual de Desarrollado de Módulos en Español. Version 1.0-4 Beta. Escrito por: Bruno Macias V. Manual de Desarrollado de Módulos en Español Version 1.0-4 Beta Escrito por: Bruno Macias V. (bomv.27@gmail.com) Introducción Módulo Developer Este gran módulo distribuido en tres submódulos hasta la presente

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Microsoft HPC. V 1.0 José M. Cámara (checam@ubu.es)

Microsoft HPC. V 1.0 José M. Cámara (checam@ubu.es) Microsoft HPC V 1.0 José M. Cámara (checam@ubu.es) Introducción Microsoft HPC (High Performance Computing) es la solución de Microsoft a la computación de alto rendimiento. Está enfocado principalmente

Más detalles

Diseño orientado al flujo de datos

Diseño orientado al flujo de datos Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Conclusiones. Particionado Consciente de los Datos

Conclusiones. Particionado Consciente de los Datos Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser

Más detalles

Race Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL

Race Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL GUIA RACE MANAGER Eventronic, SL DESCRIPCIÓN DEL PROGRAMA El Race Manager es un programa que se creó para facilitar el trabajo de la dirección de carrera de un evento durante y después de una carrera.

Más detalles

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual Área Académica: Licenciatura Sistemas Computacionales Materia: Gestión de Proyectos Profesor: Lic. Virginia Arguelles Pascual Periodo: Julio-Diciembre Tema: El proceso de software y métricas del proyecto.

Más detalles

Deberemos escoger de nuestro equipo humano un responsable de la implementación (si no queremos hacerlo personalmente).

Deberemos escoger de nuestro equipo humano un responsable de la implementación (si no queremos hacerlo personalmente). LA IMPLEMENTACIÓN DE UN SISTEMA DE CALIDAD EN UN RESTAURANTE. POR Luís Codó Pla CUANDO IMPLEMENTAR EL SISTEMA Todo restaurante conoce, o debería conocer, cuáles son sus momentos de mayor afluencia de trabajo.

Más detalles

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios CAPÍTULO 2 Sistemas De De Multiusuarios Un sistema multiusuario es un sistema informático que da servicio, manera concurrente, a diferentes usuarios mediante la utilización compartida sus recursos. Con

Más detalles

Curso Técnico de JDE - OW

Curso Técnico de JDE - OW Curso Técnico de JDE - OW Agosto 2006 Index 1. Objetos utilizados en OW... 3 1.1. Tipos de Objetos... 3 1.2. Arquitectura de un desarrollo. Interacción entre objetos... 3 2. Administración de objetos...

Más detalles

Contratación e Integración de Personal

Contratación e Integración de Personal Contratación e Integración de Personal Bizagi Suite Contratación e Integración de Personal 1 Tabla de Contenido Contratación e Integración... 2 Elementos del proceso... 5 Viene de Selección y Reclutamiento?...

Más detalles

SISTEMA DE REGISTRO DE TRANSACCIONES BURSATILES BAGSA MANUAL DE USUARIO

SISTEMA DE REGISTRO DE TRANSACCIONES BURSATILES BAGSA MANUAL DE USUARIO SISTEMA DE REGISTRO DE TRANSACCIONES BURSATILES BAGSA MANUAL DE USUARIO Consideraciones Iniciales I. El sistema está desarrollado bajo un entorno web por lo que puede ser accedido desde cualquier cliente

Más detalles

5.4. Manual de usuario

5.4. Manual de usuario 5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin

Más detalles

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE MARZO 2007 Este documento contesta las preguntas más frecuentes que se plantean las organizaciones que quieren

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Capítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias

Capítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias Capítulo 5: Pruebas y evaluación del sistema 5.1 Definición de pruebas para la aplicación A continuación se muestran una serie de pruebas propuestas para evaluar varias características importantes del

Más detalles

Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic

Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic http://geeks.ms/blogs/jorge/archive/2007/05/09/explicando-scrum-a-mi-abuela.aspx Por

Más detalles

Optimizar base de datos WordPress

Optimizar base de datos WordPress Optimizar base de datos WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com WordPress se ha convertido en uno de los CMS más utilizados en todo el mundo. Su robustez,

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

2 EL DOCUMENTO DE ESPECIFICACIONES

2 EL DOCUMENTO DE ESPECIFICACIONES Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir

Más detalles

2014 Néstor A. Jiménez J. Derechos reservados. Celular 3155003650

2014 Néstor A. Jiménez J. Derechos reservados. Celular 3155003650 Diplomado Práctico en NORMAS INTERNACIONALES DE INFORMACIÓN FINANCIERA (NIIF) Tema 24: Estados financieros separados NIC 27 Estados financieros consolidados NIIF 10 Estados financieros separados y consolidados

Más detalles

Contenidos. INFORME ENCUESTA TELEFÓNICA. Curso 2009 10

Contenidos. INFORME ENCUESTA TELEFÓNICA. Curso 2009 10 ENCUESTA DE OPINIÓN DEL ALUMNADO SOBRE LA ACTUACIÓN DOCENTE DEL PROFESORADO UNIVERSIDAD DE SEVILLA Curso 2009-2010 ENCUESTA TELEFÓNICA Contenidos Introducción.... 4 El Cuestionario... 5 El muestreo...

Más detalles

Seguidamente se muestra una pantalla para seleccionar nuestra localización, y comprobamos que la hora y demás es correcto. Podemos hacerlo fácilmente

Seguidamente se muestra una pantalla para seleccionar nuestra localización, y comprobamos que la hora y demás es correcto. Podemos hacerlo fácilmente A continuación se presentarán los diferentes pasos a seguir para la instalación de la distribución de linux Ubuntu 6.06 en su versión Desktop, usando para esto el nuevo instalador gráfico incluido en la

Más detalles

Status Enterprise Guía de Usuario. Parte 9 - Alarmas

Status Enterprise Guía de Usuario. Parte 9 - Alarmas Guía de Usuario Parte 9 - Contenidos 1 RESUMEN 1.1 Tipos de... 3 1.1.1 de Desviación... 3 1.1.2 Alarma de Nivel... 3 1.1.3 Alarma de Límite... 3 1.1.4 Alarma de Tasa de Cambio... 3 1.1.5 Alarma Fuera de

Más detalles

CONSTRUCCIÓN DEL PROCESO TRANSACCIONAL Bizagi Process Modeler

CONSTRUCCIÓN DEL PROCESO TRANSACCIONAL Bizagi Process Modeler Bizagi Process Modeler Copyright 2011 - bizagi Contenido 1. INTRODUCCIÓN A LAS TRANSACCIONES... 3 2. DIAGRAMA DEL PROCESO... 4 SUB PROCESO RESERVA... 5 SUB PROCESO REPORTE DE GASTOS... 8 3. MODELO DE DATOS...

Más detalles

Sección 1: Introducción

Sección 1: Introducción Sección 1: Introducción Bienvenido a la sección de referencias! La primera sección tiene como meta ayudar al facilitador a presentar el curso a los participantes, comenzando con un objetivo muy claro.

Más detalles

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

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

Más detalles

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK. www.formacionhadoop.com

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK. www.formacionhadoop.com CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK www.formacionhadoop.com Índice 1 Qué es Big Data? 2 Problemas con los sistemas tradicionales 3 Qué es Spark? 3.1 Procesamiento de datos distribuido

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

ENVÍO DE E-MAIL POR MEDIO DE SMTP

ENVÍO DE E-MAIL POR MEDIO DE SMTP UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA ELO 322: REDES DE COMPUTADORES I ENVÍO DE E-MAIL POR MEDIO DE SMTP Alumnos Ariel Mancilla G. 2521040-9 Daniel Spataris J. 2521029-8

Más detalles

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Creación de una guia de tutorias de carrera para el profesorado de fisioteràpia.

Creación de una guia de tutorias de carrera para el profesorado de fisioteràpia. Creación de una guia de tutorias de carrera para el profesorado de fisioteràpia. Olga Velasco Roldán, Inmaculada Riquelme Agulló* Memòries dels projectes d innovació 2008-2009 Sumari Resumen...3 Introducción...3

Más detalles

Análisis y diseño del sistema CAPÍTULO 3

Análisis y diseño del sistema CAPÍTULO 3 Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la

Más detalles

Ingeniería en tecnologías de la información y comunicación Administración de proyectos de TI I

Ingeniería en tecnologías de la información y comunicación Administración de proyectos de TI I Ingeniería en tecnologías de la información y comunicación Administración de proyectos de TI I Qué es la administración de proyectos? y Qué es la administración de proyecto es TI? Integrantes: Figueroa

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

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

Más detalles

Planificación en Team Foundation Server 2010

Planificación en Team Foundation Server 2010 Planificación en Team Foundation Server 2010 Planificación y Seguimientos en Proyectos Agile con Microsoft Visual Studio Team Foundation Server 2010 Dirigido a: Todos los roles implicados en un proyecto

Más detalles

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior...

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior... MANUAL DE USUARIO INDICE 1. Introducción... 4 2. El panel Entities view... 5 3. El panel grafico... 6 4. Barra de botones... 6 4.1. Botones de Behavior... 7 4.2. Botones de In-agents... 8 4.3. Botones

Más detalles

Contacto Lespade, Juan Pablo jplespa@infovia.com.ar Dirección: Las Heras 490 Luján (B6700ATJ) Buenos aires Argentina Tel: ++54-2323-434791

Contacto Lespade, Juan Pablo jplespa@infovia.com.ar Dirección: Las Heras 490 Luján (B6700ATJ) Buenos aires Argentina Tel: ++54-2323-434791 Teleinformática Y Redes Trabajo Práctico de Investigación Redes compañero a compañero como soporte de sistemas de archivos distribuidos Lespade, Juan Pablo jplespa@infovia.com.ar División Estadística y

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

IMPLANTACIONES DE ERP. CÓMO CONSEGUIR EL ÉXITO? MasEmpresa

IMPLANTACIONES DE ERP. CÓMO CONSEGUIR EL ÉXITO? MasEmpresa IMPLANTACIONES DE ERP. CÓMO CONSEGUIR EL ÉXITO? MasEmpresa Implantaciones de ERP. Cómo conseguir el éxito?. Parte I Aunque los sistemas de información para la gestión ERPs tienen muchos años de historia,

Más detalles

Proyecto Fin de Carrera

Proyecto Fin de Carrera Proyecto Fin de Carrera Gestión del Proyecto para una Plataforma online de intercambio, compra o venta de ayudas técnicas. Consultora: Ana Cristina Domingo Troncho Autor: Álvaro Fanego Lobo Junio de 2013

Más detalles

Transacciones y bloqueos en SQL-Server

Transacciones y bloqueos en SQL-Server Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos

Más detalles

IE BUSINESS SCHOOL GUÍA DE SESIONES ONLINE PARA PROFESORES

IE BUSINESS SCHOOL GUÍA DE SESIONES ONLINE PARA PROFESORES IE BUSINESS SCHOOL GUÍA DE SESIONES ONLINE PARA PROFESORES GUÍA DE SESIONES ONLINE- 2012 1 Editado por el Departamento de Publicaciones del IE Business School. María de Molina 12, 28006 Madrid, España.

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

ANEXO : PERFILES. Guía de Comunicación Digital para la Administración General del Estado. ANEXO PERFILES

ANEXO : PERFILES. Guía de Comunicación Digital para la Administración General del Estado. ANEXO PERFILES ANEXO : PERFILES Guía de Comunicación Digital para la Administración General del Estado. ANEXO PERFILES ANEXO: PERFILES. 3 1. REQUISITOS ANTES DE TENER EL SITIO WEB. 4 1.1 TOMA DE REQUISITOS. 4 1.2 ANÁLISIS

Más detalles

Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra

Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra Cómo gestiono el Plan Anual de Adquisiciones de mi Entidad en el SECOP II? Crear equipo Crear Plan Anual de Adquisiciones Publicar Plan Anual de Adquisiciones Modificar Plan Anual de Adquisiciones Buscar

Más detalles

EJEMPLO. Práctica de clustering

EJEMPLO. Práctica de clustering Práctica de clustering Preparación de los ficheros binarios Para operar los ficheros binarios se ha utilizado una aplicación en Delphi que permite montar los ficheros ".arff" que usa Weka. La aplicación

Más detalles

Capítulo 3 Marco Metodológico.

Capítulo 3 Marco Metodológico. Capítulo 3 Marco Metodológico. 3.0 METODOLOGÍA DE LA INVESTIGACIÓN 3.1 FORMULACIÓN DE HIPÓTESIS DE TRABAJO 3.1.1 Hipótesis General HG. La creación de un plan estratégico permite mejorar el uso de los servicios

Más detalles

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00 La mayor parte de las dependencias no habían manejado el IVA en los recibos oficiales, que era el documento de facturación de nuestra Universidad, actualmente ya es formalmente un CFD pero para el fin

Más detalles

Capítulo 5. Análisis del software del simulador del sistema de seguridad

Capítulo 5. Análisis del software del simulador del sistema de seguridad 1 Capítulo 5. Análisis del software del simulador del sistema de seguridad Para realizar análisis del simulador de sistema de seguridad se recurrió a diagramas de flujo de datos (DFD s), ya que se consideró

Más detalles

e-mailing Solution La forma más efectiva de llegar a sus clientes.

e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution Es muy grato para nosotros presentarles e-mailing Solution, nuestra solución de e-mail Marketing para su empresa. E-Mailing

Más detalles

MANUAL ECOMMERCE 2.0

MANUAL ECOMMERCE 2.0 MANUAL ECOMMERCE 2.0 1.- INTRODUCCIÓN Nuevas características añadidas al módulo: - Gestión de atributos de productos. - Gestión de cupones - Mejoras en métodos de envío - Descuentos a nivel de productos,

Más detalles

PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación

PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación PLAN DE MEJORAS Herramienta de trabajo Agencia Nacional de Evaluación de la Calidad y Acreditación Índice 1 Introducción...3 2 Pasos a seguir para la elaboración del plan de mejoras...5 2.1 Identificar

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Análisis de los datos

Análisis de los datos Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización

Más detalles

Guía de referencia para mytnt. mytnt. C.I.T Tecnología Aplicada al Cliente cit.es@tnt.com - 902111248

Guía de referencia para mytnt. mytnt. C.I.T Tecnología Aplicada al Cliente cit.es@tnt.com - 902111248 mytnt Índice A mytnt B Acceder a MyTNT por primera vez B.1 Registro en mytnt B.1.1 Registro en mytnt con cuenta TNT B.1.2 Registro en mytnt sin cuenta TNT C Menú principal de MyTNT 1 MODIFICAR CONFIGURACIÓN

Más detalles

Preguntas más frecuentes sobre PROPS

Preguntas más frecuentes sobre PROPS Preguntas más frecuentes sobre PROPS 1. Qué es un modelo? Un modelo es un marco común para toda la organización. Está alineado con los estándares de gestión de proyectos, como PMBOK, ISO10006, ISO9000

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. PROYECTO

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...

Más detalles

Administración de Bases de Datos; Remota e In-Situ.

Administración de Bases de Datos; Remota e In-Situ. TBF Data Services Administración de Bases de Datos; Remota e In-Situ. TBF Data Services es una empresa especializada en tecnología Oracle. Facilitamos servicios de Administración de Bases de Datos (DBA)

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

Cuaderno Red de Cátedras Telefónica

Cuaderno Red de Cátedras Telefónica Los videojuegos y su impacto en el aprendizaje 1 NTIC y Educación Cuaderno Red de Cátedras Telefónica Los videojuegos y su impacto en el aprendizaje Cátedra Telefónica de la Universidad de Deusto Trabajo

Más detalles

Capitulo I. Introducción

Capitulo I. Introducción Capitulo I. Introducción 1.1 Descripción del trabajo El ser humano, como todos sabemos tiene la necesidad de comunicarse, de ser escuchado y sobretodo interactuar con los demás seres vivos que lo rodean.

Más detalles

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 Historia de revisiones Fecha VersiónDescripción Autor 08/10/2009 1.0 Creación del documento.

Más detalles

Informàtica i Comunicacions Plaça Prnt. Tarradellas, 11 17600 FIGUERES (Girona) Tel. 902 88 92 67 Fax 972 671 962 www.cesigrup.es

Informàtica i Comunicacions Plaça Prnt. Tarradellas, 11 17600 FIGUERES (Girona) Tel. 902 88 92 67 Fax 972 671 962 www.cesigrup.es DNS (Domain Name System)...2 La estructura... 2 Servidores DNS e Internet... 3 Dominios... 3 Servidores de nombres... 3 Servidores de nombres Principal y Secundario... 4 Los archivos del DNS... 4 Registro

Más detalles

Seguimiento Académico de los. Estudiantes en Prácticas en Empresa

Seguimiento Académico de los. Estudiantes en Prácticas en Empresa Seguimiento Académico de los Estudiantes en Prácticas en Empresa IT-08 Facultad de Biología TÍTULO: Seguimiento Académico de los Estudiantes en Prácticas en Empresa CÓDIGO: IT-08 Alcance: Grado en Biología

Más detalles

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Uso de la Herramienta Taller de Moodle para la Corrección entre alumnos en la asignatura de Informática del Grado de Biología.

Uso de la Herramienta Taller de Moodle para la Corrección entre alumnos en la asignatura de Informática del Grado de Biología. Uso de la Herramienta Taller de Moodle para la Corrección entre alumnos en la asignatura de Informática del Grado de Biología. Resumen José Luis Pastrana ETSI Informática Campus de Teatinos s/n 29071 Málaga

Más detalles

GUÍA DE USUARIO: GOOGLE DRIVE

GUÍA DE USUARIO: GOOGLE DRIVE GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en

Más detalles

Document Management: La mejor forma de agilizar procesos

Document Management: La mejor forma de agilizar procesos Document Management: La mejor forma de agilizar procesos Hugo Parra Director de Negocios Índice 1. Introducción 2. Antecedentes del Document Management 3. Tendencias del Document Management 4. Ventajas

Más detalles

2_trabajar con calc I

2_trabajar con calc I Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

El reto de la Gestión Documental

El reto de la Gestión Documental El reto de la Gestión Documental Introducción Quizá la pregunta más habitual que nos hacemos al considerar soluciones de Gestión Documental sea cómo puedo digitalizar la enorme cantidad de documentos que

Más detalles

Guía paso a paso para la cumplimentación del formulario de candidatura

Guía paso a paso para la cumplimentación del formulario de candidatura Guía paso a paso para la cumplimentación del formulario de candidatura INDICE 1. INSTRUCCIONES GENERALES... 2 2. PARTENARIADO... 4 3. GRUPOS DE TAREAS... 8 4. INDICADORES... 14 5. CUMPLIMENTACIÓN DEL RESTO

Más detalles