RESUMEN DE LA INVENCIÓN La invención incluye métodos para ' derivar una métrica de capacidad de procesamiento de sistema de computadora para caracterizar un sistema de computadora que comprende cuando menos un procesador de computadora que tiene una velocidad de reloj de procesador conocida, que comprende el pa.so de realizar una función de computación en donde cuando menos un término de la función se determina por un valor X derivado cuando menos en parte elevando la velocidad ce reloj a una potencia exponencial no integral. La capacidad de procesamiento de esta manera se puede calcular mediante análisis matemático solo, basado en un número limitaco de entradas respecto a una combinación de sistema de computadora real o teórica, en una forma que se repite de manera precisa, y puede reemplazar, la prueba física real o puntos de referencia de los sistemas.
SISTEMA Y MÉTODO PARA ASIGNAR UNA MEDIDA MÉTRICA DE MOTOR A
UN SISTEMA DE COMPUTACIÓN
ESPECIFICACIÓN
ANTECEDENTES DE LA INVENCIÓN Esta solicitud reclama el beneficio de, e incorpora por referencia en su totalidad, la Solicitud Provisional de Patente de E.U.A. No. 60/329,467, presentada el 10 de octubre de 2001. La presente invención se relaciona con sistemas y métodos para la evaluación y modelación de motores de sistema de computadora y, en particular con métodos y sistemas para proporcionar un ambiente fuera de linea, sin necesidad de probar físicamente un sistema de computadora particular (o un número de sistemas), información relativa a la capacidad de procesamiento y/o funcionamiento de dichos sistemas, esta información siendo derivada por análisis de los componentes del sistema de computadora. Los usuarios de sistemas de computadora, así como administradores de servicios de información y otros que pueden ser responsables de avaluar, comprar, o implementar sistemas de computadora, v.gr., para una empresa, con frecuencia confrontan múltiples selecciones en cuanto a una gran pluralidad de posibles configuraciones de sistema. Por ejemplo, dentro del contexto de un sistema de computadora servidor de empresa, una compañía que considera la compra de dicho sistema tendrá muchas opciones en cuando a combinaciones variables de sistemas "candidatos" que tienen componentes de sistema respectivos de diferente arquitectura y trazos de funcionamiento. Algunos de estos sistemas candidatos que pueden ser sistemas recientemente fabricados, mientras que algunos sistemas candidatos pueden representar combinaciones de componentes ya instalados poseídos por la compañía, junto con componentes nuevos mejorados adicionales. Los servidores de empresa comprenden, entre otras cosas, múltiples unidades de procesamiento centrales (CPUs), que a su vez pueden estar disponibles en una variedad de velocidades de reloj de procesador (proporcionales al número de operaciones de procesamiento que puede realizar dicho procesador en un segundo) . Los procesadores también pueden estar configurados en una variedad de clases de arquitectura o arquitecturas de bits, que determinan parcialmente la "anchura de canal" de un procesador determinado. Por ejemplo, las pastillas de procesador de clase Pentium actuales emplean de manera típica una arquitectura de 32 bits, mientras que los servidores Unix utilizados actualmente pueden emplear más comúnmente 64 clases de arquitectura de bit. Para los propósitos de esta invención, un sistema de computadora se puede considerar como que comprende un procesador de computadora o cualquier combinación de procesadores de computadora de cooperación operacionalmente enlazados, ya sea ubicados dentro de una sola unidad de computadora o distribuidos de manera remota. Numerosas variables de componente distintas pueden contribuir al funcionamiento de un sistema particular, y la capacidad de mezclar y hacer coincidir los componentes de trazos de funcionamiento o función variable (v.gr. , la capacidad de variar la cantidad de Memoria de Acceso Aleatorio en el sistema, o de seleccionar de entre una variedad de diferentes barras de datos, coprocesadores, y componentes de función especial) complica adicionalmente la tarea de determinar y comparar el funcionamiento total del sistema como entre sistemas de computadora configurados especialmente, o "fuera de anaquel" que están bajo consideración (v.gr., para compra por la empresa). Entre los "puntos de referencia" que una empresa puede desear considerar al evaluar un sistema de computadora particular, o comparar una pluralidad de dichos sistemas, se encuentra la capacidad de procesamiento de cada sistema. "Capacidad" se puede entender comúnmente como una medida de la cantidad máxima de operaciones de procesamiento de computadora que un sistema de computadora particular (comprendiendo uno o más procesadores) puede realizar en un periodo de tiempo constante. Las mediciones de capacidad se han hecho históricamente en dimensiones de millones de instrucciones por segundo (MIPS) , pero otras unidades se pueden seleccionar para medición de capacidad también. Las mediciones de capacidad se pueden considerar como importantes para evaluar la practicalidad (y tamaño y configuración de sistema requerido) para llevar a escala el servidor u otras operaciones de computadora, para comparación de lado por lado de múltiples sistemas, para análisis de costo, o para otras evaluaciones de usuario relacionadas del volumen de computación que se puede manejar por un sistema frente a frente de otro. La capacidad no dicta necesariamente que un sistema de capacidad determinada funcionará en realidad en su número máximo de operaciones de procesamiento como se utiliza en conjunción con aplicaciones de programación reales, y no indica necesariamente si un sistema tendrá trazos operacionales o de salida deseables como se utilizan con una aplicación. Determinar el funcionamiento y salida de un sistema, como se implemente en la actualidad de esta manera para aplicaciones, a impuesto una tarea separada de determinar capacidad. "Funcionamiento" se puede entender comúnmente como relacionado con la cantidad de salida específica de aplicación (o unidades de trabajo efectuado de aplicado) que se puede realizar por un sistema en una unidad de tiempo determinada. No se cree que ha, sin embargo, ninguna definición universal por lo que una "unidad de trabajo" está en un ambiente de servidor (aún cuando dichas definiciones de "unidad de trabajo" se han propuestos en un ambiente de marco principal) . Las métricas de medición de funcionamiento se han diseñado de manera típica en cuanto a cada programa de aplicación o clase de programas de aplicación . Ya que el costo de sistemas de computadoras puede ser grande, los usuarios o usuarios potenciales probablemente desearán saber tanto acerca de los trazos operacionales de sistemas particulares como sea posible antes de, v.gr., invertir en dicho sistema, de manera de evitar una decisión económica baja al distribuir recursos de la empresa. Sin embargo, el proceso de evaluar numerosos sistemas de computadora posibles también impone demandas en los recursos de la empresa. Como un mínimo, el tiempo del empleado se debe dedicar hacia la reunión de información y procesos de evaluación. Cuando un número grande de sistemas divergentes está bajo evaluación, cada uno teniendo un número posiblemente grande de trazos de componente variables en combinación, el proceso de simplemente reunir dicha información puede imponer un gasto considerable de tiempo y dinero - especialmente en el caso de sistemas candidatos en cuando a qué ciertos parámetros de sistema no están fácilmente disponibles (como puede ocurrir en el caso de un sistema candidato que consiste en parte de un mercado secundario, ya instalado, u otro componente de legado para el que no son fácilmente disponibles las especificaciones completas) . Además, las clasificaciones de funcionamiento de computadora existentes, tales como las clasificaciones comúnmente conocidas TPC-C, TPC-D, y Specmark, se basan típicamente corriendo una batería de proceso de utilización sobre un servidor candidato real para determinar su nivel de funcionamiento como se implementa en realidad. A este respecto, el Transaction Processing Performance Council (a continuación TPC) publica las clasificaciones de funcionamiento normales de la industria TPC-C, versión 5.0 y TPC-D, versión 2.1, que se pueden encontrar en www. tpc, org/tpcc/spec/tpcccurrent . pdf, y www. tpc, org/tpcc/spec/tpcc_current . pdf, respectivamente, y se anexan como Apéndice A y B, respectivamente la Standard Performance Evaluation Corporation (a continuación Specmark) publica un grupo de clasificaciones de punto de referencia que se mantienen y se pueden encontrar en www.spec.org. Cada una de estar normas de clasificación de funcionamiento de sistema de computadora conocidas requiere la prueba física real de trazos de procesamiento de un sistema de computadora específico bajo operaciones de prueba en realidad implementadas . Configurar múltiples sistemas candidatos para implementación real de protocolos de prueba, así como la recolección de salida de dichos protocolos como se implemente en las máquinas de prueba, pueden imponer gastos considerables en términos de tiempo, logísticas, dinero, y verificación de la precisión de cada prueba empírica del sistema físicamente configurado. De esta manera, sería deseable proporcionar un 3istema y método para ganar información de evaluación concerniente a capacidad y/o funcionamiento de sistema de computadora mediante análisis de combinaciones de componente, para una amplia gama de sistemas de computadora reales o teóricos, sin correr en realidad pruebas de funcionamiento en un ejemplo físicamente configurado de cada sistema candidato. Sería deseable además proporcionar dichos sistemas y métodos que requieren solamente un número comparativamente pequeño de entradas características de componente para el análisis, de modo que no se necesite reunir información extensa acerca de sistemas candidatos. Sería además deseable configurar dichos sistemas y métodos de una forma que las métricas de sistema proporcionadas consistentes con los resultados empíricos de prueba física realmente implementada de sistemas en realidad configurados, de modo que el análisis de computación del método analítico, no empírico reproducido de manera precisa, los puntos de datos empíricos de prueba empírica como se implementa. La técnica anterior no se cree que llene estas necesidades . COMPENDIO DE LA INVENCIÓN La presente invención proporciona sistemas y métodos para calcular una métrica de medición motor de sistema de computadora ("EMM") aplicando una metodología de computación para llegar matemáticamente a un valor de capacidad de sistema de computadora sin tener que correr programas de carga de trabajo en sistemas en realidad configurados . La presente invención incluye métodos para derivar una métrica de capacidad de procesamiento de sistema de computadora para caracterizar un sistema de computadora que comprende cuando menos un procesador de computadora que tiene una velocidad de reloj de procesador conocida, incluyendo el paso de realizar una función de computación en donde cuando menos un término de la función se determina por un valor ("X") derivado cuando menos en parte elevando la velocidad de reloj conocida a una energía exponencial no integral. Debido a su base de computación, la clasificación de EMM producida no está ligada a normas de funcionamiento existentes que puedan ser incompatibles. Las metodologías de clasificación de funcionamiento existentes pueden frustrar a los usuarios de tecnología debido a que miden diferentes elementos, y no se pueden trasladar entre tipos de medidas o aplicaciones respectivas. Adicionalmente, puede ser necesario formular nuevas métricas de funcionamiento o medios de medición para nuevas combinaciones de sistemas particulares y aplicaciones particulares. La presente invención no mide el funcionamiento en si, sino más bien mide, en el primer caso, la capacidad del sistema. Las dificultades de definir el funcionamiento de esta manera se pueden mejorar proporcionando un EM como una medida genérica que se puede calcular para una escala de tecnologías de servidor actuales y tecnologías de servidor futuras y configuraciones también. Se cree que en capacidad general, como se mide mediante el EMM, puede tener adicionalmente algún grado significativo de valor predictivo para trazos de funcionamiento - es decir, el funcionamiento se puede considerar de manera útil, como una función aproximadamente lineal de capacidad de sistema, de modo que sistemas con mayor capacidad de procesamiento se pueden considerar probables para también tener trazos de funcionamiento valores para una aplicación particular que sistemas con menor capacidad de procesamiento. Si esto es estrictamente verdad o no, el cálculo analítico fácil de valores de capacidad de una forma que coincide puntos de datos empíricamente derivados pueden tener un valor en sí para comparaciones de múltiples sistemas. El EMM se puede aplicar para evaluación de capacidad de procesamiento para sistemas abiertos (servidores genéricos), en implementacicnes de servidor de operaciones de empresa específicas, servidores de receptores de red, sistemas de computación distribuidos, y una escala de otros sistemas que tienen uno o más procesadores. Adicionalmente, la presente invención permite el cálculo de la métrica de capacidad de EMM utilizando solamente tres variables relacionadas con el sistema: (a) el número de procesadores de CPU en el sistema; (b) la velocidad de reloj de cada CPU; y (c) la arquitectura de bit o anchura de canal de cada CPU. El requerimiento de solamente tres variables de sistema puede permitirla reducción de costos de recolección de datos y simplificación del cálculo analítico de EMM. El método de cálculo de EMM de la presente invención proporciona una base de computación para determinar la capacidad de procesamiento de configuraciones de hardware particulares. No necesita tratar de factorizar en atributos de funcionamiento tales como tipo de aplicación, tipo de base de datos, configuración de almacenamiento, RAM, parámetros de caching, etc., como las permutaciones de estos aspectos puedan crear un modelo extremadamente complejo que requiere mantenimiento constante, si dicho modelo se pudiera crear en absoluto. Los métodos de cálculo de EMM de la presente invención están diseñados para crear una medida relativa para computar la base de energía de sistemas distribuidos para el propósito de costo y distribución de personal y selección de grupo de par homogéneo.
DESCRIPCIÓN DETALLADA DE MODALIDADES DE EJEMPLO DE LA INVENCIÓN La unidad fundamental en la que EMM se expresa de conformidad con la presente invención es una unidad arbitrariamente definida de capacidad de computación que se diseña para aproximar la capacidad de computación de hardware servidor a través de un algoritmo empírico. Una cantidad de unidades EMM simboliza cualquier combinación de una o más CPUs, una velocidad de reloj de CPU seleccionada, y la clase de arquitectura, es decir, 32-bit, 64-bit, etc. En la modalidad preferida, cada una de las CPUs en una pluralidad de CPUs de sistema tendrá velocidad de reloj idéntica frente a frente las otras CPUs del sistema. Los métodos de la presente invención también se podrían aplicar a sistemas que tienen múltiples procesadores de diferentes velocidades de reloj respectivas, y específicamente las enseñanzas de la presente invención respecto al uso de un exponencial no integral, menos de uno, de la velocidad de reloj al derivar métricas de capacidad, a pesar que dicha aplicación requeriría la aplicación de diferentes fórmulas de computación . El proceso utilizado para asignar una cantidad particular de unidades de EMM a cualquier sistema se normaliza contra puntos de referencia establecidos (769 observaciones Spec mark basadas en prueba real de sistemas físicamente modalizados de configuración específica de conformidad con el protocolo Spec mark) , llegando finalmente a una cantidad de capacidad de computación que simula matemáticamente estos puntos de datos realmente probados. La prueba ha confirmado que los resultados de EMM matemáticamente derivados siguen de una manera similar y magnitud, como los hacen Specmarks para los mismos ambientes del sistema. Las unidades EMM son medidas de capacidad de computación, similares a MIPS (Million Instructions Per Second) de cuadro principal que definen la capacidad de trabajo del servidor. Las unidades EMM no tratan de definir directamente las características de funcionamiento, debido a que el funcionamiento es una función de docenas de atributos (OS, canales, velocidad de canal, aplicaciones, etc.), las permutaciones de los cuales no se prestan a análisis cuantificable . A través de esta naturaleza de computación, las unidades EMM pueden ayudar a superar los problemas encontrados por la plétora existente de normales que están ya sea ligados a un tipo particular de carga de trabajo, por ejemplo clasificaciones de TPC, o son incompatibles de norma a normal, por ejemplo, compatibilidad entre Spec92 y Spec95. Debido a que la unidad EMM se deriva de una computación matemática, no requiere mantenimiento constante ni prueba física de componentes de sistema real, y se puede alterar y recomputar dentro de una base de datos de análisis, en caso de que se requieran cambios futuros a la fórmula. De esta manera, el EM se puede hacer compatible hacia atrás, suponiendo que los elementos de datos de fuente están en existencia dentro de la base de datos. El EMM se puede derivar simplemente mediante cualquier método de computación apropiado para calcular el resultado de una función f(X) matemática conocida, en donde X es una constante (para cada configuración de sistema particular) derivado de características de componente de sistema seleccionado. Como un ejemplo, el EMM como se expone en la presente invención se puede calcular fácilmente utilizando un analizador electrónico (tal como una computadora personal programada o calculadora) . Se ha encontrado que los programas de hoja dispersa comunes, tales como Microsoft Excel, utilizados en conjunción con una computadora personal de escritorio como el analizador, son fácilmente adaptables y útiles para calcular, exhibir, y almacenar valores de EMM para una escala de sistemas candidato, pero se entenderá fácilmente que el cálculo sencillo de f (X) se podría lograr utilizando una escala de analizadores diferentes. La presente invención incluye de esta manera no solamente los métodos expuestos en la presente para cálculo de EMM sino también aparatos de analizador (v.gr., computadoras personales) suministrados con programación para realización del método de computación, asi como programas de software dedicados o grupos de software, previamente programados con hoja dispersa u otra funcionalidad computacionalmente capacitada, para implementar las funciones de computación de EMM descritas expuestas en la presente, para compra o uso por usuarios finales en conjunción con sus propios analizadores. Las funciones de computación y cálculos de EMM de la presente invención también pueden hacerse fácilmente disponibles a usuarios remotos en un ambiente de computación distribuida (v.gr., a través de una VPN o red, o a través del Internet) , creciendo algunos o todos los cálculos de función de EMM de la presente invención en un servidor central como el dispositivo analizador (aún cuando en dicha modalidad, las funciones de análisis se podrían realizar alternativamente cuando menos en parte mediante objetos de software u otra programación de analizador de computación provisto a los usuarios remotos también) , a cuyo servidor uno o más usuarios remotos ganan acceso a modelación de sistema interactivo y computación EMM a través de una red. En una modalidad preferida, EMM se define como una función de X, en donde X se deriva de solamente (a) el número de CPUs en el sistema; (b) la velocidad de reloj de cada CPU; y (c) el valor de arquitectura de bit. En esta modalidad, X varia linealmente con el número de CPUs y valor de arquitectura de bit, pero no linealmente con velocidad de reloj de CPU. Esta relación refleja el hecho de que la capacidad de sistema no aumenta linealmente con velocidad de reloj de procesador, como se ha demostrado empíricamente. La presente invención modela el aumento en capacidad de procesamiento de sistema como variando en proporción a un valor derivado "X," X siendo derivado cuando menos en parte de una energía exponencial no integral de velocidad de reloj de procesador (como se expresa en ciclos por segundo o Hertzios), en donde el exponente no integral es menos de 1. La variación de capacidad (con respecto a X) no es directa o linealmente proporcional, sino más bien se puede expresar y variará de conformidad con una función algebraica de múltiples términos de X (la función siendo seleccionada para ajusfar los puntos de datos observados para prueba de capacidad de sistema empírica real como se describe abajo) . Una fórmula de ejemplo y preferida utilizada para computar un EMM sigue: Ec.l EMM = aE-bX3 - cE -dX2 + gX - h, en donde el símbolo "E" representa la anotación exponencial (es decir, diez elevado a una potencia específica) y, en donde Ec. 2 X=[ (Número de CPUs* (velocidad de reloj )r') + (Número de CPUs* (Arq. De bit/p) ) ] Como para los coeficientes en las ecuaciones anteriores, en una modalidad preferida, a puede ser un número real entre 1 y 10 inclusive, b puede ser un número real entre 10 y 12 inclusive, c puede ser un número real entre 1 y 4 inclusive, d puede ser un número real entre 5 y 7 inclusive, g puede ser un número real entre 0.35 y 0.5 inclusive, y h puede ser un número real entre 0 y 20 inclusive. Asimismo, en una modalidad preferida, n es un no entero menor de 1 y mayor de 0.7, y p es un número real entre 1 y 16 inclusive. Un cálculo de esta forma para determinar el valor de EMM se realizó para sistemas de ejemplo como se prueban físicamente en realidad en conjunción con 769 puntos de datos Spec mark discretos para configuraciones de sistema especificas, y se encontró que los valores de EMM matemáticamente derivados para el proceso analítico de la presente invención correlacionado substancialmente con prácticamente todos los puntos de datos Spec mark derivados de prueba física para los siguientes coeficientes de ejemplo como se aplica a a, b, c, d, g y h en la fórmula genérica: Ec. 3 EMM = 2E-11X3 - 3 E-6X2 + 0.4519 X - 18.471, con los coeficientes respectivos n y p para la computación de X siendo plicada como sigue: Ec. 4 X=Número de CPUs* (MHz ) 3-9373) + (Número de CPUs * (Are de Bit/8) ) ]
La versión de ejemplo anterior de la fórmula de cálculo de EMM, con los coeficientes específicos arriba expuestos, se puede utilizar para proporcionar cálculos métricos de capacidad que se esperan para coincidir substancialmente o predecir valores de capacidad de procesador en realidad probados para un sistema arbitrariamente definido que tiene un número arbitrario de procesadores y velocidad de reloj de procesador y clase de arquitectura en conjunción con arquitecturas de sistema actualmente contempladas. Como será evidente a aquellos experimentados en el ramo ce ajusfar curvas de puntos de datos empíricos, o proporcionar expresiones matemáticas para reproducir fielmente las curvas formadas por las mismas, las ecuaciones 1-4 de ejemplo anteriores por ningún medio no proporcionan la única función de ajuste de curva apropiada para expresar la relación entre capacidad de procesamiento por una parte, y el número de CPUs, la velocidad de reloj de CPU y clase de arquitectura; por la otra, por el contrario, un número grande de funciones de complejidad variable también se podría exponer que rendiría puntos de datos de conformidad con aquellos empíricamente derivados. La función de cuatro términos de las Ecuaciones 1 y 3 se han seleccionado como de ejemplo, y también comparativamente sencillas para computación frente a frente funciones alternativas que tienen más términos )o derivaciones más complejas para X) . Cualquier función que considere apropiadamente la variación de X en proporción a una potencia menos de uno, no integral de velocidad de reloj, y la variación consecuente de capacicad de procesador como una función del valor de X variable de esta manera derivado de dicha potencia exponencial no integral de velocidad de reloj, se puede seleccionar apropiadamente, como seria evidente a uno experto en el ramo. Los coeficientes apropiados para los términos de las funciones respectivas que incorporan de esta manera dichos valores X se pueden derivar mediante aplicación de métodos de búsqueda de meta y software para derivar ecuaciones para ajusfar una curva de función a puntos de datos conocidos. Aquellos de experiencia ordinaria en el ramo entenderá que mientras que la descripción anterior de la invención ha expuesto ciertas modalidades ilustrativas, la presente invención no está limitada por las modalidades de ejemplo expuestas en la presente. En particular, la mención de ciertas modalidades en conexión con sistemas o redes de operación de computadora particulares o aplicaciones analíticas particulares no es limitativa, y es una ventaja específica de la presente invención que se puede adaptar fácilmente para uso a través de una amplia variedad de configuraciones de sistema, ' red, y lenguaje de computadora por aquellos de experiencia ordinaria en el ramo, y que se puede implementar a un número de aplicaciones relacionadas con caracterización diferentes incluyendo sistemas de legado asi como sistemas desarrollados en el futuro. De esta manera, las modalidades ilustrativas expuestas en la presente no limitan el espíritu y alcance de la presente invención, que se limita solamente por las siguientes reivindicaciones.