Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Linuxtopia - Red Hat Enterprise Linux 4: Introduccion a la administracion de sistemas - Poder de procesamiento

3.2. Poder de procesamiento

A menudo conocido como poder de CPU, ciclos de CPU y otros nombres diferentes, el poder de procesamiento es la habilidad de un computador de manejar datos. El poder de procesamiento var�a con la arquitectura (y la velocidad del reloj) del CPU — usualmente los CPUs con velocidades del reloj m�s lentas y aquellos soportando tama�os de palabras m�s grandes tienen m�s poder de procesamiento que los CPUs m�s lentos que soportan tama�os de palabras m�s peque�os.

3.2.1. Hechos sobre el poder de procesamiento

He aqu� los dos principales hechos sobre el poder de procesamiento que deber�a tener en mente:

  • El poder de procesamiento es fijo

  • El poder de procesamiento no se puede almacenar

El poder de procesamiento es fijo, en el sentido de que el CPU solamente puede ir a cierta velocidad. Por ejemplo, si necesita sumar dos n�meros (una operaci�n que toma solamente una instrucci�n de m�quina en la mayor�a de las arquitecturas) un CPU particular lo puede hacer a una velocidad y solamente a una velocidad. Con pocas excepciones, ni siquiera es posible reducir la velocidad en la que el CPU procesa las instrucciones, mucho menos incrementarla.

El poder de procesamiento tambi�n es fijo en otro sentido: es finito. Esto es, hay l�mites para los tipos de CPUs que se pueden conectar a un computador determinado. Algunos sistemas son capaces de soportar un amplio rango de CPUs de diferentes velocidades, mientras que otros quiz�s no se puedan actualizar para nada[1].

El poder de procesamiento no se puede almacenar para usarse m�s tarde. En otras palabras, si un CPU puede procesar 100 millones de instrucciones en un segundo, un segundo de tiempo ocioso equivale a gastar 100 millones de instrucciones de poder de procesamiento.

Si tomamos estos hechos y los examinamos desde una perspectiva ligeramente diferente, un CPU "produce" una corriente de instrucciones ejecutadas a una rata fija. Si el CPU "produce" instrucciones ejecutadas, esto significa que otra cosa debe "consumir" las mismas. La pr�xima secci�n define a estos consumidores.

3.2.2. Consumidores de poder de procesamiento

He aqu� los dos principales consumidores de poder de procesamiento:

  • Aplicaciones

  • El sistema operativo mismo

3.2.2.1. Aplicaciones

Los consumidores m�s obvios de poder de procesamiento son las aplicaciones y los programas que usted desea que el computador ejecute por usted. Desde una hoja de c�lculo hasta una base de datos, las aplicaciones son la raz�n por las que usted tiene un computador.

Un �nico CPU puede solamente ejecutar una cosa en un momento dado. Por lo tanto, si su aplicaci�n se est� ejecutando, el resto de las cosas en el sistema no. Lo contrario, por supuesto, tambi�n es cierto — si algo diferente a su aplicaci�n se est� ejecutando, entonces su aplicaci�n no est� haciendo nada.

Pero como es que muchas aplicaciones diferentes pueden parecer que se estan ejecutando al mismo tiempo bajo un sistema operativo moderno? La respuesta es que estos son sistemas operativos multiproceso. En otras palabras, estos crean la ilusi�n de que muchas est�n sucediendo simult�neamente cuando en realidad es que esto no es posible. El truco es darle a cada proceso una fracci�n de segundo de ejecuci�n en el CPU antes de darle el CPU a otro proceso para la pr�xima fracci�n de segundo. Si estos switches de contexto ocurren con la frecuencia necesaria, se logra la ilusi�n de que m�ltiples aplicaciones se ejecutan simult�neamente.

Por supuesto, las aplicaciones hacen otras cosas que manipular datos usando el CPU. Pueden tambi�n esperar por entradas del usuario as� como tambi�n realizar E/S a dispositivos tales como discos duros y visualizaciones gr�ficas. Cuando ocurren estos eventos, la aplicaci�n ya no necesita el CPU. En estos momentos, el CPU se puede utilizar para otros procesos ejecutando aplicaciones sin hacer m�s lento la aplicaci�n en espera.

Adem�s, el CPU puede ser utilizado por otro consumidor de poder de procesamiento: el sistema operativo mismo.

3.2.2.2. El Sistema Operativo

Es dif�cil determinar cuanto poder de procesamiento consume el sistema operativo. La raz�n de esto es que el sistema operativo utiliza una mezcla de c�digo a nivel de procesos y a nivel del sistema para realizar su trabajo. Mientras que, por ejemplo, es f�cil utilizar un supervisor de procesos para determinar qu� est� haciendo un proceso ejecutando un demonio o servicio, no es tan f�cil determinar cu�nto poder de procesamiento el sistema operativo consume por procesamiento a nivel del sistema relacionado con E/S (lo cual usualmente se hace dentro del contexto del proceso ejecutando la E/S).

En general, es posible dividir este tipo de sobrecarga de sistema operativo en dos tipos:

  • Mantenimiento del sistema operativo

  • Actividades relacionadas a procesos

El mantenimiento del sistema operativo incluye actividades tales como planificaci�n de procesos y administraci�n de memoria, mientras que las actividades relacionadas a procesos incluyen cualquier proceso que soporta al sistema operativo mismo, tales como procesos que manejan el registro de eventos globales al sistema o el vaciado de E/S de cach�.

3.2.3. Mejorando la escasez de CPU

Cuando no hay suficiente poder de procesamiento para la carga de trabajo, tiene dos opciones:

  • Reducir la carga

  • Incrementar la capacidad

3.2.3.1. Reducir la carga

Reducir la carga de CPU es algo que se puede hacer sin el gasto monetario. El truco es identificar aquellos aspectos de la carga del sistema bajo su control que se pueden reducir. Hay tres �reas en las que enfocarse:

  • Reducir la sobrecarga del sistema operativo

  • Reducir la sobrecarga de las aplicaciones

  • Eliminar aplicaciones completas

3.2.3.1.1. Reducir la sobrecarga del sistema operativo

Para reducir la sobrecarga del sistema operativo, debe examinar su carga actual del sistema y determinar los aspectos del mismo que resultan en cantidades de sobrecarga excesivas. Estas �reas incluyen:

  • Reducir la necesidad de planificaci�n frecuente de procesos

  • Reducir la cantidad de E/S realizada

No espere milagros, en un sistema razonablemente bien configurado, es poco probable notar un incremento del rendimiento sustancial al tratar de reducir la carga del sistema operativo. Esto se debe al hecho de que un sistema razonablemente bien configurado, por definici�n, resulta en una cantidad de sobrecarga m�nima. Sin embargo, si su sistema est� ejecut�ndose con poca RAM, por ejemplo, quiz�s pueda reducir la sobrecarga al mejorar la escasez de memoria.

3.2.3.1.2. Reducir la sobrecarga de aplicaciones

El reducir la sobrecarga de aplicaciones significa asegurarse de que la aplicaci�n tiene todo lo que necesita para ejecutarse bien. Algunas aplicaciones presentan comportamientos diferentes bajo ambientes diferentes — una aplicaci�n puede volverse muy comprometida en t�rminos de computaci�n cuando procesa ciertos tipos de datos, pero no para otros, por ejemplo.

El punto a tener en cuenta aqu� es que debe entender las aplicaciones ejecut�ndose en su sistema si es que quiere que se ejecuten lo m�s eficientemente posible. A menudo esto implica trabajar con sus usuarios y/o los desarrolladores, para ayudar a descubrir en que formas se pueden hacer las aplicaciones para que se ejecuten m�s eficientemente.

3.2.3.1.3. Eliminar aplicaciones completas

Dependiendo de su organizaci�n, este enfoque puede que no est� disponible para usted, pues a menudo no es la responsabilidad del administrador del sistema dictar cuales aplicaciones se ejecutaran y cuales no. Sin embargo, si puede identificar cualquier aplicaci�n conocida como "CPU hogs", quiz�s pueda influenciar para eliminarlas.

Hacer esto quiz�s implicar� m�s de una persona. Los usuarios afectados definitivamente deben ser parte de este proceso; en muchos casos pueden tener el conocimiento y el poder pol�tico para llevar a cabo los cambios necesarios en las aplicaciones disponibles.

SugerenciaSugerencia
 

Tenga en mente que una aplicaci�n puede que no requiera ser eliminada de todos los sistemas de su organizaci�n. Probablemente pueda mover una aplicaci�n hambrienta de CPU desde un sistema sobrecargado a otro sistema que est� pr�cticamente ocioso.

3.2.3.2. Incrementar la capacidad

Por supuesto, si no es posible reducir la demanda de poder de procesamiento, debe buscar formas de incrementar el poder de procesamiento disponible. Hacer esto cuesta dinero, pero se puede hacer.

3.2.3.2.1. Actualizar el CPU

El enfoque m�s directo es determinar si el CPU de su sistema puede ser actualizado. El primer paso es determinar si el CPU actual se puede eliminar. Algunos sistemas (principalmente port�tiles) tienen CPUs que est�n soldados en un lugar, haciendo imposible una actualizaci�n. El resto, sin embargo, tienen CPUs en bancos, lo que hace posible su actualizaci�n — al menos en teor�a.

Luego, debe investigar para determinar si existe un CPU m�s r�pido para la configuraci�n de su sistema. Por ejemplo, si su sistema actual tiene un CPU de 1GHz y existe una unidad de 2GHz del mismo tipo, entonces es posible hacer una actualizaci�n.

Finalmente, debe determinar la velocidad m�xima del CPU soportada por su sistema. Continuando con el ejemplo anterior, a�n si existe un CPU de 2GHz del mismo tipo, un intercambio simple de CPU no es una opci�n si su sistema solamente soporta procesadores ejecut�ndose a 1GHz o menos.

Si encuentra que no puede instalar un CPU m�s r�pido en su sistema, sus opciones pueden estar limitadas a cambiar las tarjeta madre o hasta una actualizaci�n m�s costosa como la de tipo carretilla mencionada anteriormente.

Sin embargo, algunas configuraciones de sistemas permiten un enfoque ligeramente diferente. En vez de reemplazar el CPU existente, por que no a�adir otro?

3.2.3.2.2. �Es el multiprocesamiento sim�trico adecuado para Usted?

El multiprocesamiento sim�trico (tambi�n conocido como SMP) hace posible que un sistema computacional tenga m�s de un CPU compartiendo todos los recursos del sistema. Esto significa, que a diferencia de un sistema uniprocesador, un sistema SMP puede en realidad tener m�s de un procesador ejecut�ndose al mismo tiempo.

A primera vista, pareciera el sue�o de un administrador de sistemas. Primero que nada, SMP hace posible incrementar el poder de procesamiento de un CPU a�n si no esta disponible un CPU con velocidades de reloj m�s r�pidas — simplemente a�adiendo otro CPU. Sin embargo, esta flexibilidad viene con algunas advertencias.

La primera advertencia es que no todos los sistemas son capaces de operar con SMP. Su sistema debe tener una tarjeta madre dise�ada para soportar multiprocesamiento. Si no lo tiene, se necesitar� (al menos) una actualizaci�n de la tarjeta madre.

La segunda advertencia es que SMP incrementa la sobrecarga del sistema. Esto tiene sentido si lo piensa un poco; con m�s CPUs para los cuales planificar trabajo, el sistema operativo requiere m�s ciclos de CPU para la sobrecarga. Otro aspecto de esto es que con m�ltiples CPUs, puede haber m�s competencia por los recursos del sistema. Debido a estos factores, la actualizaci�n de un sistema de procesadores dual a un sistema con cuatro procesadores, no significa un incremento de 100% de poder de CPU disponible. De hecho, dependiendo del hardware actual, la carga de trabajo y la arquitectura del procesador, es posible alcanzar un punto en el que la adici�n de otro procesador podr�a m�s bien reducir el rendimiento del sistema.

Otro punto a tener en mente es que SMP no ayuda a las cargas de trabajo consistentes de una aplicaci�n monol�tica con una sola corriente de ejecuci�n. En otras palabras, si un programa grande, vinculado computacionalmente, se ejecuta como un �nico proceso sin hilos, no se ejecutar� m�s r�pido en un sistema SMP que en una m�quina de un s�lo procesador. De hecho, se podr�a ejecutar a�n m�s lento debido al incremento de la sobrecarga que SMP trae consigo. Por estas razones, muchos administradores de sistemas sienten que cuando se trata de poder de procesamiento, una sola corriente de procesamiento es la mejor opci�n. Esto proporciona el m�ximo de poder de CPU con las menores restricciones sobre su uso.

Mientras que esta discusi�n pareciera indicar que SMP nunca es una buena idea, hay circunstancias en las que tiene sentido. Por ejemplo, los entornos ejecutando m�ltiples aplicaciones con gran demanda computacional son buenas candidatas para SMP. La raz�n de esto es que las aplicaciones que no hacen nada pero computar por largos per�odos de tiempo mantienen la contienda entre los procesos activos (y por lo tanto, la sobrecarga del sistema operativo) a un m�nimo, mientras que los procesos mismos mantienen cada CPU ocupado.

Otra cosa a tener en mente sobre SMP es que el rendimiento de un sistema SMP tiende a degradarse de forma m�s graciosa a medida que la carga del sistema se incrementa. Esto hace a los sistemas SMP populares en entornos de servidor y multiusuario, pues la mezcla de procesos siempre cambiantes pueden impactar menos la carga global del sistema en una m�quina con m�ltiples procesadores.

Notas

[1]

Esta situaci�n lleva a que se llame de forma jocosa actualizaci�n con carretilla, lo que significa un reemplazo completo de un computador.

 
 
  Published under the terms of the GNU General Public License Design by Interspire