Compartir a través de


Funciones seguras del clúster

Hace referencia a: Excel 2013 | Office 2013 | Visual Studio

En Excel 2013, Excel puede descargar llamadas User-Defined Function (UDF) a un clúster informático de alto rendimiento a través de una interfaz de conector de clúster dedicada. Los proveedores de clústeres de proceso proporcionan conectores de clúster. Los autores de UDF pueden declarar sus UDF como seguras para el clúster y, después, cuando hay un conector de clúster, Excel envía llamadas a estas UDF al conector del clúster para la descarga.

Cuando Excel detecta una UDF segura para clústeres durante la actualización, pasa el nombre del XLL que se está ejecutando actualmente, el nombre de la UDF segura para clústeres y cualquier parámetro al conector del clúster. El conector ejecuta la llamada UDF de forma remota y devuelve los resultados a Excel. El cálculo no dependiente continúa y, cuando el conector del clúster ha terminado de ejecutar la UDF, pasa los resultados a Excel y los cálculos dependientes continúan. El mecanismo de este comportamiento asincrónico imita el mecanismo usado por las UDF asincrónicas, salvo que el conector del clúster administra los aspectos asincrónicos en lugar del autor de UDF. Normalmente, un conector de clúster implementa una corrección de compatibilidad de XLL para cargar XLL y ejecutar UDF en nodos de clúster de proceso.

La mecánica de declarar las UDF como seguras para clústeres es similar a la de declarar las UDF como seguras para la actualización multiproceso. Sin embargo, dado que la UDF no se ejecuta necesariamente en el mismo equipo que otras UDF de la misma sesión de Excel, hay diferentes consideraciones al escribir UDF seguras para clústeres.

Para registrar una UDF como segura para clústeres, debe llamar a la función de devolución de llamada xlfRegister (Formulario 1) a través de la interfaz de Excel12 o Excel12v . Para obtener más información sobre estas interfaces, vea Excel4/Excel12 y Excel4v/Excel12v. No se admite el registro de una UDF como segura para clústeres a través de la interfaz de Excel4 o Excel4v .

Si registra una función como segura para clústeres, debe asegurarse de que la función se comporta de forma segura para el clúster. Aunque el comportamiento exacto del conector del clúster es específico de la implementación, debe diseñar la UDF para que se ejecute en un sistema de equipo distribuido y tener las siguientes características:

  • Una UDF no debe basarse en ningún estado de memoria. Por ejemplo, una UDF no debe basarse en una memoria caché en memoria existente.

  • Una UDF no debe realizar devoluciones de llamada de Excel que el proveedor de conectores de clúster no admite.

Además del comportamiento seguro para clústeres, existen las siguientes restricciones técnicas en las UDF seguras para clústeres:

  1. No hay argumentos XLOPER (tipos 'P', 'R').

  2. No hay argumentos XLOPER12 que admitan referencias de intervalo (escriba "U").

  3. No puede ser una función equivalente de hoja de macros ('#' y '&' no se puede combinar).

En el caso de las UDF con tiempos de ejecución más cortos, la sobrecarga de la descarga puede ser mayor que el tiempo que tarda la UDF en ejecutarse, negando muchas de las ventajas de usar esta infraestructura.

Nota:

No se puede declarar una UDF segura para clústeres como una UDF asincrónica.

Una UDF puede determinar si se ejecuta mediante un conector de clúster llamando a la función de devolución de llamada xlRunningOnCluster .