DATA step or procedure boundaries. Because the programs are specifically written to
execute in threads, it is assumed that the THREADS option is set and the CPUCOUNT
option is greater than one. SAS Grid Manager enables subtasks of individual SAS jobs to
run in parallel on different parts of the grid and share a pool of resources. The threaded
subtasks can further benefit from threaded processing performed by any of the thread-
enabled procedures executed from within the code. Programs that have been analyzed
for parallel processing using the SAS Code Analyzer can be run on the grid with SAS
Grid Manager. This automatically assigns the identified subtasks to a grid node.
Many SAS products, such as SAS Enterprise Guide, SAS Enterprise Miner, SAS Data
Integration Studio, SAS Web Report Studio, SAS Marketing Automation, and SAS
Marketing Optimization are integrated with SAS Grid Manager. An option within the
application or in the SAS Metadata enables the integration. SAS Data Integration Studio
and SAS Enterprise Miner have code generation engines that can recognize opportunities
for parallelization and generate the appropriate code to submit to SAS Grid Manager to
execute in parallel across the grid.
Other SAS components, such as the SAS Intelligence Platform, use SAS Grid Manager
to determine the optimal SAS server for processing by distributing server workloads
across multiple computers on a network. SAS Grid Manager divides jobs into separate
processes that run in parallel across multiple servers. SAS Grid Manager is documented
in Grid Computing for SAS.
SAS In-Database Technology
SAS In-Database technology provides faster execution of commands and functions by
sending them to execute inside the databases by SAS applications. This process avoids
data movement and conversion but also takes advantage of the threading capabilities of
the host database.
SAS In-Database runs on a variety of threaded DBMS and hardware or software
appliance architectures such as Teradata, Greenplum, Aster Data, Netezza, and DB2.
Because the threading is controlled by the database, NOTHREADS and CPUCOUNT
options have no effect.
In-Database processes are divided into multiple parallel tasks within the database, each
working with small subsets of the overall data to be processed. As the results of the
smaller subsets are derived, they are consolidated and returned to the SAS application.
Typically, th execution times are much shorter than if the data were transferred to the
In-Database technology uses existing database functionality and standard SAS
functionality to extend that SAS functionality into the database. For example, Base SAS
procedures such as SORT or SUMMARY can be executed within the database
environment with the inclusion of simple options to the procedure’s code. These
procedures are “translated” into native database functions for execution within the
database environment. As an example of extending SAS functionality into the database,
scoring code generated by SAS Enterprise Miner can be exported as functions. Once
exported, these functions can be executed by either SAS processes or called from third-
party or database-specific applications using standard SQL statements.
SAS In-Database technology is described in the SAS In-Database Products:
Administrators Guide and SAS In-Database Products: User’s Guide. SAS In-Database
components include scoring and analytic accelerators for most of the supported
SAS In-Database Technology 195