domingo, 20 de agosto de 2017

Ejecución de procesos en SAS Grid

Una forma de mejorar el rendimiento de los procesos SAS es el uso del módulo SAS Grid (www.sas.com/grid). SAS Grid Computing es un entorno de computación distribuida que permite distribuir procesos entre un conjunto de nodos, balancear la carga de trabajo y reducir tiempos de ejecución de una forma transparente para los usuarios. SAS Grid manager provee una administración centralizada de la arquitectura. Permite planificar los procesos y manejar prioridades.



En este post vamos a ver un breve ejemplo de cómo modificar un proceso SAS Base para poder
ejecutarlo en Grid.

Tal y como se puede ver en el ejemplo, es necesario añadir la sentencia 'rsubmit' y 'endrsubmit'
para delimitar el código (subproceso) que se ejecutará en Grid. Igualmente hay que añadir una llamada a la función grdsvc_enable que indica a SAS que debe usar el Grid y  especifica un SAS aplication Server. SAS Grid Manager asigna los subprocesos a nodos del Grid. La sentencia signon permite inicar un sesión en Grid y signoff terminarla.

-------------

SAS Grid Computing (www.sas.com/grid), is a shared, general‐purpose computing environment for lots of SAS users running lots of different SAS applications, provides robust management capability.SAS Grid Manager does that job. You can greatly reduce the processing time for individual SAS jobs because jobs are load‐balanced across multiple resources and can even be split up. Because SAS Grid Manager provides a centrally administered environment, it works with policies that identify high‐priority users and/or jobs, and also designates which jobs get what portion of the computing resources.

In this post we show an example of how to run a piece of SAS Base code in a Grid environment.

To allow a particular SAS program to use distributed parallel processing,the user adds RSUBMIT and ENDRSUBMIT statements around each subtask, and also adds the GRDSVC_ENABLE function call, this function  tells SAS to use the grid and specifies the SAS application server. SAS Grid Manager automatically assigns each identified subtask to a grid node.The SIGNON and SIGNOFF statements start and end a session on the grid. The only required option is a session‐id


Ejemplo / Example:

options
metaserver=sasserver.demo.sas.com
metaport=8561 metapass=xxxxx
metauser=xxxxx;
%let rc=%sysfunc( grdsvc_enable(
_all_, server=SASApp ));
signon grid1;
%SYSLPUT mpg = 30;

rsubmit;
proc sql;
create table WORK.HIGHMPG as
select * from SASHELP.CARS
where mpg > &mpg;
quit;
PROC DOWNLOAD data=WORK.HIGHMPG
out=WORK.remote_results;
run;
endrsubmit;

signoff grid1;

Formación SAS

No hay comentarios:

Publicar un comentario