En las computadoras mainframe IBM System/390 e IBM Z , una facilidad de acoplamiento o CF es una pieza de hardware de computadora o máquina virtual que coordina múltiples procesadores.
Un Sysplex Paralelo [1] [2] [3] se basa en una o más Instalaciones de Acoplamiento (CF). Una instalación de acoplamiento es un procesador mainframe (que se ejecuta en una LPAR propia, con un CP físico dedicado, definido a través de la Consola de Administración de Hardware (HMC)), con memoria y canales especiales (Enlaces CF), y un sistema operativo especializado llamado Código de Control de Instalación de Acoplamiento (CFCC). No tiene dispositivos de E/S, aparte de los enlaces CF. La información en el CF reside completamente en la memoria, ya que CFCC no es un sistema operativo de memoria virtual . Un CF normalmente tiene una gran memoria, del orden de varias decenas de gigabytes. El CF no ejecuta ningún software de aplicación.
Cuando se introdujo originalmente, el CFCC se ejecutaba en una unidad mainframe 9674 separada que era esencialmente un procesador sin instalaciones de E/S distintas a los enlaces CF. Más tarde, [a] IBM habilitó el uso de una Instalación de Acoplamiento Interno donde el CFCC se ejecuta en una partición lógica ( LPAR ) definida en el complejo de procesador estándar y se comunica a través de enlaces internos dentro de ese hardware complejo de procesador. Los enlaces internos se simulan, mientras que los enlaces a otra unidad de procesador se realizan a través de cables de cobre o fibra óptica. Por lo general, se configura más de un CF en un clúster Sysplex para lograr confiabilidad y disponibilidad. El soporte de recuperación en el sistema operativo z/OS permite reconstruir las estructuras en el CF alternativo en caso de falla.
Con el apoyo de los CF, un clúster Sysplex se escala muy bien hasta varios cientos de CPU (en hasta 32 miembros, cada uno con hasta 190 CPU) que ejecutan aplicaciones de transacciones y bases de datos. Mediante los enlaces CF, los datos se pueden intercambiar directamente entre la memoria CF y la memoria de los sistemas conectados, utilizando un mecanismo de acceso directo a la memoria , sin interrumpir un programa en ejecución. Los sistemas en un clúster Sysplex almacenan información CF en la memoria local en un área llamada vector de bits. Esto les permite consultar localmente información crítica del estado de otros sistemas en el Sysplex sin la necesidad de emitir solicitudes al CF. La arquitectura System z incluye 18 instrucciones especiales de máquina y características de hardware adicionales que admiten el funcionamiento de CF.
Un CF se utiliza para tres propósitos:
Estos tres propósitos se satisfacen mediante tres tipos de estructura:
Una estructura es una parte dedicada de la memoria CF. Se dice que está conectada a ella mediante aplicaciones específicas que explotan CF en los sistemas z/OS acoplados . Un Parallel Sysplex típico contiene varias estructuras de cada tipo. Cada explotador de software puede utilizar varias estructuras de cada tipo. Por ejemplo, cada grupo de uso compartido de datos de Db2 utiliza una estructura de bloqueo, una estructura de lista y varias estructuras de caché (una para cada grupo de búferes de grupo (GBP)).
Las estructuras se pueden duplicar en distintos CF, lo que permite mantener sincronizadas dos copias de la misma estructura. La duplicación se utiliza a menudo como parte de la iniciativa de una instalación para eliminar puntos únicos de fallo, con el objetivo de reducir la incidencia y la duración de las interrupciones de las aplicaciones. En caso de fallo de un CF, se utiliza la otra copia de la estructura para satisfacer todas las solicitudes.
Una solicitud a una estructura CF es de uno de dos tipos:
La explotación de aplicaciones z/OS emite explícitamente solicitudes CF como sincrónicas o asincrónicas.
En z/OS Release 2, se introdujo el algoritmo heurístico de conversión de solicitudes dinámicas. Este utiliza tiempos de respuesta muestreados para decidir si se deben convertir las solicitudes sincrónicas en asincrónicas o no. Estas decisiones se basan en criterios como la velocidad del procesador acoplado. Cuanto mayor sea la distancia entre el sistema z/OS acoplado y el CF, mayor será la probabilidad de que las solicitudes se conviertan de sincrónicas a asincrónicas.
Las solicitudes asincrónicas nunca se convierten en sincrónicas.
Este algoritmo heurístico complementa un algoritmo existente anteriormente que convertía automáticamente (pero no de forma heurística) las solicitudes en función de condiciones como la ruta ocupada y el tamaño de los datos solicitados. La diferencia es que el nuevo algoritmo muestrea los tiempos de respuesta de forma dinámica.
Los CF son exclusivos de los mainframes S/390, zSeries y System z. Son fundamentales para la tecnología Parallel Sysplex.
El código CFCC se publica en forma de niveles, que normalmente se indican mediante su CFLEVEL. Por ejemplo, CFLEVEL 15 se anunció en abril de 2007. Cada nivel aporta una nueva función y, en ocasiones, un rendimiento mejorado. En la mayoría de los casos, la nueva función o la mejora del rendimiento requieren una versión correquisito de z/OS y, tal vez, una nueva función en algún subsistema (como Db2 ). Un ejemplo de ello es Coupling Facility Structure Duplexing. (En ocasiones, el soporte del sistema operativo y los subsistemas está disponible a través de PTF en lugar de una versión completa).