ClusterShell
Extracto
ClusterShell library and tools
Resumen
Resumen Principal
ClusterShell se presenta como una solución fundamental para la gestión eficiente de comandos paralelos en entornos de Computación de Alto Rendimiento (HPC), abarcando desde granjas de servidores hasta grandes clústeres Linux. Su propósito principal es mitigar los desafíos inherentes a la administración de estas infraestructuras distribuidas, como la orquestación de comandos a grupos de nodos, la implementación de algoritmos de ejecución optimizados, y la recopilación y consolidación inteligente de resultados, incluyendo la fusión de salidas idénticas y la recuperación de códigos de retorno. Esta biblioteca está hábilmente diseñada para integrarse con las facilidades de shell remoto existentes, como SSH, lo que asegura una adopción sencilla y robusta. Al abstraer la complejidad de la ejecución distribuida, ClusterShell permite a los administradores de sistemas enfocarse en tareas de mayor nivel, mejorando drásticamente la eficiencia operativa y la consistencia en el manejo de clústeres a gran escala, y facilitando el diagnóstico y la automatización.
Elementos Clave
- Ejecución Paralela y Gestión de Resultados Avanzada: ClusterShell se distingue por su capacidad para ejecutar comandos locales o distantes en paralelo en clústeres, enfrentando proactivamente los desafíos de HPC. Esto incluye la operación en grupos de nodos, el uso de algoritmos de ejecución optimizados para maximizar el rendimiento, y una gestión sofisticada de resultados que abarca la recopilación, la fusión de salidas idénticas y la recuperación precisa de códigos de retorno, lo que simplifica la administración y el análisis post-ejecución.
- **Integración Transparente
Contenido
local or distant commands in parallel on server farms or on large Linux clusters. It will take care of common issues encountered on HPC clusters, such as operating on groups of nodes, running distributed commands using optimized execution algorithms, as well as gathering results and merging identical outputs, or retrieving return codes. ClusterShell takes advantage of existing remote shell facilities already installed on your systems, like SSH.
ClusterShell provides clush, clubak and cluset/nodeset, convenient command-line tools that allow traditional shell scripts to benefit from some of the library’s features:
clush: issue commands to cluster nodes and format output
Example of use:
$ clush -abL uname -r node[32-49,51-71,80,82-150,156-159]: 2.6.18-164.11.1.el5 node[3-7,72-79]: 2.6.18-164.11.1.el5_lustre1.10.0.36 node[2,151-155]: 2.6.31.6-145.fc11.2.x86_64
See man clush for more details.
clubak: improved dshbak to gather and sort dsh-like outputs
See man clubak for more details.
nodeset (or cluset): compute advanced nodeset/nodegroup operations
Examples of use:
$ echo node160 node161 node162 node163 | nodeset -f node[160-163] $ nodeset -f node[0-7,32-159] node[160-163] node[0-7,32-163] $ nodeset -e node[160-163] node160 node161 node162 node163 $ nodeset -f node[32-159] -x node33 node[32,34-159] $ nodeset -f node[32-159] -i node[0-7,20-21,32,156-159] node[32,156-159] $ nodeset -f node[33-159] --xor node[32-33,156-159] node[32,34-155] $ nodeset -l @oss @mds @io @compute $ nodeset -e @mds node6 node7
See man nodeset (or man cluset) for more details.
Please visit the ClusterShell website.
Fuente: PyPI