SPARC: Granja de servidores vs granja de threads

Introducción

Actualmente estamos viviendo un periodo de transición con respecto a la arquitectura de las máquinas con las que trabajamos. Los fabricantes de procesadores están provocando que el mercado cambie el rumbo al que estabamos acostumbrados en los últimos años.

Al principio de los 90, apareció en escena el SO Linux, como se ha demostrado, Linux ha sido una completa revolución en muchos aspecto del mundo IT y no solo por su aportación al movimiento OpenSource, desde el punto de vista del administrador de sistemas, las aparición de Linux supuso un cambio en la mentalidad a la hora de administrar el sistema operativo. Continue reading

phpEasyTools: Beta de easyRM (Resource Management)

Ayer, desde el proyecto phpEasyTools lanzamos el módulo easyRM, se trata de un sencillo GUI que te permite gestionar las herramientas de Resource Management. Con easyRM podrás, de una forma sencilla, trabajar con projects, tasks, procesos, activar/desactivar CPUs, crear grupos de CPU, mover las CPUs de un grupo a otro, fijar tamaños de memoria, cambiar semaforos, memoria compartida, tamaño de los cores, número máximo de LWP, etc.

Siguiendo con la filosofía de las phpEasyTools, todas las operaciones que se realizan con easyRM son ejecutadas con los comandos del sistema, lo que nos permite aprender de una forma sencilla y rápida, los distintos comandos necesarios para trabajar con Resource Management.

En el portal de phpEasyTools podrás encontrar enlaces a documentación sobre Resource Management, bajar los scripts en PHP y ver algunos screenshots.

Libros : Solaris Internals (Jim Mauro – Richard McDougall)

La semana pasada estuve dando una charla sobre DTrace, en la Universidad Politecnica de Madrid. Durante la charla surgieron varias cuestiones y comentarios sobre el conocimiento que los administradores de sistema tienen sobre los sistemas que administran e hice referencia a uno de los libros que, al menos yo, considero imprescidible para conocer la entrañas del Kernel de un SO como es Solaris, se trata de Solaris Internals de Jim Mauro y Richard McDougall.

La lectura de este libro aporta una visión del SO un tanto alejada de la perspectiva que muchos administradores tienen del SO hoy en dia, como ya he comentado alguna vez, creo que un administrador debe aportar más valor del que aporta un script de arranque/parada. Este libro nos enseña las entrañas de Solaris, el gestor de memoria, el slab allocator, como trabaja el scheluder, las estrutucturas de datos de los procesos y threads, la gestión de los FS, el control de recursos, Zonas, etc. Creo que es un libro imprescindible para aquellos que tengan la necesidad de conocer cómo funciona la tecnología con la que trabajan y en el que se pueden obtener muchas respuestas.

¿ Sabías que…la variable LD_PRELOAD… ?

Nos permite construir librerías para la interposición de nuestras propias funciones en el sistema. La interposición de librerías es un método empleado, para que de forma totalmente transparente para el software compilado, podamos modificar parte de su comportamiento. La interposición se basa en que las funciones de la librería que estamos utilizando para la interposición serán utilizadas por el linkador para llamar a las funciones originales. Cuando realizamos una interposición, tenemos la opciones de llamar a la función original, cuando lo creamos conveniente. Continue reading

¿ Sabías que… en Solaris existe un fichero con todas las syscall ?

En Solaris existe el fichero /etc/name_to_sysnum, donde aparece la lista de todas las llamadas a sistema y sus identificadores, que son utilizadas en el sistema. De una versión del SO a otra versión del mismo SO pueden cambiar los IDs de las llamadas a sistema, por lo que es interesante conocer estos IDs y a qué syscall está asociada, sobre todo si desarrollamos aplicaciones que interactuen con el sistema, al estilo de truss. Continue reading

Solaris IPC: Semáforos

Los semáforos son un elemento lógico utilizado para la sincronización entre procesos, existen varias forma de implementar un semáforo, en los Solaris encontramos la implementación System V. En este artículo vamos a ver de una forma bastante rápida la forma de consultar los semáforos del sistema, así como comprobar si los valores utilizados en los parámetros del Kernel que afecta a los semáforos son correctos o no.

Continue reading

Rendimiento/Tuning Solaris: Memoria Cache

La cache es una memoria temporal de acceso rápido, utilizada para almacenar datos y evitar de esta forma tener que acceder a la memoria principal que es mucho más lenta. Esta podría ser una definición para la memoria cache y aunque este no es el mejor ámbito para estudiar la memoria cache, ya que al ser la cache parte del procesador, normalmente se estudia como parte de la arquitectura de procesadores, pero siempre he pensado que un administrador no solo tiene que conocer las aplicaciones que corren en el sistema, sino que debería conocer como funciona el sistema y el funcionamiento de la cache es parte importante de nuestro sistema, por lo tanto, pienso que, aunque no los veamos en profundidad, si debemos tener unas nociones sobre como funciona la memoria cache.

Continue reading

Rendimiento/Tuning Solaris: Memoria

Uno de los elementos del sistema que afectan directamente al rendimiento del sistema son las operaciones de acceso a memoria, ya sea, memoria principal, caches, memoria secundaria, etc. En casos en los que la degradación del rendimiento sea apreciable, una de las principales causas, es la forma en la que las aplicaciones acceden a la memoria y como nuestro sistema está configurado para responder a dichas peticiones. Tal como hemos hecho con otros elementos del sistemas, el análisis del rendimiento de las operaciones sobre la memoria, lo vamos a comenzar desde un punto de vista global, el cual iremos concretando hacia los distintos elementos que conforman la memoria de nuestro sistema.

Continue reading

Rendimiento/Tuning Solaris: Introducción

Este es el primero de una serie de artículos sobre la forma de medir el rendimiento de nuestro sistema Solaris. Existe mucha documentación relacionada con este tema, esta serie de artículo solo pretende ser una sencilla guía que nos permita por un lado, conocer las herramientas de las que disponemos en Solaris y por otro lado, conocer cómo podemos utilizar estas herramientas para que nos ayuden a diagnosticar problemas de rendimiento.

El objetivo de esta serie de artículo, como se ha comentado antes, es que sirvan como guía para comenzar el estudio de un
posible problema en el rendimiento del sistema, se ha organizado el contenido en 3 bloques:

Procesos y procesadores

Entrada/Salida

Memoria

Continue reading