Programación en Paralelo con MPI en Clusters Linux
|
|
|
- Purificación Villalba García
- hace 10 años
- Vistas:
Transcripción
1 Programación en Paralelo con MPI en Clusters Linux Francisco Javier Rodríguez Arias 13 de marzo de 2006
2 Problema y Motivación En física se requiere hacer muchos cálculos. Para eso se hacen programas de cálculo, normalmente los hacemos en Fortran ó C/C++. Específicamente en una aplicación que tenía, requería un tiempo de ejecución extremádamente grande. Esto motivó a que buscara una solución a ese problema. La solución fue paralelizarlo. 1
3 Qué es programación en paralelo? Programación en paralelo es una técnica de programación, que permite ejecutar una misma tarea en distintos procesadores. Se pueden clasificar distintos modelos de programación en paralelo: Paralelizar Data: Conocido como Single Instruction/Multiple Data (SIMD). Un mismo conjunto de instrucciones se aplica simultáneamente sobre distintos datos. Paralelizar Tareas: Conocido como Multiple Instruction/- Multiple Data (MIMD). Distintas instrucciones se aplican sobre datos distintos. 2
4 Otros modelos Otro modelo es el de SPMD (Single Program/Multiple Data) que en realidad puede reducirse al caso MIMD. Implementaciones El MPI está diseñado para MIMD. Mientras que el HPF u OpenMP están diseñado más para SIMD. 3
5 Ejemplos de SIMD En SIMD cada proceso se encarga de una parte de la data, aplicándose sobre cada parte las mismas instrucciones. Operaciones aritméticas vectoriales/matriciales. 4
6 Qué es un Cluster? Un Cluster de computadoras es un conjunto de computadoras conectadas entre sí, que trabajan una tarea relacionada, de tal forma que parecen una gran computadora. Cada procesador de cada computadora se puede considerar un nodo del Cluster. Cuando se habla de programación en paralelo, se entiende que los distintos procesos que se quieren ejecutar en paralelo se distribuirán a través de los distintos nodos de un Cluster. Entonces podemos tener computadoras con multiprocesador, que tendrían varios nodos del Cluster. 5
7 Utilidad La mayor utilidad de la paralelización es la ganancia en velocidad de la ejecución. Hay que tener en cuenta que no todo problema/algoritmo puede ser paralelizable. Y si lo es, no necesariamente hay una ganancia en velocidad, puesto que debemos considerar el tiempo de comunicación entre los procesos. 6
8 Un modelo simple de la velocidad de un programa en paralelo es: T = T p p + T s + T c T : Tiempo total. T p : Tiempo de la parte paralelizable. p: Cantidad de procesadores. T s : Tiempo de la parte serial (no paralelizable). T c : Tiempo de comunicación. Es 0 cuando p = 1. 7
9 Qué es MPI? MPI = Message Passing Interface Es una librería independiente del lenguaje de programación. Existen implementaciones para Fortran, C y C++. Facilita la comunicación entre procesos distintos. Funciona haciendo un fork del programa. Pudiéndose distribuir los procesos en distintos procesadores, ubicados en una o varias máquinas. 8
10 Qué ventajas tiene el MPI? El MPI permite distribuir sus nodos tanto en distintas computadoras como en distintos procesadores en una misma computadora. Permite también que se asignen varios procesos a un mismo procesador, así pues si se tiene un Cluster heterogéneo de computadoras, se puede, por ejemplo, asignar más procesos (es decir, más tareas) a los procesadores más rápidos. 9
11 Implementación usada La implementación del MPI usada fue LAM/MPI, que es una implementación del estándar MPI (implementado el MPI- 1.2 completo, y muchas cosas del MPI-2). Esta implementación está hecha sólo para GNU/Linux, lo que hace una necesidad el usar ese sistema operativo en todas las computadoras que conformen parte del Cluster. 10
12 Instrucciones básicas del MPI Las instrucciones básicas del MPI cubren 3 aspectos: Inicialización y terminación del MPI. Identificación de quién soy y cuántos somos. Envío y recepción de mensajes entre los procesos. 11
13 Inicialización y terminación del MPI Todo programa MPI debe comenzar con la instrucción: MPI Init(&argc, &argv); Y debe terminar con: MPI Finalize(); 12
14 Identificación de quién soy y cuántos somos Con las siguientes instrucciones se puede obtener la información básica de los nodos, es decir, cuántos son, y cuál soy. int myrank; // Numero de proceso. int nprocs; // Numero total de procesos. MPI Comm rank(mpi COMM WORLD, &myrank); MPI Comm size(mpi COMM WORLD, &nprocs); 13
15 Envío y recepción de mensajes entre los procesos Las instrucciones que soportan el esqueleto de todo programa MPI son: Enviar mensaje: MPI Send(buffer, contador, tipodato, destino, tag, MPI COMM WORLD); Recibir mensaje: MPI Recv(buffer, maxcontador, tipodato, origen, tag, MPI COMM WORLD, &status); 14
16 Instrucciones colectivas El MPI provee de instrucciones colectivas, que se aplican a todos los procesos al mismo tiempo. Las funciones colectivas básicas son las necesarias para enviar información desde un proceso al mismo tiempo a todos los demás, y recibir, aplicando una operación, la información de todos los procesos en uno solo. Éstas son: MPI Bcast(buffer, contador, tipodato, root, MPI COMM WORLD); MPI Reduce(sendbuf, recvbuf, contador, tipodato, operacion, root, MPI COMM WORLD); 15
17 Ejemplo básico: cálculo de PI #include "mpi.h" #include <stdio.h> #include <math.h> int main(int argc, char argv[]) { int done = 0, n, myid, numprocs, i; double PI25DT = ; double mypi, pi, h, sum, x; MPI Init(&argc,&argv); MPI Comm size(mpi COMM WORLD,&numprocs); MPI Comm rank(mpi COMM WORLD,&myid); while (!done) { if (myid == 0) { printf("introduzca la cantidad de intervalos: (0 sale) "); scanf(" %d",&n); 16
18 } } MPI Bcast(&n, 1, MPI INT, 0, MPI COMM WORLD); if (n == 0) break; h = 1.0 / (double) n; sum = 0.0; for (i = myid + 1; i <= n; i += numprocs) { x = h ((double)i 0.5); sum += 4.0 / (1.0 + x x); } mypi = h sum; MPI Reduce(&mypi, &pi, 1, MPI DOUBLE, MPI SUM, 0, MPI COMM WORLD); if (myid == 0) printf("pi es aproximadamente %.16f, Error %.16f\n", pi, fabs(pi PI25DT)); } MPI Finalize(); return 0; 17
19 Esquema del ejemplo 18
20 Desventajas de ese esquema El esquema utilizado en el ejemplo, es considerado un esquema de paralelización eficiente, pues divide en forma simple y equitativa la tarea. La desventaja que puede tener es que el tiempo de la parte paralelizada, será lo que se demore el proceso más lento. Esto es especialmente fastidioso si el cluster es muy heterogéneo y cuenta con procesadores de distintas velocidades. Dependerá el problema a resolver el esquema de paralelización a usar. 19
21 Maestro/Esclavo En el esquema maestro/esclavo, se tiene un proceso principal (maestro) que se encarga de asignarle tareas a los demás procesos (esclavos). 20
22 Aplicación Real: Especificaciones del problema Para un proyecto de un curso, que luego formó parte de un proyecto de la DAI, necesitaba hacer unos cálculos ligeramente complejos. Esa parte se titulaba Aspectos Fenomenológicos de la Física de Neutrinos Masivos. Necesitaba calcular un espectro (una especie de histograma), que era resultado de la convolución de una integral (es decir, una doble integral), en que para cada punto de la curva sobre la que se integraba, se necesitaba resolver una sumatoria doble, y en la cual, en cada elemento se necesitaba la solución de una ecuación diferencial matricial (3x3 de números complejos, que se resolvía usando Runge Kutta de orden 4). (Tiempo aproximado por cálculo 1 2 min). 21
23 Además, ese espectro se necesitaba obtener para ciertos parámetros dados (6 parámetros), que se variaban en una malla de puntos (de 6 dimensiones). Por simplicidad, se fijaban cortes de estos parámetros, y se dejaban dos parámetros, que serían los que se variarían. Entonces para cada par de valores de estos parámetros se realizaba el cálculo mencionado. Para cada corte, se necesitaban en un primer cálculo, unos puntos para obtener resultados razonables. Considerando 1 min por punto, se necesitarían 166 horas para obtener el resultado final de un corte. 22
24 Aplicación Real: Herramientas usadas Para resolver ese problema, se trabajó en un entorno Red Hat. Se usaron los siguientes compiladores: g++, gcc, g77. La implementación de MPI usada fue LAM/MPI. Para la generación de los gráficos se usó: GNUPlot, PAW y Root. El conjunto de programas desarrollados consta de más de líneas de código. 23
25 Aplicación Real: Atacando el problema En este problema, muchas fases del cálculo podían ser paralelizables. Las integrales, las sumatorias, las ecuación diferencial. Pero para simplificarlo, reduje la paralelización, a nivel del cálculo de un punto de la malla. Atacaría el problema usando un esquema maestro/esclavo, en el cual la tarea nuclear sería el cálculo de un punto de la malla. Bajo este esquema, se tiene un proceso maestro, que es el que tiene en su espacio de memoria, toda la malla, y manda a cada proceso esclavo la tarea de calcular el espectro correspondiente para un punto de esa malla. 24
26 Detallando esquema Para detallar mejor el esquema, aquí está el pseudocódigo de la parte paralelizada: Inicializar MPI Identificarse como proceso Si soy maestro (proceso 0), generar lista (malla) y hacer la Tarea Maestro. Si no soy maestro, soy esclavo, entonces hacer la Tarea Esclavo. 25
27 Tarea Maestro Inicializar seguir como la cantidad de procesos más la cantidad de puntos. Inicializar n = 0 Mientras seguir > 0 Recibir cualquier mensaje de cualquier proceso. Si identificador de mensaje es Estoy Libre entonces Si n < cantidad de tareas (es decir, falta tareas por hacer) entonces Enviar mensaje al proceso del que se recibió (desde ahora source) informando que se le mandará una tarea. Enviar a source el número de tarea. Enviar a source la información de la tarea. Incrementar n. 26
28 Si no hay más tareas Enviar mensaje a source informando que no hay más tareas, que ya pare su ejecución. Decrementar seguir. Si identificador de mensaje es Mando Solución de Tarea, entonces Recibir número de tarea de source. Recibir el objeto con la data de la tarea. Decrementar seguir. 27
29 Tarea Esclavo Mientras seguir Enviar mensaje a maestro con identificador Estoy Libre Recibir mensaje de maestro, que le dirá si quedan o no tareas, es decir si va a seguir o no Si seguir, entonces Recibir de maestro el número de tarea. Recibir de maestro la data de la tarea. Calcular el resultado de la tarea pedida. Enviar mensaje a maestro con identificador Mando Solución de Tarea Mandar número de tarea Mandar data de la tarea, incluyendo resultados. 28
30 Código Aquí están las partes importantes del código. Este primer método es ejecutado en todos los procesos: int kamland::generalistatodoa(const setdata estadoinicial, const setdata estadofinal, const setdata cantidades, const setdata tipocambio, int baseusada) { int indice, i, j, k, ini, nuevoselementos; / Variables sobre la malla / kamlandtest anterior; elementosultimatarea = 0; 29
31 int quiensoy, cuantossomos; tiempoultimatarea = MPI Wtime(); MPI Comm size ( MPI COMM WORLD, &cuantossomos ); MPI Comm rank ( MPI COMM WORLD, &quiensoy ); if ((cuantossomos > 1) && (quiensoy!= 0)) return esclavogeneralistatodo(quiensoy); / / aqui esta el codigo para generar la malla obviado por ser varias paginas que no vienen al caso. if (cuantossomos > 1) return maestrogeneralistatodo(ini, ini + nuevoselementos, cuantossomos); for(i = 0; i < nuevoselementos; i++) { indice = ini + i; 30
32 } generaelemento(indice); // Calculo de LA TAREA } tiempoultimatarea = MPI Wtime() tiempoultimatarea; return 0; 31
33 Código: Tarea Maestro int kamland::maestrogeneralistatodo(int inicial, int final, int cuantos) { int seguir, n, siseguir, noseguir; MPI Status status; siseguir = 1; noseguir = 0; seguir = cuantos 1 + final inicial; n = inicial; while(seguir) { MPI Recv(0, 0, MPI INT, MPI ANY SOURCE, MPI ANY TAG, MPI COMM WORLD, &status); if (status.mpi TAG == KTAGLIBRE) { if (n < final) { 32
34 MPI Send(&siseguir, 1, MPI INT, status.mpi SOURCE, KTAGLIBRE, MPI COMM WORLD); MPI Send(&n, 1, MPI INT, status.mpi SOURCE, KTAGINFO, MPI COMM WORLD); lista[n].enviarme(status.mpi SOURCE, KTAGINFO, 2); n++; } else { MPI Send(&noseguir, 1, MPI INT, status.mpi SOURCE, KTAGLIBRE, MPI COMM WORLD); seguir ; } } else if (status.mpi TAG == KTAGMANDO) { int i; MPI Recv(&i, 1, MPI INT, status.mpi SOURCE, KTAGINFO, MPI COMM WORLD, &status); lista[i].recibirme(status.mpi SOURCE, KTAGINFO, 1); 33
35 } lista[i].kcurva.datax = testbase.kcurva.datax; lista[i].kcurva.externodatax = 1; seguir ; } } tiempoultimatarea = MPI Wtime() tiempoultimatarea; return 0; 34
36 Código: Tarea Esclavo int kamland::esclavogeneralistatodo(int numeroesclavo) { int seguir, n; MPI Status status; lista = new kamlandtest[1]; while (seguir) { MPI Send(0, 0, MPI INT, 0, KTAGLIBRE, MPI COMM WORLD); MPI Recv(&seguir, 1, MPI INT, 0, KTAGLIBRE, MPI COMM WORLD, &status); if (seguir) { MPI Recv(&n, 1, MPI INT, 0, KTAGINFO, MPI COMM WORLD, &status); lista[0].recibirme(0, KTAGINFO, 2); generaelemento(0); // Calculo de LA TAREA elementosultimatarea++; MPI Send(0, 0, MPI INT, 0, KTAGMANDO, MPI COMM WORLD); 35
37 } MPI Send(&n, 1, MPI INT, 0, KTAGINFO, MPI COMM WORLD); lista[0].enviarme(0, KTAGINFO, 1); } } tiempoultimatarea = MPI Wtime() tiempoultimatarea; return numeroesclavo; 36
38 Referencias html/i program.html 37
4. Programación Paralela
4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios
Preliminares. Tipos de variables y Expresiones
Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un
Computacion de Alto Performance
Computacion de Alto Performance Abraham Zamudio Abraham Zamudio Computacion de Alto Performance 1/47 Indice 1 Algunos Aspectos Teoricos 2 Paralelismo Computacional 3 Linux Cluster Hardware Software 4 MPICH
MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes.
Programación paralela en MPI MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Introducción a MPI MPI fue creado en 1993 como
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
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
Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA
CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción: arquitecturas
SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler
Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,
Heterogénea y Jerárquica
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Computación Híbrida, Heterogénea y Jerárquica Contenidos 1 Sistemas 2 Paralelismo anidado 3 Programación híbrida
Novedades en Q-flow 3.02
Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye
Resolución de problemas en paralelo
Resolución de problemas en paralelo Algoritmos Paralelos Tema 1. Introducción a la computación paralela (segunda parte) Vicente Cerverón Universitat de València Resolución de problemas en paralelo Descomposición
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 Para la realización del presente examen se dispondrá de 2 1/2
CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler
Bizagi Process Modeler Copyright 2011 - Bizagi Tabla de Contenido CRM- Gestión de Oportunidades de Venta... 4 Descripción... 4 Principales Factores en la Construcción del Proceso... 5 Modelo de Datos...
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
1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
GUIA PARA GENERAR PROSPECTOS Y VENTAS EN WEB
GUIA PARA GENERAR PROSPECTOS Y VENTAS EN WEB La importancia de estar en Internet -70% De los compradores antes de comprar hace búsquedas por internet. -Compañías que hacen Internet Marketing obtienen 150
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
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)
INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware
INTRODUCCIÓN Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware INTRODUCCIÓN METAS: Brindar un entorno para que los usuarios puedan
SIIGO Pyme. Procesos Gestión de Ventas. Cartilla I
SIIGO Pyme Procesos Gestión de Ventas Cartilla I Tabla de Contenido 1. Presentación 2. Cuál es la función del Módulo de Gestión de Ventas? 3. Cuál es la Ruta para Ejecutar Procesos en el Modulo de Gestión
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
Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Colegio Salesiano Don Bosco Academia Reparación Y Soporte Técnico V Bachillerato Autor: Luis Orozco. Subneteo
Subneteo La función del Subneteo o Subnetting es dividir una red IP física en subredes lógicas (redes más pequeñas) para que cada una de estas trabajen a nivel envío y recepción de paquetes como una red
Manual de Usuario Comprador. Módulo Administración de Presupuesto. www.iconstruye.com. Iconstruy e S.A. Serv icio de Atención Telefónica: 486 11 11
Manual de Usuario Comprador www.iconstruye.com Módulo Administración de Presupuesto Iconstruy e S.A. Serv icio de Atención Telefónica: 486 11 11 Índice ÍNDICE...1 DESCRIPCIÓN GENERAL...2 CONFIGURACIÓN...3
MANUAL DE USUARIO APLICACIÓN SYSACTIVOS
MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014
Tutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1
Tutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1 La función del Subneteo o Subnetting es dividir una red IP física en subredes lógicas (redes más pequeñas) para que cada una de estas
PROBLEMAS CON SU CLAVE? Cliente Nuevo Puedo solicitar acceso a la Banca en Línea (Contrato Uso de Canales de Autoatención) a través del Portal?
Persona Jurídica o Empresa PROBLEMAS CON SU CLAVE? Cliente Nuevo Puedo solicitar acceso a la Banca en Línea (Contrato Uso de Canales de Autoatención) a través del Portal? Puede obtener toda la información
Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.
COMO FUNCIONA INTERNET Internet es una gran red de ordenadores a nivel mundial, que pueden intercambiar información entre ellos. Se pueden comunicar porque están unidos a través de conexiones telefónicas,
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
Generalidades Computacionales
Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos).
Instituto Tecnológico de Celaya
LENGUAJES Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de palabras,
Manual de uso. Manual de uso - citanet 1
Manual de uso Manual de uso - citanet 1 1. Requisitos previos a la instalación... 3 2. Primer inicio de la aplicación.... 3 2.1. Pantalla de inicio de sesión.... 3 2.2. Datos de la empresa y configuración
Introducción a las redes de computadores
Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:
Sistemas Operativos Práctica 3
Sistemas Operativos Práctica 3 Ing. Andrés Bustamante [email protected] Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Estructuras de datos: Proyecto 2
Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe
Estructura de Computadores I Arquitectura de los MMOFPS
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA Estructura de Computadores I Arquitectura de los MMOFPS Integrantes: Luis Castro Valentina Yévenes RESUMEN Los MMOG (Massively Multiplayer Online Game), son juegos
Capitulo 5. Implementación del sistema MDM
Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo
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
INTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA
INTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA INTERNET Es una red mundial descentralizada, constituida por ordenadores que se conectan mediante un protocolo especial de comunicación, Internet Protocolo
Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado
Capítulo VI Estudio de Caso de Aplicación del Integrador de Información Desarrollado 6.1 Organización elegida La Organización elegida para el caso de aplicación, es la empresa CTM Tours del grupo Costamar,
Versión 1.0. BOLETÍN (JUNIO 2009) a2móvil PC. a2 softway C. A.
Versión 1.0 BOLETÍN (JUNIO 2009) a2móvil PC a2 softway C. A. VERSIÓN 1.0 a2móvil PC e-mail [email protected] www.a2.com.ve Maracaibo-Venezuela Capítulo 1 a2móvil PC. La aplicación a2móvil le permitirá
Modelo de aplicaciones CUDA
Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas
El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */
Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera
Capítulo 4. Llamada Telefónica En este capítulo se explicará la manera en que se configuraron las herramientas web (PHP y APACHE), y el programa de comunicación Skype, para controlar de manera dinámica
Medias Móviles: Señales para invertir en la Bolsa
www.gacetafinanciera.com Medias Móviles: Señales para invertir en la Bolsa Juan P López..www.futuros.com Las medias móviles continúan siendo una herramienta básica en lo que se refiere a determinar tendencias
INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):
INFORMÁTICA IE MÓDULO INTERNET Términos a conocer y conceptos básicos World Wide Web (WWW): Digamos, simplemente, que es un sistema de información, el sistema de información propio de Internet. Sus características
Mantenimiento Limpieza
Mantenimiento Limpieza El programa nos permite decidir qué tipo de limpieza queremos hacer. Si queremos una limpieza diaria, tipo Hotel, en el que se realizan todos los servicios en la habitación cada
Centro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
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
Qué es el Software Libre? Algunos principios básicos
Qué es el Software Libre? Algunos principios básicos Beatriz Busaniche Fundación Vía Libre http://www.vialibre.org.ar Qué es el software? El Software es un
Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido
Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6
MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso
MICQ Facultad de Ingeniería, UBA. Junio 2002 Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35 Cátedra: Pablo Cosso Alumno: Diego Fernando Montaldo 75.300 1 de 1 Introducción Este documento
Aproximación local. Plano tangente. Derivadas parciales.
Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación
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
Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.
Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa
picojava TM Características
picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar
Actividades de Divulgación del Centro Atómico Bariloche. Qué hay detrás de un programa de computadora? Daniela Arnica Pablo E. Argañaras.
Actividades de Divulgación del Centro Atómico Bariloche Qué hay detrás de un programa de computadora? Expositores: Daniela Arnica Pablo E. Argañaras División Mecánica Computacional Gerencia de Investigación
SISTEMAS DE COORDENADAS SISTEMA COORDENADO UNIDIMENSIONAL
SISTEMAS DE COORDENADAS En la vida diaria, nos encontramos con el problema de ordenar algunos objetos; de tal manera que es necesario agruparlos, identificarlos, seleccionarlos, estereotiparlos, etc.,
Manual de Usuario Comprador Presupuesto
Manual de Usuario Comprador Presupuesto Servicio de Atención Telefónica: 5300569/ 5300570 Descripción General El módulo Presupuesto tiene la finalidad de ayudar a las empresas a tener un control de gestión
PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato Contenido Introducción...1 Dato...1 Valor...1 Tipo de Dato...2 Tipo Abstracto
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
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:
Ecuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
RELACIONES DE RECURRENCIA
Unidad 3 RELACIONES DE RECURRENCIA 60 Capítulo 5 RECURSIÓN Objetivo general Conocer en forma introductoria los conceptos propios de la recurrencia en relación con matemática discreta. Objetivos específicos
28.- Manejo de los Feriados
28.- Manejo de los Feriados El feriado anual o vacaciones pagadas es el derecho del trabajador con más de un año de servicios a hacer uso de un descanso anual de 15 días hábiles, con remuneración íntegra,
SIEWEB. La intranet corporativa de SIE
La intranet corporativa de SIE por ALBA Software Acceso a los servicios SIE desde páginas Web para los usuarios de sistema *. Administración del Sistema (cuentas de usuarios, permisos, servicios, etc...)
Haciendo pruebas sobre Splinter
Haciendo pruebas sobre Splinter Esta clase analizaremos cómo automatizar el navegador web, algo que nos puede permitir realizar carga de datos masiva o pruebas de integración. La herramienta que utilizaremos
LICENCIATURA EN EDUCACION FISICA RECREACION Y DEPORTES
CORREO ELECTRONICO PEDRONEL CASTAÑO GARCES UNIVERSIDAD DEL ATLANTICO LICENCIATURA EN EDUCACION FISICA RECREACION Y DEPORTES Página 1 QUE ES UN CORREO ELECTRÓNICO Un Correo electrónico, es una herramienta
M.T.I. Arturo López Saldiña
M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil
Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable
Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)
QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES?
QUE ES COMLINE MENSAJES? Comline Mensajes es una plataforma flexible, ágil y oportuna, que permite el envío MASIVO de MENSAJES DE TEXTO (SMS). Comline Mensajes integra su tecnología a los centros de recepción
GUIA PARA EL USUARIO
GUIA PARA EL USUARIO DIRECCION GENERAL Dr. Heriberto Simón Hocsman Carlos Pelegrini 739 6º 14 Buenos Aires - Argentina - CP 1009 Tel. 4394-0000 - Fax 4393-8224 Email: [email protected] GUIA PARA
Seven ERP Guía De Referencia - Imágenes
Seven ERP Guía De Referencia - Imágenes Digital WARE Ltda. Calle 72 # 12-65 P.2 Bogotá, Colombia 2004 Digital Ware, Ltda. Todos Los Derechos Reservados Toda la documentación utilizada en Seven ERP está
Sintaxis y Convenciones de Java. M. en C. Erika Vilches
Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando
Sistema de Facturación de Ventas WhitePaper Enero de 2007
Sistema de Facturación de Ventas WhitePaper Enero de 2007 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna Valencia Spain T +34 96 338 99 66 [email protected] Please Recycle PrefSuite Document
Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo
LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS
LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS Los clientes compran un servicio basandose en el valor que reciben en comparacion con el coste en el que incurren. Por, lo tanto, el objetivo a largo plazo
Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1.
Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1. Anjuta es un entorno de desarrollo de C que podemos encontrar en cualquier distribución de GNU/Linux. Si nuestra distribución no dispone de ella,
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
MODELO DE COSTOS ABC
MODELO DE COSTOS ABC El ABC (siglas en inglés de "Activity Based Costing" o "Costo Basado en Actividades") se desarrolló como herramienta práctica para resolver un problema que se le presenta a la mayoría
MANUAL DE AYUDA MODULO TALLAS Y COLORES
MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3
MEDICION DEL TRABAJO
MEDICION DEL TRABAJO Habíamos dicho al comenzar el curso que habían 4 técnicas que permiten realizar una medición del trabajo 1 Técnicas Directas: - Estudio de tiempos con cronómetro - Muestreo del trabajo
NOTA DE APLICACIÓN AN-P002. Programando Wiring con NXProg
NOTA DE APLICACIÓN AN-P002 Programando Wiring con NXProg Este documento se encuentra protegido por una licencia Creative Commons Creative Commons: Atribution, Non-commercial, Share Alike Atribución: Puede
6. DESCRIPCIÓN DEL SOFTWARE
Capítulo 2. Equipo 6. DESCRIPCIÓN DEL SOFTWARE 6.1 Introducción El equipo de medida descrito en el capítulo anterior lleva asociado un software que hace de sistema de control del proceso de medición. Este
Institución Educativa Inem Felipe Pérez de Pereira 2012 Estrategia taller. AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10
Grado 10º Tiempo (semanas) GUÍA DE FUNDAMENTACIÓN Institución Educativa AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10 Fecha Real 1 2 3 4 5 6 7 8 9 10 Área/proyecto: es y Mantenimiento
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA
COMO FUNCIONA INTERNET
COMO FUNCIONA INTERNET Fuente: http://www.areatecnologia.com/informatica/como-funciona-internet.html Vamos a explicar los conceptos básicos de Internet que todo el mundo debería conocer. Internet es una
3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC
MÓDEM-GSM INDICE 1. INTRODUCCIÓN Centro Integrado Politécnico ETI Departamento de Electricidad 2. CONFIGURACIÓN PUERTO SERIE CPU 3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE
Mi Cobertura Móvil. Preguntas frecuentes.
Mi Cobertura Móvil. Preguntas frecuentes. 1. Qué es? Mi Cobertura Móvil es un servicio móvil Movistar que proporciona cobertura Movistar 3G en interiores que dispongan de una conexión fija Movistar ADSL.
Estimado tutor de WachyWachy,
Estimado tutor de WachyWachy, Esta es una guía del funcionamiento de la plataforma. Te recomendamos que dediques un poco de tiempo a leerla atentamente, ya que aprender como funciona te permitirá comenzar
Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS
Instalación y mantenimiento de servicios de Internet U.T.3.- Servicio DNS 1 Qué es el servicio DNS? A los usuarios de Internet les resulta complicado trabajar con direcciones IP, sobre todo porque son
Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu
Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu En este capítulo se describe el diseño de un sistema, denominado HuSystem, planteado para cumplir dos objetivos: Búsqueda
4 Pruebas y análisis del software
4 Pruebas y análisis del software En este capítulo se presentan una serie de simulaciones donde se analiza el desempeño de ambos sistemas programados en cuanto a exactitud con otros softwares que se encuentran
La Pirámide de Solución de TriActive TRICENTER
Información sobre el Producto de TriActive: Página 1 Documento Informativo La Administración de Sistemas Hecha Simple La Pirámide de Solución de TriActive TRICENTER Información sobre las Soluciones de
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
Unidad IV: TCP/IP. 4.1 Modelo Cliente-Servidor
Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte. Unidad IV: TCP/IP 4.1 Modelo
