Descargar

Symmetric multiprocessing (smp)

Enviado por fduenas_


    Indice1. Introducción 2. Orígenes del smp 3. Arquitectura cisc. 4. Aplicaciones de la tecnología smp en servidores 5. Impacto en el rendimiento del cpu y el disco en el servidor 6. Funcionamiento del smp

    1. Introducción

    La tecnología smp (multiprocesamiento simétrico) es una de las modalidades del multiprocesamiento en paralelo, trata a todos los procesadores como iguales. Cualquier procesador puede hacer el trabajo de cualquier otro, y las aplicaciones se dividen en subprocesos que pueden ejecutarse de manera concurrente en cualquier procesador disponible. Smp mejora el rendimiento de la aplicación misma y también el rendimiento total del sistema. Smp requiere alguna forma de memoria compartida y cachés de instrucciones locales. Pero lo más importante es que los sistemas smp requieren aplicaciones que puedan aprovechar el paralelismo de múltiples subprocesos. Entre los sistemas operativos compatibles con smp se encuentran unix*, os/2* y windows nt*. Entre las aplicaciones que aprovechan smp se cuenta con el conjunto de aplicaciones microsoft backoffice* y también los administradores de bases de datos sql de oracle, sybase e informix.

    2. Orígenes del smp

    Los orígenes de la tecnología smp tiene sus orígenes en la introducción de las arquitecturas risc y cisc

    La arquitectura risc tuvo claramente su razón de ser cuando ciertos estudios demostraron que el 20% de las instrucciones cumplían con el 80% de la carga de trabajo. Entonces se buscó la manera de simplificar las instrucciones de ese 20% a sumas y restas; el 20% de carga de trabajo restante sí se computa más lentamente que en la arquitectura cisc porque se simula por programática (software), pero el resultado final es una respuesta mucho más rápida al problema general. La formulita matemática que mejor se acerca para medir el desempeño de una máquina es la siguiente: t = n * c * t, donde:

    T: es el tiempo requerido para la ejecución de algún programa o subrutina por parte del procesador.

    N: es el número total de instrucciones contenidas en el programa o subrutina antes referidos.

    C: cantidad de ciclos de reloj requeridos por el procesador para completar una instrucción "promedio" de su conjunto de instrucciones.

    T: duración del ciclo de reloj. Equivalente al recíproco de la frecuencia de oscilación del reloj. Por ejemplo, para un procesador a 50 mhz, se tiene un ciclo con duración de 20 nanosegundos (20 mil millonésimas de segundo).

    Debido a la simplificación de las instrucciones del 80% de la carga de trabajo, el producto n*c es menor para risc, lo que redunda en una ejecución más rápida.

    3. Arquitectura cisc.

    La tecnología risc nació como concepto en 1975 en los laboratorios yorktown heights de ibm. Fue desarrollada por john cocke quien investigaba cómo simplificar las instrucciones utilizadas para desempeñar tareas de cómputo; sin embargo, fue hasta enero de 1986 cuando ibm anunció la primera generación de computadoras basadas en risc, la "rt" (risc technology). Este producto tuvo poco éxito, sin embargo, ibm no abandonó el proyecto (estaba muy adelantado para sus época) y, al ver que compañías como sun microsystems utilizaban con éxito la arquitectura risc, el 15 de febrero de 1990 ibm anunció su producto de segunda generación de risc, el procesador "power" en una familia de computadoras de rango intermedio (minis) conocidas como rs/6000, (risc system/6000). Estas computadoras se acomodaban perfectamente a los ambientes comerciales y científicos pero, al igual que otros sistemas risc de terceras compañías, estaban totalmente fuera del mercado de los sistemas personales. Esta realidad motivó que el nicho fuera exclusivo de las arquitecturas cisc, específicamente de la familia de procesadores de intel. La alianza entre apple, ibm y motorola se dio precisamente para enfrentar a intel y el resultado fue el poderoso powerpc, que es un procesador de bajo costo con todo el poder de la tecnología risc; en las mac corre el macos y en las rs/6000 powerpc corre el sistema operativo aix, que es el unix de ibm y es binariamente compatible con la anterior familia power. Los procesadores powerpc en el mercado son los siguientes: el 601 que fue el primero en salir; el 603, que es de bajo costo y de bajo consumo de energía, enfocado a equipos laptop; el 604 que tiene mayor poder de proceso, orientado hacia sistemas servidores departamentales; el 620 (por anunciarse) con arquitectura de 64 bits que integra la capacidad para el multiprocesamiento simétrico. Actualmente los populares sistemas para ambientes comerciales as/400 integraron la arquitectura powerpc a sus modelos, el procesador es de 64 bits; aquí en tijuana, telnor comenzó a usar el primero a nivel nacional en la pasada semana santa en sus instalaciones de pío pico, el powerpc en as/400 apenas se anunció en noviembre de 1995.

    4. Aplicaciones de la tecnología smp en servidores

    No existen reglas estrictas y rápidas, pero un servidor de doble procesador se utiliza frecuentemente para internet e intranets, y también para correo electrónico (conocidos también como servidores de mensajería). Los servidores de doble procesador se utilizan también para aplicaciones empresariales en un departamento (finanzas, recursos humanos, etc.), Mientras que los servidores de cuatro procesadores se utilizan para ejecutar aplicaciones para toda una empresa. Entre las aplicaciones para servidores de cuatro procesadores se cuenta con productos de sap, oracle y peoplesoft. Los servidores de cuatro procesadores suelen ser también la plataforma para servidores de trabajo en grupo. Lotus notes* fue uno de los ejemplos iniciales de este entorno. Estos servidores se encargan del manejo de información semiestructurada, como texto, imágenes, correo, pizarras electrónicas y flujo de trabajo.

    Sin embargo, uno de los campos de más rápido crecimiento para los servidores smp es el de las aplicaciones centradas en bases de datos. Las aplicaciones cliente/servidor centradas en bases de datos se clasifican en dos categorías: decision support systems (dss, sistemas de soporte a decisiones) y online transaction processing (oltp, procesamiento de transacciones en línea).

    Los sistemas de soporte a decisiones se ejecutan en servidores de bases de datos y se utilizan para analizar datos y crear informes.

    Estos sistemas proporcionan a los profesionales de las empresas y buscadores de información los medios para obtener la información que necesitan. Los usuarios deben poder crear consultas elaboradas, responder a preguntas "circunstanciales (what-if)", buscar correlaciones en los datos, graficar los datos y trasladarlos a otras aplicaciones como hojas de cálculo y documentos de procesadores de textos.

    Los sistemas oltp se ejecutan en servidores de transacciones y se utilizan para crear aplicaciones en todos los tipos de empresas. Entre estas aplicaciones se encuentran sistemas de reservaciones, sistemas de punto de venta, sistemas de seguimiento, control de inventario, estaciones de trabajo de corredores de bolsa y sistemas de control de plantas de manufactura. Por lo general son aplicaciones de misión crítica que requieren un tiempo de respuesta de 1 a 3 segundos el 100% de las veces.

    5. Impacto en el rendimiento del cpu y el disco en el servidor

    Impacto en el rendimiento del cpu y el disco en la capacidad del servidor lograr el equilibrio correcto entre los diferentes subsistemas y partes es fundamental para configurar un servidor. Los cuellos de botella, las partes de la computadora que restringen el flujo de trabajo, se pueden mover entre las diferentes partes. Dentro del servidor, los subsistemas del cpu y el disco representan dos áreas principales donde pueden ocurrir cuellos de botella. Sin embargo, los cuellos de botella pueden ocurrir también fuera del servidor, como en clientes y redes.

    Para configurar un servidor correctamente, se necesita una imagen de su capacidad, la cual se puede obtener poniendo el servidor a trabajar. Saber cómo afectan diferentes cargas de trabajo el uso de diferentes partes puede ayudar a determinar qué cantidad de un recurso (cpu y disco) se necesita para satisfacer las exigencias de los usuarios.

    Mediante el uso de herramientas como el monitor de rendimiento de microsoft windows nt y dynameasure* de bluecurve, se puede determinar cómo configurar su servidor para lograr un óptimo rendimiento para su entorno en particular.

    En la siguiente gráfica se muestra el rendimiento de un servidor con cuellos de botella. El eje horizontal indica usuarios simulados. El eje vertical indica el número de transacciones por segundo (tps), donde el número más alto es igual a más trabajo realizado. En este escenario, los datos determinan que el número de accesos al cpu es demasiado grande para caber en la memoria. Por lo tanto, el cpu necesita obtener acceso al disco para obtener datos después de su intento infructuoso de recuperar los datos de la memoria.

    El rendimiento con un cpu se hace uniforme al superar el límite de 40 usuarios, debido al cuello de botella en el cpu y "el disco", que se compone de cuatro unidades. Con dos cpus, el rendimiento es considerablemente mayor que con un cpu; pero tiende a disminuir conforme se agregan otros usuarios. De modo que la adición de otro cpu mejora el rendimiento, pero sólo hasta cierto punto, ya que el cuello de botella del disco sigue estando presente. Se vuelve a comprobar el cuello de botella del disco cuando se agregan otros dos cpus, para un total de cuatro. El cuello de botella del disco explica la falta de una mejora significativa de rendimiento entre dos y cuatro cpus.

    La adición de capacidad del cpu mejorará el rendimiento del servidor sólo cuando no estén limitados otros recursos. De modo que si mejoramos el subsistema de disco, con lo que se intenta eliminar el cuello de botella, el uso del cpu aumentaría y mejoraría el rendimiento del servidor. Como se muestra en la figura 2, el rendimiento aumenta conforme se agregan unidades a este escenario con cuatro cpus.

    6. Funcionamiento del smp

    El multiprocesamiento simétrico tiene un diseño simple pero aún así efectivo. En smp, múltiples procesadores comparten la memoria ram y el bus del sistema. Este diseño es también conocido como estrechamente acoplado (tightly coupled), o todo compartido (shared everything).

    Debido a que smp comparte globalmente la memoria ram, tiene solamente un espacio de memoria, lo que simplifica tanto el sistema físico como la programación de aplicaciones. Este espacio de memoria único permite que un sistema operativo con multiconexión (multithreaded operating system) distribuya las tareas entre varios procesadores, o permite que una aplicación obtenga la memoria que necesita para una simulación compleja. La memoria globalmente compartida también vuelve fácil la sincronización de los datos.

    Smp es uno de los diseños de procesamiento paralelo más maduro. Apareció en los supercomputadores cray x-mp y en sistemas similares hace década y media (en 1983).

    Sin embargo, esta memoria global contribuye al problema más grande de smp: conforme se añaden procesadores, el tráfico en el bus de memoria se satura. Al añadir memoria caché a cada procesador se puede reducir algo del tráfico en el bus.

    El bus generalmente se convierte en un cuello de botella al manejarse alrededor de ocho o más procesadores. Smp es considerada una tecnología no escalable.

    Si bien los primeros componentes utilizados con la tecnología smp fueron procesadores

    Risc, en la actualidad, debido a su bajo costo, los procesadores cisc avanzados como pentium y p6 son empleados con relativa frecuencia. En el mercado se encuentran sistemas pentium, pentium pro y pentium ii de dos vías (two-way pentium, pentium pro y pentium ii); además de pentium pro y pentium ii de cuatro y ocho vías (four-way, eight-way pentium pro y pentium ii). Dos vías, cuatro vías y ocho vías significan dos, cuatro y ocho procesadores conectados en paralelo.

     

     

    Autor:

    Francisco armando dueñas rodríguez

    Edad: 23 años Universidad la salle Lic. En informática Cancún, quintana roo méxico