¿Puede Emacs usar tramp para ejecutarse en una sesión interactiva en un nodo HPC remoto?

Pregunta:

He estado usando Emacs con ESS y tramp para cargar archivos remotos y ejecutar procesos R remotos en computadoras HPC. Con las claves ssh, tramp lo hace fácil con Cx Cf para encontrar el archivo en /ssh:myserver:/path/to/file seguido de Mx R para iniciar una sesión R.

Sin embargo, en las computadoras HPC que usan un sistema de programación de trabajos (por ejemplo, Sun Grid Engine o Torque) existen restricciones sobre la cantidad de memoria y CPU que se pueden usar en el nodo principal, así que tengo que iniciar una sesión interactiva usando qsub -I .

¿Es posible configurar tramp, ssh y / o Emacs para lanzar una sesión interactiva en un nodo esclavo (usando qsub -I o equivalente) después de que se realiza una conexión ssh?

Respuesta:

Parece que debería extender tramp-methods , agregando un nuevo método que es similar al método sudo pero usa qsub -I lugar. A continuación, podrá utilizar una ruta de tramp de varios saltos para conectarse primero al nodo principal y luego conectarse a un nodo de cálculo.

Prueba esto:

(add-to-list 'tramp-methods
  '("qsub"
    (tramp-login-program        "qsub")
    (tramp-login-args           (("-I"))) ; other options here?
    ;; Local $SHELL could be a nasty one, like zsh or fish.  Let's override it.
    (tramp-login-env            (("SHELL") ("/bin/sh")))
    (tramp-remote-shell         "/bin/sh")
    (tramp-remote-shell-args    ("-c"))
    (tramp-connection-timeout   10)))

Luego, usaría una ruta de acceso como /ssh:myserver|qsub:myserver:/path/to/file .

Puede que necesite especificar otras opciones para pasar a qsub; No lo he usado, así que no puedo ayudarte. También querrá revisar las otras opciones que puede especificar en un método de tramp; hay un par de docenas enumeradas en tramp.el.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım