Indice
1.
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
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.
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.
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.
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