100 likes | 250 Views
Using SAS Parallel-Processing Features To Reduce Program Execution Time. Presented by Berwick Chan Kaiser Permanente Vaccine Study Center NCAL Division of Research October 2009 For BASAS October 2009 meeting. MP in SAS. Starting in version 6, SAS introduced multi-processing feature
E N D
Using SAS Parallel-Processing Features To Reduce Program Execution Time Presented by Berwick Chan Kaiser Permanente Vaccine Study Center NCAL Division of Research October 2009 For BASAS October 2009 meeting
MP in SAS • Starting in version 6, SAS introduced multi-processing feature • Starting in version 9, SAS introduced a new SPD engine that provide multi-thread processing power
MP-Connect • Provided by the SAS-Connect module • Uses default SAS engine LIBNAMElibref 'SAS-data-library • Allows independent tasks / steps within the same SAS program to be executed concurrently • Requires additional programming
SPDE Engine • Uses Scalable Performance Database Engine LIBNAMElibref spde 'SAS-data-library' • Provides multi-thread process automatically • Requires no additional programming • Requires additional setup process for SAS library / table
SAS (Default) Processing Flow Execution Time SAS starts Task 1 X seconds Task 2 y seconds Total: (x+y) seconds SAS ends
SAS MP Processing Flow Execution Time SAS starts Task1 Task 2 SAS starts SAS starts Task 2 y sec Task 1 SAS ends x sec SAS ends Total exec time: max(x,y) sec SAS ends
Sequential / MP Process Comparison • Program executed in sequential process • Program executed in MP • Result: MP version takes about 59% execution time of the sequential version (34.78 sec vs. 59.2 sec), a 41% savings.
More About MP-Connect • Provides a new set of SAS commands • Enables communications among concurrent sessions / tasks: • Work libraries sharing • Macro variables passing • Session status checking • Pipeline parallelism (using SASESOCK engine) http://support.sas.com/onlinedoc/913/getDoc/en/connref.hlp/a002626625.htm • Manages computer resource more efficient across systems
More About MP-Connect • Not applicable to all programs, good for running independent tasks within the same program. Ideal applications: • Production jobs with short update windows • ETL applications that access different databases • Online applications that demand quick response • Performance enhancement on individual program may vary and is depending on system resource availability during program execution
More About MP-Connect • Useful links: http://support.sas.com/onlinedoc/913/getDoc/en/connref.hlp/connrefwhatsnew900.htm http://support.sas.com/rnd/scalability/tricks/connect.html http://www2.sas.com/proceedings/sugi28/279-28.pdf