Equipo de extracción de tiempo de CPU.

Un método para medir el tiempo de procesamiento o tratamiento acumulado para tareas seleccionadas,

mediante la ejecución de una instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU, dentro de un sistemainformático que incluye un conjunto de 16 registros accesibles por la instrucción y un temporizador de CPU, de talmanera que el método comprende:

obtener, para la ejecución de la instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU definida por unaarquitectura, la instrucción EXTRACCIÓN DE TIEMPO DE CPU que comprende un campo de código op (opcode)que identifica la instrucción, un primer campo de base (B1) para identificar un primer registro y un primer campo dedesplazamiento (D1), un segundo campo de base (B2) para identificar un segundo registro y un segundo campo dedesplazamiento (D2), y un tercer registro, de tal manera que el tercer registro guarda una dirección de un terceroperando; y

ejecutar la instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU obtenida, automáticamente en el estadono privilegiado, invocando o llamando a un servicio de sistema operativo, de tal manera que la ejecución comprende:determinar un valor en curso de un temporizador de CPU decremental;

sumar el contenido del primer registro y un valor del primer campo de desplazamiento con el fin de formaruna dirección de un primer operando en almacenamiento, de tal modo que el primer operando representa elvalor del temporizador de CPU en el momento en que se despachó una tarea;

buscar y recuperar, basándose en la dirección formada del primer operando, el primer operando, desde eldispositivo de almacenamiento;

restar del primer operando buscado y recuperado el valor en curso determinado del temporizador de CPU, afin de producir un primer resultado;

almacenar el primer resultado en un cuarto registro, de tal modo que el primer resultado representa lacantidad del recurso utilizada por la tarea durante este intervalo de tiempo;

sumar el contenido del segundo registro y un valor del segundo campo de desplazamiento a fin de formaruna dirección de un segundo operando;

buscar y recuperar, basándose en la dirección formada del segundo operando, el segundo operando desdeel dispositivo de almacenamiento;

almacenar el segundo operando en un quinto registro, de tal modo que el segundo operando comprendeuna cantidad de tiempo utilizada previamente para la tarea; de tal manera que el tiempo de CPU total utilizadohasta ese momento por la tarea se determina añadiendo el primer resultado almacenado en el cuarto registro ala cantidad de tiempo previamente utilizada para la tarea, almacenada en el quinto registro;

buscar y recuperar, basándose en la dirección del quinto operando, el tercer operando desde el dispositivode almacenamiento; y

almacenar el tercer operando recuperado en el tercer registro, de tal modo que el tercer operandocomprende indicadores que designan información de tarea, de manera que la dirección del tercer operando enel tercer registro es sobrescrita por el tercer operando recuperado.

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E08161018.

Solicitante: INTERNATIONAL BUSINESS MACHINES CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: NEW ORCHARD ROAD ARMONK, NY 10504 ESTADOS UNIDOS DE AMERICA.

Inventor/es: GREINER,Dan.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • G06F11/34 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 11/00 Detección de errores; Corrección de errores; Monitorización (detección, corrección o monitorización de errores en el almacenamiento de información basado en el movimiento relativo entre el soporte de registro y el transductor G11B 20/18; monitorización, es decir, supervisión del progreso del registro o reproducción G11B 27/36; en memorias estáticas G11C 29/00). › Registro o evaluación estática de la actividad del computador, p. ej. de las interrupciones o de las operaciones de entrada-salida.
  • G06F9/30 G06F […] › G06F 9/00 Disposiciones para el control por programa, p. ej. unidades de control (control por programa para dispositivos periféricos G06F 13/10). › Disposiciones para ejecutar instrucciones de máquinas, p. ej. decodificación de instrucciones (para ejecutar microinstrucciones G06F 9/22).

PDF original: ES-2389894_T3.pdf

 


Fragmento de la descripción:

Equipo de extracción de tiempo de CPU.

Campo técnico

Esta invención se refiere, en general, al procesamiento o tratamiento dentro de un entorno de tratamiento y, en particular, a una instalación o equipo para determinar de forma eficiente el uso de recursos de las tareas.

Antecedentes de la invención

La determinación del uso de los recursos es crucial para muchos aspectos del tratamiento, incluyendo el refinamiento de código, la facturación, etc. Uno de los recursos para los que se determina la utilización es el tiempo de procesador. En la z/Architecture, ofrecida por la International Business Machines Corporation, se proporciona un temporizador que mide el tiempo de unidad central de procesamiento (CPU –“central processing unit”) transcurrido y causa una interrupción una vez transcurrida una cantidad especificada de tiempo.

Este temporizador es ajustado por una instrucción de control de Ajuste de Temporizador de CPU (SPT –“Set CPU Timer”) , y el contenido del temporizador se inspecciona a través de una instrucción de control de Almacenamiento de Temporizador de CPU (“STPT –“Store CPU Timer”) . Estas dos instrucciones son instrucciones privilegiadas o preferentes para garantizar la precisión del tiempo y, como tales, no son utilizables por programas de establecimiento de problemas (esto es, programas de usuario) .

Además de lo anterior, el sistema operativo z/OS®, ofrecido por la International Business Machines Corporation, también proporciona una rutina de servicio a la que se hace referencia como TIMEUSED (TIEMPO UTILIZADO) , que está disponible para los programas de establecimiento de problemas. Un programa u operación apela al servicio con el fin de determinar la cantidad de tiempo de CPU que ha empleado un fragmento o pieza de código (por ejemplo, una tarea) . La rutina de servicio TIMEUSED computa el tiempo transcurrido, añade el tiempo acumulado y devuelve el valor al programa. Los cálculos de la rutina TIMEUSED deben llevarse a cabo a la vez que esta es inhabilitada para interrupciones, puesto que cualquier interrupción podría afectar adversamente a los resultados mediante la manipulación del temporizador de CPU o del acumulador.

Se contacta con la rutina de servicio TIMEUSED a través de instrucciones de llamada a programa y de retorno de programa. La rutina se inhabilita para interrupciones, obtiene y libera un bloqueo de CPU, establece un entorno de recuperación, calcula el tiempo transcurrido y se rehabilita una vez completado su trabajo, todo lo cual lleva cientos de ciclos de CPU. Cuando se trata de medir un pequeño fragmento de código, las actuaciones preliminares de la rutina de servicio TIMEUSED pueden perturbar gravemente lo que se está midiendo.

El documento US-B-6.385.637 describe un método para determinar el uso de tiempo de CPU de las tareas utilizando un temporizador de tratamiento periódico. El documento US-A-6.016.466 describe la determinación del tiempo de ejecución para una porción de software mediante la obtención de valores de sello temporal. El documento WO-A00/72143 proporciona estadística de instrumentación en el nivel de subrutina.

Sumario de la invención

Basándose en lo anterior, existe la necesidad de una instalación o equipo para determinar de forma eficiente el uso de los recursos, tal como el tiempo de CPU transcurrido de una tarea. En particular, existe la necesidad de un equipo que determine de un modo eficiente el uso de recursos de las tareas sin apelar a servicios del sistema operativo. Existe la necesidad de que el usuario tenga la capacidad de determinar de un modo eficiente el uso de los recursos.

Las desventajas de la técnica anterior se superan, y se proporcionan ventajas adicionales, mediante la provisión de un método tal como se reivindica en la reivindicación 1.

Los productos de sistema y programa informáticos correspondientes al método anteriormente resumido, así como una o más instrucciones, se describen y reivindican también en la presente memoria.

Características y ventajas adicionales se constatan a través de las técnicas de la presente invención. Otras realizaciones y aspectos de la invención se describen en detalle en esta memoria y se consideran parte de la invención reivindicada.

Breve descripción de los dibujos

Uno o más aspectos de la presente invención se destacan particularmente y se reivindican distintivamente como ejemplos en las reivindicaciones proporcionadas a la conclusión de la memoria. Los anteriores y otros objetos, características y ventajas de la invención se ponen de manifiesto de un modo evidente a partir de la siguiente descripción detallada, tomada en combinación con los dibujos que se acompañan, en los cuales:

La Figura 1 ilustra una realización de un entorno de procesamiento o tratamiento que incorpora y utiliza uno o más aspectos de la presente invención;

La Figura 2 representa una realización de la lógica asociada con la determinación del uso de los recursos, de acuerdo con un aspecto de la presente invención;

La Figura 3 ilustra un ejemplo de un formato de una instrucción de Extracción de Tiempo de CPU que se utiliza de acuerdo con un aspecto de la presente invención;

La Figura 4a ilustra una realización de los campos de registro general 0 utilizados por la instrucción de Extracción de Tiempo de CPU de un aspecto de la presente invención;

La Figura 4b representa una realización de los campos de registro general 1 empleados por la instrucción de Extracción de Tiempo de CPU de un aspecto de la presente invención;

La Figura 5 ilustra una realización de la lógica asociada con la realización o ejecución de la instrucción de Extracción de tiempo de CPU, de acuerdo con un aspecto de la presente invención;

La Figura 6 es una representación esquemática de las operaciones de la instrucción de Extracción de Tiempo de CPU de un aspecto de la presente invención; y

La Figura 7 representa un ejemplo de un producto de programa informático que incorpora uno o más aspectos de la presente invención.

Mejor modo de llevar a cabo la invención

De acuerdo con un aspecto de la presente invención, se proporciona una instalación o equipo para determinar eficientemente el uso de recursos de las tareas que se ejecutan dentro de un entorno de procesamiento o tratamiento. En un ejemplo, se proporciona un equipo en el que el usuario (por ejemplo, un código de usuario, aplicación de usuario, programa de usuario, etc.) puede medir con precisión el tiempo de procesador requerido para ejecutar un fragmento de código particular (al que se hace referencia en la presente memoria como tarea) . Este equipo determina el tiempo de procesador transcurrido sin actuaciones preliminares que hayan distorsionado tales mediciones, tales como las actuaciones preliminares asociadas con el uso de un servicio de sistema operativo con el fin de determinar el tiempo transcurrido.

Una realización de un entorno de procesamiento o tratamiento que incorpora y utiliza uno o más aspectos de la presente invención, se describe con referencia a la Figura 1. El entorno de tratamiento 100 es, por ejemplo, un entorno de tratamiento múltiple que incluye una pluralidad de procesadores 102 (por ejemplo, unidades centrales de procesamiento (CPUs –“central processing units”) , una memoria 104 (por ejemplo, una memoria principal) y uno o más dispositivos de entrada / salida (E/S –“I/O (input / output) ”) 106, conectados entre sí a través de, por ejemplo, uno o más buses 108 u otras conexiones.

Como un ejemplo, cada procesador 102 es un servidor de IBM System ZTM, ofrecido por la International Business Machines Corporation, de Armonk, Nueva York, y uno o más de los procesadores ejecutan un sistema operativo, tal como el z/OS®, también ofrecido por la International Business Machines Corporation. (IBM y z/OS son marcas comerciales registradas de la International Business Machines Corporation, de Armonk, Nueva York, USA. Otros nombres utilizados en esta memoria pueden ser marcas comerciales registradas, marcas comerciales o nombres de producto de la International Business Machines Corporation o de otras compañías.)

El tratamiento dentro del entorno de tratamiento se ve facilitado por la provisión de una instalación... [Seguir leyendo]

 


Reivindicaciones:

1. Un método para medir el tiempo de procesamiento o tratamiento acumulado para tareas seleccionadas, mediante la ejecución de una instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU, dentro de un sistema informático que incluye un conjunto de 16 registros accesibles por la instrucción y un temporizador de CPU, de tal manera que el método comprende:

obtener, para la ejecución de la instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU definida por unaarquitectura, la instrucción EXTRACCIÓN DE TIEMPO DE CPU que comprende un campo de código op (opcode) que identifica la instrucción, un primer campo de base (B1) para identificar un primer registro y un primer campo de desplazamiento (D1) , un segundo campo de base (B2) para identificar un segundo registro y un segundo campo de desplazamiento (D2) , y un tercer registro, de tal manera que el tercer registro guarda una dirección de un tercer operando; y

ejecutar la instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU obtenida, automáticamente en el estado no privilegiado, invocando o llamando a un servicio de sistema operativo, de tal manera que la ejecución comprende:

determinar un valor en curso de un temporizador de CPU decremental;

sumar el contenido del primer registro y un valor del primer campo de desplazamiento con el fin de formar una dirección de un primer operando en almacenamiento, de tal modo que el primer operando representa el valor del temporizador de CPU en el momento en que se despachó una tarea;

buscar y recuperar, basándose en la dirección formada del primer operando, el primer operando, desde el dispositivo de almacenamiento;

restar del primer operando buscado y recuperado el valor en curso determinado del temporizador de CPU, a fin de producir un primer resultado;

almacenar el primer resultado en un cuarto registro, de tal modo que el primer resultado representa la cantidad del recurso utilizada por la tarea durante este intervalo de tiempo;

sumar el contenido del segundo registro y un valor del segundo campo de desplazamiento a fin de formar una dirección de un segundo operando;

buscar y recuperar, basándose en la dirección formada del segundo operando, el segundo operando desde el dispositivo de almacenamiento;

almacenar el segundo operando en un quinto registro, de tal modo que el segundo operando comprende una cantidad de tiempo utilizada previamente para la tarea; de tal manera que el tiempo de CPU total utilizado hasta ese momento por la tarea se determina añadiendo el primer resultado almacenado en el cuarto registro a la cantidad de tiempo previamente utilizada para la tarea, almacenada en el quinto registro;

buscar y recuperar, basándose en la dirección del quinto operando, el tercer operando desde el dispositivo de almacenamiento; y

almacenar el tercer operando recuperado en el tercer registro, de tal modo que el tercer operando comprende indicadores que designan información de tarea, de manera que la dirección del tercer operando en el tercer registro es sobrescrita por el tercer operando recuperado.

2. El método de acuerdo con la reivindicación 1, en el cual el cuarto registro se define por la arquitectura de manera que sea el registro 0 de los registros 0-15, y el quinto registro es definido por la arquitectura de manera que sea el registro 1 de los registros 0-15.

3. El método de acuerdo con la reivindicación 1, que comprende la etapa adicional consistente en que:

antes de obtener, para su ejecución, la instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU, el temporizador de CPU se ajusta en un valor que representa una cantidad especificada de tiempo asignada para la ejecución de la tarea por el sistema informático.

4. El método de acuerdo con la reivindicación 3, en el cual los indicadores del tercer operando recuperado contienen información que se utiliza para ajustar el tiempo de CPU para facturar a un usuario por una cantidad de tiempo de CPU empleada para la tarea.

5. El método de acuerdo con la reivindicación 1, de tal manera que el método se lleva a cabo en una unidad de procesamiento de una arquitectura diferente que está emulando la ejecución de la instrucción de máquina EXTRACCIÓN DE TIEMPO DE CPU.

6. Un sistema que comprende medios configurados para llevar a cabo todas las etapas del método de acuerdo con cualquier reivindicación de método precedente.

7. Un programa informático que comprende instrucciones para llevar a cabo todas las etapas del método de acuerdo con cualquiera de las reivindicaciones precedentes de método, cuando dicho programa informático se ejecuta en un sistema informático.


 

Patentes similares o relacionadas:

Procedimiento de gestión de módulos de software integrados para una computadora electrónica de un dispositivo de conmutación eléctrica, del 17 de Junio de 2020, de SCHNEIDER ELECTRIC INDUSTRIES SAS: Procedimiento de gestión de módulos de software integrados para una computadora electrónica integrada de un dispositivo eléctrico de conmutación de […]

Restauración de aceleración de servicio, del 10 de Junio de 2020, de Microsoft Technology Licensing, LLC: Un método para restaurar la aceleración del servicio para un servicio, el método que comprende: determinar que la aceleración del servicio para el […]

Aparato, sistema y método para procesar datos de registro de aplicaciones, del 3 de Junio de 2020, de LSIS Co., Ltd: Un sistema de procesamiento de datos de registro que comprende: un dispositivo de control de supervisión que se configura para ejecutar una aplicación y generar […]

Método y dispositivo para procesar información de llamadas de servicio, del 20 de Mayo de 2020, de Advanced New Technologies Co., Ltd: Un método para procesar una cadena de llamadas de servicio, el método que comprende: adquirir una o más cadenas de llamadas de servicio […]

Un método y sistema para modelado de tareas de aplicaciones de teléfono móvil, del 1 de Enero de 2020, de DEUTSCHE TELEKOM AG: Un sistema para determinar el uso y ayudar en la operación de aplicaciones secuenciales interactivas que se ejecutan en uno o más dispositivos móviles, que comprende: […]

Procedimiento de supervisión del rendimiento de una aplicación de software, del 13 de Noviembre de 2019, de Actual Experience PLC: Procedimiento de supervisión del nivel de rendimiento de una aplicación de software que se ejecuta en un dispositivo informático conectado a una red de ordenadores y […]

Imagen de 'Control de utilización de red'Control de utilización de red, del 30 de Octubre de 2019, de Microsoft Technology Licensing, LLC: Un procedimiento de especificación y asignación de ancho de banda de red para aplicaciones distribuidas que se ejecutan en una red en máquinas (114; […]

Notificación de instrumentación en tiempo de ejecución, del 21 de Agosto de 2019, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un procedimiento implementado por ordenador para la notificación de instrumentación en tiempo de ejecución, el procedimiento que comprende: ejecutar […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .