Modelo de aplicaciones CUDA
|
|
|
- Guillermo Hidalgo Rubio
- hace 10 años
- Vistas:
Transcripción
1 Modelo de aplicaciones CUDA
2 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 (cientos o miles) de unidades de procesamiento aritmético.
3 En las GPUs, la mayor parte de la arquitectura está dedicada a cómputo. Lógica de control compleja para la ejecución paralela de código secuencial o incluir memorias cache más rápidas y más grandes para disminuir latencia de instrucciones. La mayor parte de la arquitectura estan dedicada a cómputo y no a técnicas para disminuir la latencia. CPU está compartido por todas las aplicaciones, operacions de E/S, funciones del SO coexistentes en el sistema, etc.
4 En aplicaciones modernas, es frecuente tener secciones de programas que tienen una gran cantidad de paralelismo de datos, que permitirían realizar diversas operaciones aritméticas simultáneas sobre dichos datos de forma correcta.
5 En aplicaciones modernas, es frecuente tener secciones de programas que tienen una gran cantidad de paralelismo de datos, que permitirían realizar diversas operaciones aritméticas simultáneas sobre dichos datos de forma correcta. Procesamiento de bases de datos con secuencias de ADN se emplea el mismo cálculo sobre cada una de las secuencias. Procesamiento de imágenes: se realiza el mismo cálculo sobre cada pixel de la imagen. Predicción de fenómenos naturales (clima, huracanes, incendios forestales, etc etc): una predicción precisa se basa en miles o millones de simulaciones.
6 Problema secuencial A a 0 a 1 a 2 a 3 a N B b 0 b 1 b 2 b 3 b N-1 = c 0 c 1 c 2 c 3 c N-1 C
7 Suma de vectores solución I /* Suma de vectores secuencial */ /* Suma de vectores (inplace) */ int vector_ops_suma_sec(float *v1, float *v2, int dim) { for (int i = 0; i < dim; i++) { v1[i] = v1[i] + v2[i]; } } return 1;
8 Suma de vectores solución I /* Suma de vectores secuencial */ /* Suma de vectores (inplace) */ int vector_ops_suma_sec(float *v1, float *v2, int dim) { for (int i = 0; i < dim; i++) { v1[i] = v1[i] + v2[i]; } } return 1; Complejidad computacional lineal: O(N) donde N es la dimensión de los arreglos.
9 Suma de vectores solución I Tiene orden de complejidad lineal, al aumentar el número de elementos aumenta linealmente la cantidad de operaciones.
10 Suma de vectores solución I Tiene orden de complejidad lineal, al aumentar el número de elementos aumenta linealmente la cantidad de operaciones. Para vectores pequeños la solución es correcta.
11 Suma de vectores solución I Tiene orden de complejidad lineal, al aumentar el número de elementos aumenta linealmente la cantidad de operaciones. Para vectores pequeños la solución es correcta. Para vectores muy grandes este tipo de solución puede ocasionar penalizaciones en el tiempo de cómputo.
12 Suma de vectores Cómo sería una solución paralela? Se puede paralelizar la suma el cálculo de cada elemento del vector resultante es independiente de los demás elementos del vector: A B = C a 0 a 1 a 2 a 3 a N b 0 b 1 b 2 b 3 b N-1 c 0 c 1 c 2 c 3 c N-1 Si contamos con N procesadores, realizamos todos los cálculos al mismo tiempo. Y se resuelve en paralelo todos los resultados del vector. De orden lineal a orden constante
13 Entonces... Tengo una PC re linda... Tengo una GPU que me dicen que es re linda... Tengo dos vectores para sumar... A B Cómo utilizo estas arquitecturas para solucionar mi problema??
14 CUDA (Compute Unified Device Architecture) En Noviembre de 2006 NVIDIA introduce CUDA que hace referencia tanto a un compilador como a un conjunto de herramientas de desarrollo creadas por NVIDIA. CUDA es una arquitectura de software y hardware que permite a GPUs ejecutar programas escritos en C, C++, Fortran, DirectCompute y otros lenguajes.
15 CUDA (Compute Unified Device Architecture) Un programa CUDA es un programa híbrido: Código secuencial se ejecuta en CPU Código paralelo se ejecuta en GPU
16 CUDA (Compute Unified Device Architecture) Un programa CUDA es un programa híbrido: Código secuencial se ejecuta en CPU Código paralelo se ejecuta en GPU Código secuencial Inicializaciones Lectura de datos de entrada. Código paralelo Modelo SIMD - STMD Código secuencial Muestra de resultados Almacenamiento de resultados.
17 CUDA Cómo es la parte paralela de la aplicación? Un programa CUDA invoca a funciones paralelas llamadas kernels. En CUDA: Kernel = función. Un kernel se ejecuta en paralelo a través threads paralelos.
18 CUDA Cómo es la parte paralela de la aplicación? Un programa CUDA invoca a funciones paralelas llamadas kernels. En CUDA: Kernel = función. Un kernel se ejecuta en paralelo a través threads paralelos. El programador decide: el kernel A será ejecutado por n threads A B = C Con n threads que cada uno sume un elemento del vector resultante, consigo ejecutar la suma de vectores en un único paso!!
19 CUDA Un programa CUDA invoca a kernels paralelos. Un kernel se ejecuta en paralelo a través threads paralelos. A B = C Múltiples threads ejecutando el mismo kernel.
20 CUDA Tenemos programas CUDA híbridos, que se ejecutan en CPU y GPU. Tenemos dos arquitecturas que se conectan mediante un conector PCI-Express (no comparten espacio de direccionamiento)
21 Suma de vectores Cómo lo hacemos con CUDA? Este problema ahora implica: Inicialización de arreglos en CPU Transferencia de datos CPU GPU
22 Suma de vectores Cómo lo hacemos con CUDA? Este problema ahora implica: Inicialización de arreglos en CPU Transferencia de datos CPU GPU Cálculo de la suma en paralelo.
23 Suma de vectores Cómo lo hacemos con CUDA? Este problema ahora implica: Inicialización de arreglos en CPU Transferencia de datos CPU GPU Cálculo de la suma en paralelo. Transferencia de datos GPU CPU.
24 Suma de vectores Cómo lo hacemos con CUDA? Este problema ahora implica: Inicialización de arreglos en CPU Transferencia de datos CPU GPU Cálculo en GPU. Transferencia de datos GPU CPU. Modelo de programación CUDA
25 Modelo de programación CUDA CUDA extiende al lenguaje C/C++ incluyendo dos características principales: - Organización y manejo de threads concurrentes. - Manejo de jerarquía de memorias instaladas en la GPU.
26 CUDA extiende al lenguaje C/C++ incluyendo dos características principales: - Organización y manejo de threads concurrentes. thread Jerarquía de threads: thread,
27 CUDA extiende al lenguaje C/C++ incluyendo dos características principales: - organización y manejo de threads concurrentes. thread Jerarquía de threads: thread, bloque, bloque 1, 2 o 3 dimensiones
28 CUDA extiende al lenguaje C/C++ incluyendo dos características principales: - organización y manejo de threads concurrentes. thread Jerarquía de threads: bloque 1, 2 o 3 dimensiones thread, bloque Grid 1 grilla. grilla Block (0,0) Block (1,0) Block (2,0) Grid 2 grilla Block (0,0) Block (1,0) Block (0,1) Block (1,1) 1, 2 o 3 dimensiones
29 CUDA extiende al lenguaje C/C++ incluyendo dos características principales: - Manejo de jerarquía de memorias instaladas en la GPU Memoria local de thread Memorias: Privada de cada thread.
30 CUDA extiende al lenguaje C/C++ incluyendo dos características principales: - Manejo de jerarquía de memorias instaladas en la GPU Memoria local de thread Memoria compartida de bloque Memorias: Privada de cada thread. Compartida por bloque.
31 CUDA extiende al lenguaje C/C++ incluyendo dos características principales: - Manejo de jerarquía de memorias instaladas en la GPU Memoria local de thread Memoria compartida de bloque Grid 1 Block (0,0) Block (1,0) Block (2,0) Memorias: Privada de cada thread. Compartida por bloque. Grid 2 Memoria global Global de toda la aplicación Block (0,0) Block (0,1) Block (1,0) Block (1,1)
32 - Manejo de jerarquía de memorias instaladas en la GPU CUDA ofrece distintas memorias con distintas características: Registros Memoria compartida Memoria global Memoria constante. Algunas de ellas están en caché.
33 Memoria Global: es la más grande y la más lenta. Puede ser leída y escrita por la CPU y por los threads de GPU. Permite comunicar datos entre CPU y GPU. El patrón de acceso a memoria por los threads puede afectar el rendimiento. Memoria Constante: es parte de la memoria global. CPU puede leer y escribir, y es sólo de lectura para GPU threads. Ofrece mayor ancho de banda cuando grupos de threads acceden al mismo dato. Memoria compartida: es pequeña y muy rápida y es compartida por todos los threads de un bloque. Es de lectura/escritura por los threads. Puede comunicar datos entre threads del mismo bloque. Puede verse afectada por el patrón de acceso de los threads. Registros: cada thread utiliza su propio conjunto de registros. El programador no tiene control explícito de los registros, y son utilizados para la ejecución de programas de la misma forma que los registros de propósito general de CPU. Memoria local: es usada por el compilador automáticamente para alojar variables cuando hace falta. Memoria de textura: es controlada por el programador y puede beneficiar aplicaciones con localidad espacial donde el acceso a memoria global es un cuello de botella.
34 Modelo de programación CUDA No todos los problemas pueden ser resueltos usando placas de tipo GPU. Los más adecuados son los que aplican la misma secuencia de código a los datos de entrada.
35 Modelo de programación CUDA Ganaremos con GPU si: El algoritmo tiene orden de ejecución cuadrático o superior: compensar el tiempo de transferencia de datos CPU GPU. Gran carga de cálculo en cada thread (por lo mismo que el item anterior). Poca dependencia de datos. Independencia de cómputo. Puede llevar a acceso a su memoria local o compartida y evita acceder a la global (costosa). Mínima transferencia de datos CPU-GPU: óptimo: principio y final. Evitar tranferencias intermedias, ya sean para resultados parciales o datos de entrada intermedios. No existan secciones críticas: lecturas paralelas a datos, pero no escrituras: necesitamos mecanismos de acceso seguro secuencialización de accesos.
Primeros pasos con CUDA. Clase 1
Primeros pasos con CUDA Clase 1 Ejemplo: suma de vectores Comencemos con un ejemplo sencillo: suma de vectores. Sean A, B y C vectores de dimensión N, la suma se define como: C = A + B donde C i = A i
FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013
FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS CNCA Abril 2013 6. COMPUTACIÓN DE ALTO RENDIMIENTO Ricardo Román DEFINICIÓN High Performance Computing - Computación de Alto Rendimiento Técnicas, investigación
Arquitecturas GPU v. 2013
v. 2013 Stream Processing Similar al concepto de SIMD. Data stream procesado por kernel functions (pipelined) (no control) (local memory, no cache OJO). Data-centric model: adecuado para DSP o GPU (image,
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
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
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción
Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630)
Índice de contenidos [25 diapositivas] Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [3] 2. Los cores y su organización [7]
Guia para examen de Sistemas Operativos Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes
Guia para examen de Sistemas Operativos Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes Qué es un software comercial? Es el software que las compañías cobran por su producto
Tema 6. Gestión de la memoria
Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos
Almacenamiento virtual de sitios web HOSTS VIRTUALES
Almacenamiento virtual de sitios web HOSTS VIRTUALES El término Hosting Virtual se refiere a hacer funcionar más de un sitio web (tales como www.company1.com y www.company2.com) en una sola máquina. Los
Capítulo 1 Introducción a la Computación
Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:
RAID 0 : No redundante
RAID ECP RAID RAID - Redundant Array of Independent Discs, 1987 Combinar varios discos, pequeños y baratos, en un sólo dispositivo lógico de disco y distribuir los datos a través de las unidades físicas
Talleres CLCAR. CUDA para principiantes. Título. Mónica Liliana Hernández Ariza, SC3UIS-CRC NVIDIA Research Center monicalilianahernandez8@gmail.
a CUDA para principiantes Mónica Liliana Hernández Ariza, SC3UIS-CRC NVIDIA Research Center [email protected] Tener un primer encuentro práctico con la programación en CUDA para personas
Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU
Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti M. Pedemonte Práctico Programación con CUDA Práctica 0: Ejecución del ejemplo visto en teórico (suma de
Tema 1. Conceptos fundamentales de los Sistemas Operativos
Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.
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
DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.
DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar
Software Computacional y su clasificación
Software Computacional y su clasificación Capítulo 5 El software En modo sencillo el software permite que las personas puedan contarle a la computadora cierto tipo de problemas y que ésta a su vez le ofrezca
Preguntas Frec uentes Ia a S
Qué es IaaS Telmex? Infraestructura como Servicio (IaaS) de Telmex, es una solución basada en las nuevas tecnologías de virtualización bajo demanda, orientado a empresas que requieran de un servicio de
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:
Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz
Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)
Capítulo 5 Programación del algoritmo en LabVIEW
Programación del algoritmo en LabVIEW En este capítulo se describen las funciones que se emplearon para implementar el control PID wavenet en LabVIEW. El algoritmo wavenet fue implementado en LabVIEW para
Ventajas, Características y Aplicaciones de los SGBD Distribuidos.
Ventajas, Características y Aplicaciones de los SGBD Distribuidos. Definición Un SBD Distribuido se compone de un conjunto de sitios, conectados entre sí mediante algún tipo de red de comunicaciones, en
Firebird 2.5 SuperServer, ClassicServer o SuperClassic?
Firebird 2.5 SuperServer, ClassicServer o SuperClassic? Tomado del blog de www.sinatica.com Link: http://www.sinatica.com/blog/en/index.php/articles/firebird-superserver-classicserver-or-superclassic Autor:
Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción
Programando con memoria unificada IX Curso de Verano de la UMA Programación de GPUs con CUDA Contenidos [15 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. Descripción [5] 2. Ejemplos [8] 3. Observaciones
Tema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
Sistemas de Computadoras Índice
Sistemas de Computadoras Índice Concepto de Computadora Estructura de la Computadora Funcionamiento de la Computadora Historia de las Computadoras Montando una Computadora Computadora Un sistema de cómputo
Tema 2: El hardware del servidor Profesor: Julio Gómez López
Profesor: Julio Gómez López El o Centro de Proceso de Datos suele ser uno de los lugares más importantes y seguros de una empresa ya que en él se encuentran todos los es de la empresa. Un suele tener
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
Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes.
Introducción En el presente documento se explicarán las consideraciones realizadas para implementar la convolución bidimensional en la arquitectura CUDA. En general se discutirá la metodología seguida
CLASIFICACION DE LAS COMPUTADORAS
CLASIFICACION DE LAS COMPUTADORAS Tipos de Computadoras Dentro de la evolución de las computadoras, han surgido diferentes equipos con diferentes tamaños y características según su tipo de labor. Los computadores
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones
Global File System (GFS)...
Global File System (GFS)... Diferente a los sistemas de ficheros en red que hemos visto, ya que permite que todos los nodos tengan acceso concurrente a los bloques de almacenamiento compartido (a través
Clase 20: Arquitectura Von Neuman
http://computacion.cs.cinvestav.mx/~efranco @efranco_escom [email protected] Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Arquitectura de una computadora Elementos básicos de una
Ejemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas]
Ejemplos de optimización para Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga Contenidos de la charla [18 diapositivas] 1. Balanceo dinámico de la carga.
Estrategia de Cómputo en la Nube. Servicios en la Nube
Estrategia de Cómputo en la Nube Servicios en la Nube Computación para la Nube? Tecnología informática por la que se proporcionan software y servicios a través de la Internet. El nombre Cloud Computing
Organización de Computadoras. Turno Recursantes Clase 8
Organización de Computadoras Turno Recursantes Clase 8 Temas de Clase Subsistema de Memoria Organización de Memoria Principal Notas de clase 8 2 Memoria Velocidad del procesador: se duplica cada 18 meses
Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.
Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a
ING. YURI RODRIGUEZ ALVA
Historia y evolución de las Aplicaciones. Acerca de Cloud Computing o Computación para la Nube. Tipos de Aplicaciones para la Nube. Ventajas y desventajas de Cloud Computing Uso y Aplicaciones de Cloud
TEMA 1. INTRODUCCIÓN. 1. Diferentes niveles en la arquitectura de un computador
TEMA 1. INTRODUCCIÓN 1. Diferentes niveles en la arquitectura de un computador.» Máquinas virtuales 2. Máquinas multinivel actuales. 3. Evolución histórica de las máquinas multinivel. 1 1. Diferentes niveles
Tema 6: Periféricos y entrada-salida
Tema 6: Periféricos y entrada-salida Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 6: Hoja: 2 / 12 Tema 6: Hoja: 3 / 12 Base
502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ
502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ Dispositivo basado en circuitos que posibilitan el almacenamiento limitado de información y su posterior recuperación.
TEMA 4. Unidades Funcionales del Computador
TEMA 4 Unidades Funcionales del Computador Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción El elemento físico, electrónico o hardware de un sistema
Hostaliawhitepapers. Las ventajas de los Servidores dedicados. www.hostalia.com. Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199
Las ventajas de los Servidores dedicados Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com A la hora de poner en marcha una aplicación web debemos contratar un servicio
ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.
1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado
Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.
Desarrollo de un cluster computacional para la compilación de algoritmos en paralelo en el Observatorio Astronómico. John Jairo Parra Pérez Resumen Este artículo muestra cómo funciona la supercomputación
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas
Plataformas paralelas
Plataformas paralelas Curso 2011-2012 Elementos de un computador paralelo Hardware: Múltiples procesadores Múltiples memorias Redes de interconexión Software: Sistemas Operativos paralelos Programas orientados
Utilización del sistema operativo GNU/ Linux en las netbooks
Utilización del sistema operativo GNU/ Linux en las netbooks El sistema operativo es la pieza de software básica de un sistema, que permite manejar los recursos de la computadora, abrir programas, manejar
Procesos. Bibliografía. Threads y procesos. Definiciones
Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.
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).
Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.
Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento
RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica.
RAID Como se dijo anteriormente, el ritmo de mejora de prestaciones en memoria secundaria ha sido considerablemente menor que en procesadores y en memoria principal. Esta desigualdad ha hecho, quizás,
COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed
COMPUTADORES MULTINUCLEO Stallings W. Computer Organization and Architecture 8ed Computador multinucleo Un computador multinúcleocombina dos o mas procesadores (llamados núcleos) en una única pieza de
Windows Server 2003. Windows Server 2003
Windows Server 2003 Windows Server 2003 Es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión
Internet, conceptos básicos
Internet, conceptos básicos IP (INTERNET PROTOCOL) Toda computadora tiene un número que la identifica en una red, este número es lo que llamamos IP, una dirección de IP típica se ve de esta manera Direcciones
Tema 1: Computadores y Programas
Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad
INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado
INTRODUCCIÓN UPCO ICAI Departamento de Electrónica y Automática 1 Definiciones ORDENADOR (RAE 1992): Máquina electrónica dotada de una memoria de gran capacidad y de métodos de tratamiento de la información,
Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570
Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Juan Carlos Fernández Rodríguez. Área de HPC. Centro Informático Científico de Andalucía (CICA) Junta de Andalucía
18. Camino de datos y unidad de control
Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los
TIPOS DE PROCESAMIENTOS
TIPOS DE PROCESAMIENTOS El desempeño de un computador puede tener diferentes medidas de elección para diferentes usuarios. Para un usuario individual que está ejecutando un único programa, la computadora
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
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
Arquitectura Von Neumann
Arquitectura Von Neumann Arquitectura Von Neumann Establecida en 1945 por Von Neumann Modelo básico de arquitectura utilizado en la mayoría de los computadores Su idea es la de conectar permanentemente
Introducción a la Programación 11 O. Humberto Cervantes Maceda
Introducción a la Programación 11 O Humberto Cervantes Maceda Información del profesor Humberto Cervantes Maceda T 138 www.humbertocervantes.net/cursos Acerca de ustedes Nombre Carrera Qué experiencia
Introducción. Componentes de un SI. Sistema de Información:
Introducción. Sistema de Información: Conjunto de elementos relacionados entre sí de acuerdo a ciertas reglas, que aporta a la organización la información necesaria para el cumplimiento de sus fines, para
Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.
ARQUITECTURA DE LAS COMPUTADORAS QUE ES UNA COMPUTADORA (UN ORDENADOR)? Existen numerosas definiciones de una computadora, entre ellas las siguientes: 1) Una computadora es un dispositivo capaz de realizar
Determinación del nivel de influencia
Determinación del nivel de influencia Aquí se describirán cada una de las características mencionadas y cómo analizar su grado de influencia en la determinación del factor de ajuste. - Comunicación de
Entre los más conocidos editores con interfaz de desarrollo tenemos:
Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje
[TECNOLOGÍA RAID] Documentos de formación de SM Data: http://www.smdata.com/formacion.php
2011 Documentos de formación de SM Data: http://www.smdata.com/formacion.php [] Introducción a la tecnología RAID; Qué es RAID?; ventajas de RAID; definición de los más populares niveles de RAID y diferentes
Práctica 8 - DMA y Almacenamiento Masivo
Práctica 8 - DMA y Almacenamiento Masivo Organización del Computador 1 Segundo Cuatrimestre 2011 Ejercicio 1 El siguiente protocolo de handshaking permite a un amo (por ejemplo: CPU) ordenar la realización
PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN
PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN GESTIÓN DE PROYECTOS CON PLANNER AVC APOYO VIRTUAL PARA EL CONOCIMIENTO GESTIÓN DE PROYECTOS CON PLANNER Planner es una poderosa herramienta de software
INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes
INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los
Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010
Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos
Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles
Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta
Introducción a Computación
Curso: Modelización y simulación matemática de sistemas Metodología para su implementación computacional Introducción a Computación Esteban E. Mocskos ([email protected]) Facultades de Ciencias Exactas
Tema 1. Introducción a los computadores
Soluciones a los problemas impares Tema 1. Introducción a los computadores Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 1: Hoja: 2 / 8 Tema 1: Hoja: 3 / 8 Base
Tutorial CUDA Univ. de Santiago. 6 y 7 de Agosto, 2013
Tutorial CUDA Univ. de Santiago. 6 y 7 de Agosto, 2013 La suma por reducción Este código realiza la suma de un vector de N elementos mediante un operador binario de reducción, es decir, en log 2 (N) pasos.
Arquitectura de Aplicaciones
1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento
Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León
Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Programa. Introducción. 2. Elementos de almacenamiento. 3. Elementos de proceso. 4. Elementos de interconexión.
Introducción a la Computación
Introducción a la Computación MCC Marco Antonio Crúz Chávez 2003 Sistema de información Es un sistema incluido en otro sistema mayor que recibe, almacena, procesa y distribuye información. Los principales
Seminario II: Introducción a la Computación GPU
Seminario II: Introducción a la Computación GPU CONTENIDO Introducción Evolución CPUs-Evolución GPUs Evolución sistemas HPC Tecnologías GPGPU Problemática: Programación paralela en clústers heterogéneos
MICROPROCESADORES. Conrado Perea
MICROPROCESADORES Conrado Perea Introducción Los orígenes más recientes de la industria microinformática se remontan a los años 40, cuando la Universidad de Stanford, con el objetivo de impulsar su desarrollo,
1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura
1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos
MÓDULO 1: Sistemas de Cómputo
Asignatura: PROGRAMACIÓN Código: TE243 Prerrequisitos: Algebra Lineal (S)* Intensidad horaria: 80 H.P.S. MÓDULO 1: Sistemas de Cómputo Introducción: un sistema de cómputo es un conjunto de elementos electrónicos
Tema 1. Conceptos básicos
Conceptos básicos Sistema de Gestión de Bases de Datos, SGBD (DBMS, Database Management System): software diseñado específicamente para el mantenimiento y la explotación de grandes conjuntos de datos 1
LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN
LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...
Configuración en Red
Configuración en Red Si se ha adquirido este módulo posteriormente al programa OPTISYS, antes que nada, se deberá configurar la Naranja USB, con una nueva clave de actualización proporcionada por Lemon
Sistemas de Computación I/O. 2º Semestre, 2008 José Miguel Rubio L. [email protected] http://www.inf.ucv.cl/~jrubio
Sistemas de Computación I/O 2º Semestre, 2008 José Miguel Rubio L. [email protected] http://www.inf.ucv.cl/~jrubio Funciones: Enviar comandos a los dispositivos Detectar interrupciones. El usuario no
Tarjeta Principal. Disco Duro. Memoria RAM. Procesador. Fuente de Poder. Tarjetas de Expansión. Jair Acosta Núñez
Tarjeta Principal Disco Duro Memoria RAM Procesador Fuente de Poder Tarjetas de Expansión Jair Acosta Núñez También se le puede llamar Board, Mainboard, MotherBoard y Tarjeta Madre. Es una tarjeta interna
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
Tema 2: Implementación del núcleo de un Sistema Operativo
Tema 2: Implementación del núcleo de un Sistema Operativo 1. Sistema Operativo Unix 2. Sistema Operativo Windows (a partir de NT) Dpto. Lenguajes y Sistemas Informáticos. Universidad de Granada 1 1. Sistema
INTRODUCCION A LA PROGRAMACION DE PLC
INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes
Sorting++ Herman Schinca. Clase 21. 10 de Junio de 2011
Sorting++ Herman Schinca Clase 21 10 de Junio de 2011 Recordando Ya vimos 3 algoritmos de ordenamiento basados en la comparación entre elementos: Selection, Insertion y Bubble. Los 3 en peor caso (cuando
ESCUELA NORMAL PROFESOR CARLOS A. CARRILLO
ESCUELA NORMAL PROFESOR CARLOS A. CARRILLO Primer Semestre Licenciatura en Educación Primaria Profesor: Cruz Jorge Fernández Alumna: Sandra Carina Villalobos Olivas Unidad II ACTIVIDAD 3 Software Se conoce
Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU
Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti, M. Pedemontey J.P. Silva Clases 4 Programación Contenido Modelo de programación Introducción Programación
