- Permite encontrar mejoras para la eliminación de procesos batch o partes de él que crean ficheros obsoletos.
- El objetivo de esta detección es triple, disminuir el consumo y reducir la duración de los procesos afectados, así como eliminar espacio en disco.
El algoritmo
Se pretende detectar aquellos procesos batch en los que se esté generando un fichero no referenciado en pasos posteriores, es decir, detectar aquellos ficheros que no se están usando en ningún proceso posterior, ficheros que se generan, pero posteriormente no se usan.
Para su detección en instalaciones Mainframe z/OS, se precisa de acceso a la información alojada en los logs de sistema, en concreto es necesario la obtención de 3 ficheros SMF: SMF14, SMF15 y SMF30.
Para ello necesitamos cierta información de cada uno, en concreto:
- SMF14: Este fichero contiene información acerca de los ficheros que se usan en la entrada de pasos de procesos batch.
- SMF15: Este fichero contiene información acerca de los ficheros que se usan en la salida de pasos de procesos batch.
- SMF30: Este fichero contiene información acerca del consumo de los procesos batch, tanto a nivel proceso (JCL) como el detalle del consumo y duración de cada paso.
Ejecución
El método de utilización de este algoritmo es mediante la obtención de los campos necesarios de cada uno de los ficheros SMF anteriores, para realizar un cruce posterior de los datos, que permita obtener una lista candidatos.
Para ello, lo primero que realizaremos es cruzar los ficheros SMF14 y SMF15, para obtener aquellos ficheros que se están creando, pero que ningún paso de ningún proceso batch de la instalación, lo está usando.
De esta forma, se obtendrá en un fichero resultante con la salida de todos los ficheros generados en algún paso de un proceso Batch que no se están referenciando posteriormente en ningún otro paso.
Tras este primer cruce, hay que hacer un matching posterior con el SMF30 que nos permita conocer el consumo y duración de cada paso detectado como obsoleto. Esto nos permitirá poder filtrar los candidatos a partir de un umbral de consumo mínimo de CPU o tiempo de ejecución (elapsed), así como su ordenación para saber que candidatos están impactando más. Además, se podrán realizar filtros para un rango de horas determinado o conocer qué aplicaciones son las que más candidatos obsoletos tiene.
Hay que tener en cuenta que, en todo este proceso de cruce entre los distintos logs, hay que descartar posibles ficheros de sistema de la instalación que haya que excluir de todo el algoritmo como, fichero de estadísticas, incidencias, etc, que pueden ocasionar que en la lista de candidatos se incluyan falsos positivos.
Resultados
La ejecución de este algoritmo nos da como resultado, la detección de candidatos a obsoletos sobre pasos de procesos Batch z/OS en base a una técnica muy concreta, la detección de ficheros no referenciados en otros procesos.
Como resultado, en instalaciones dónde nunca se han aplicado técnicas de este tipo, se puede obtener una lista de candidatos que representa entre un 3,5-0,5% del total de la instalación.
La eliminación de estos procesos obsoletos permitirá conseguir un beneficio sobre tres áreas de la instalación z/OS:
- Reducción del consumo de CPU, por tanto, de la cantidad de MIPS usada, lo que equivale a un ahorro en costes directo.
- Disminución en la duración de los procesos, y por tanto, mayor margen para procesos con SLA (aquellos que tienen una hora fin objetivo)
- Eliminación de espacio en disco, lo que permite tener más margen para guardar más información, así como la reducción de su línea base.