procesamiento por lotes

Upload: iliana-quinonez-escobar

Post on 11-Jul-2015

66 views

Category:

Documents


0 download

TRANSCRIPT

Procesamiento por lotes Para otros usos de este trmino, vase Batch. Se conoce como sistema por lotes (batch processing), o modo batch, a la ejecucin de un programa sin el control o supervisin directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan porque su ejecucin no precisa ningn tipo de interaccin con el usuario. Generalmente, este tipo de ejecucin se utiliza en tareas repetitivas sobre grandes conjuntos de informacin, ya que sera tedioso y propenso a errores realizarlo manualmente. Un ejemplo sera el renderizado de los fotogramas de una pelcula. Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qu se quiere ejecutar y, posiblemente, qu tipo de recursos necesita reservar. Caractersticas Los sistemas por lotes son el mecanismo ms tradicional y antiguo de ejecutar tareas. Se introdujeron alrededor de 1956 para aumentar la capacidad de proceso de los programas. En la actualidad, los trabajos por lotes son ampliamente utilizados en supercomputadores, como Magerit.Este procesamiento se dio en la segunda generacion de computadoras. El extremo opuesto al procesamiento por lotes es el procesamiento interactivo: programas que precisan la interaccin con el usuario (peticin de datos, eleccin de opciones) para funcionar. Cada tipo de proceso es diferente y ms adecuado en unas situaciones que en otras. En un sistema por lotes existe un gestor de trabajos, encargado de reservar y asignar los recursos de las mquinas a las tareas que hay que ejecutar. De esta forma, mientras existan trabajos pendientes de procesamiento, los recursos disponibles estarn siempre ocupados ejecutando tareas. Si el sistema est bien planificado, se alcanzan tiempos de ejecucin muy altos, ya que los recursos disponibles estn siendo utilizados casi continuamente. Adems, el Sistema Operativo puede ser muy simple ya que las tareas son completamente secuenciales por lo que se reduce la necesidad de utilizar esquemas Round Robin o similares.

Ventajas: o Permite compartir mejor los recursos de un ordenador entre muchos usuarios, al no competir por stos de forma inmediata. o Realiza el trabajo en el momento en el que los recursos del ordenador estn menos ocupados, dando prioridad a tareas interactivas. o Evita desaprovechar los recursos del ordenador sin necesidad de interaccin y supervisin humanas continuas. o En ordenadores caros o supercomputadores, ayuda a amortizar el coste manteniendo altos ndices de utilizacin.

Inconvenientes: o El principal inconveniente de la ejecucin por lotes frente a la ejecucin interactiva es que hay que conocer y planificar cuidadosamente la tarea a realizar. Al carecer de supervisin por parte del usuario, cualquier tipo de error puede producir resultados intiles o, simplemente, inexistentes...

Programas batch Algunos programas conocidos que pueden funcionar en modo por lotes: GIMP (GNU Image Manipulation Program)1 , R-project, gnuplot, GNU Octave, command.com, EXEC II, entre otros muchos. Realmente, casi cualquier programa puede ejecutar en modo batch, siempre y cuando pueda especificarse los distintos pasos de ejecucin o las entradas de usuario a partir de un script. Importante no confundir los programas o archivos .bat de los sistemas batch (de los cuales heredan su nombre debido a su metodologa). Como bien esta explicado mas arriba, estos archivos se ejecutan de manera secuencial, y cerrando la ejecucin al usuario ya que este no puede interactuar ni intervenir en el programa que se ejecuta. Frente a este tenemos los 'Sistemas por batch', los cuales son una manera de llevar a cabo el proceso de la informacin, en lenguaje llano, una manera de hacer informtica, en estos sistemas los programas y tareas se ejecutan de manera secuencial, no porque el programa lo exija como es el caso de los .bat, sino porque no conoca otra forma de ejecucin. Computacin distribuida La computacin distribuida o informtica en malla, es un nuevo modelo para resolver problemas de computacin masiva utilizando un gran nmero de ordenadores organizadas en racimos incrustados en una infraestructura de telecomunicaciones distribuida. Sistemas distribuidos Un sistema distribuido se define como: una coleccin de computadoras separadas fsicamente y conectadas entre s por una red de comunicaciones distribuida; cada mquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema (no necesita saber qu cosas estn en qu mquinas). El usuario accede a los recursos remotos (RPC) de la misma manera en que accede a recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en comn. Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos. El tamao de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (red de rea local), centenas de hosts (red de rea metropolitana), y miles o millones de hosts (Internet); esto se denomina escalabilidad. 1

Caractersticas 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Para cada uno de los usuarios debe ser similar al trabajo en el Sistema Centralizado. Seguridad interna en el sistema distribuido. Se ejecuta en mltiples Computadoras. Tiene varias copias del mismo Sistema Operativo o de diferentes Sistemas Operativos que proveen los mismos servicios. Entorno de trabajo cmodo. Dependiente de redes (LAN, MAN, WAN, etc.). Compatibilidad entre los dispositivos conectados. Transparencia (El uso de mltiples procesadores y el acceso remoto debe ser invisible).2 Interaccin entre los equipos. Diseo de software compatible con varios usuarios y sistemas operativos

Objetivo La computacin distribuida ha sido diseada para resolver problemas demasiado grandes para cualquier supercomputadora y mainframe, mientras se mantiene la flexibilidad de trabajar en mltiples problemas ms pequeos. Por lo tanto, la computacin en grid es naturalmente un entorno multiusuario; por ello, las tcnicas de autorizacin segura son esenciales antes de permitir que los recursos informticos sean controlados por usuarios remotos. Clasificacin En trminos de funcionalidad, las mallas se clasifican en computacionales (incluyendo mallas de barrido de la CPU) y en mallas de datos. y en los estados son: Globus La herramienta Globus ha emergido como el estndar de facto para la capa intermedia (middleware) de la malla. Globus tiene recursos para manejar: 1. La gestin de recursos(Protocolo de Gestin de Recursos en Malla o Grid Resource Management Protocol) 2. Servicios de Informacin (Servicio de Descubrimiento y Monitorizacin o Monitoring and Discovery Service) 3. Gestin y Movimiento de Datos (Acceso Global al Almacenamiento Secundario, Global Access to secondary Storage y FTP en malla, GridFTP) La mayora de mallas que se expanden sobre las comunidades acadmicas y de investigacin de Globus Toolkit como ncleo de la capa intermedia. XML Los servicios web basados en XML ofrecen una forma de acceder a diversos servicios/aplicaciones en un entorno distribuido. Recientemente, el mundo de la informtica en malla y los servicios web caminan juntos para ofrecer la malla como un servicio web. La

arquitectura est definida por la Open Grid Services Architecture (OGSA). La versin 3.0 de Globus Toolkit, que actualmente se encuentra en fase alfa, ser una implementacin de referencia acorde con el estndar OGSA. Las mallas ofrecen una forma de resolver grandes retos, como el plegamiento de las protenas y descubrimiento de medicamentos, modelizacin financiera, simulacin de terremotos, inundaciones y otras catstrofes naturales, modelizacin del clima/tiempo, etc. Ofrecen un camino para utilizar los recursos de las tecnologas de la informacin de forma ptima en una organizacin. Computacin de ciclos redundantes El modelo de computacin de ciclos redundantes, tambin conocido como computacin zombi, es el empleado por aplicaciones como Seti@Home, consistente en que un servidor o grupo de servidores distribuyen trabajo de procesamiento a un grupo de computadoras voluntarias a ceder capacidad de procesamiento no utilizada. Bsicamente, cuando dejamos nuestro ordenador encendido, pero sin utilizarlo, la capacidad de procesamiento se desperdicia por lo general en algn protector de pantalla, este tipo de procesamiento distribuido utiliza nuestra computadora cuando nosotros no la necesitamos, aprovechando al mximo la capacidad de procesamiento. Clustering Otro mtodo para crear sistemas de supercomputadoras es el clustering. Un cluster o racimo de computadoras consiste en un grupo de computadoras de relativo bajo costo conectadas entre s mediante un sistema de red de alta velocidad (gigabit de fibra ptica por lo general) y un software que realiza la distribucin de la carga de trabajo entre los equipos. Por lo general, este tipo de sistemas cuentan con un centro de almacenamiento de datos nico. Los clusters tienen la ventaja de ser sistemas redundantes,al estar fuera de servicio el procesador principal el segundo se dispara y acta como un Fail Over. Grid La computacin en grid o en malla es un nuevo paradigma de computacin distribuida en el cual todos los recursos de un nmero indeterminado de computadoras son englobados para ser tratados como un nico superordenador de manera transparente. Estas computadoras englobadas no estn conectadas o enlazadas firmemente, es decir no tienen por qu estar en el mismo lugar geogrfico. Se puede tomar como ejemplo el proyecto SETI@Home, en el cual trabajan computadoras alrededor de todo el planeta para buscar vida extraterrestre. Seguridad El punto de la seguridad es delicado en este tipo de computacin distribuida pues las conexiones se hacen de forma remota y no local, entonces suelen surgir problemas para controlar el acceso a los otros nodos. Esto puede aprovecharse para un ataque de DoS, aunque la red no va a dejar de funcionar porque uno falle. Esa es una ventaja de este sistema grid.

Diferencias entre los distintos tipos de computacin distribuida SSI (Single System Image): en un SSI todas las computadoras vinculadas dependen de un sistema operativo comn, diseado al efecto. En cambio, un grid es heterogneo, en el sentido en que las computadoras pueden tener diferentes sistemas operativos. Algunos ejemplos de estos sistemas operativos son:

Amoeba (inactivo) BProc DragonFly BSD (meta a largo plazo) Genesis Kerrighed Mosix/OpenMosix Nomad (inactivo) OpenSSI Plurix Sprite (inactivo) TruCluster

Cluster de computadores: En un cluster todos los nodos se encuentran en el mismo lugar, conectados por una red local y as englobar todos lo recursos, en cambio en un grid no tienen por qu estar en el mismo espacio geogrfico, pueden estar en diferentes puntos del mundo. Tambin suele presentarse que GRID se le llama cuando el resultado obtenido del englobe de las mquinas da una supercomputadora, con un cluster solo se busca mejorar el rendimiento de las mquinas englobndolas en una sola.