Programming Services

Compute Services and MP CONNECT

Compute Services That Use RSUBMIT

Compute Services provides access to all of the computing resources on your network by enabling you to direct the execution of SAS programs to one or more server sessions. The results and any output that is generated by the remote execution are returned to the client session. For short-running tasks, remote submits can be processed synchronously. This means that control is returned after the remote processing is complete. For longer-running tasks, remote submits can be processed asynchronously. This means that control is returned immediately, and you can continue local processing or remote processing to another server session.
Model of Compute Services
Model of Compute Services
1The SAS/CONNECT client sends SAS statements to the server session.
2The SAS statements execute in the SAS/CONNECT server session using remote data.
3Results are sent back to the client session.
Note: Asynchronous Compute Services is commonly referred to as MP (Multi-Process) CONNECT.
The figure shows that these services enable you to move some or all portions of an application's processing to a remote computer.
Compute Services enables you to do the following:
  • achieve scalability for your SAS applications
    • perform remote tasks in the background (asynchronously) while processing locally
    • run multiple SAS processes asynchronously and coordinate the results from each task execution in your client SAS session
    • use pipeline processing to overlap execution of multiple dependent SAS DATA steps or procedures
    • use processors on an SMP computer (which is referred to as “scaling up”) and using idle processors across a network (which is referred to as “scaling out”)
  • access remote resources
    • take advantage of server hardware and software resources
    • access mainframe and other legacy systems (for example, by building a single SAS program that contains statements that run locally and statements that execute on multiple remote legacy computers)
    • execute against the remote copy of the data
    • submit macro steps remotely to the server, and then pass return code information about the server process to the client
    • execute graphics programs on the server and display the graphics locally by using the graphics capabilities of the local workstation, plotter, or printer

Compute Services That Use Remote SQL Pass-Through

Remote SQL pass-through (RSPT) gives you control of where SQL processing occurs. RSPT enables you to pass SQL statements to a remote SAS SQL processor by passing them through a remote SAS server. You can also use RSPT to pass SQL statements to a remote DBMS by passing them through a remote SAS server and a REMOTE access engine that supports pass-through.
Remote SQL Pass-Through Services
Remote SQL Pass-Through Services
1The SAS client uses a REMOTE engine to pass SQL statements to a server session.
2The SQL statements are passed to the server session.
3The SQL statements are passed to SAS SQL to select data or to execute statements in order to modify, manipulate, and manage data. This includes creating SAS SQL views.
4The SQL statements are passed to a remote DBMS to select data or to execute statements in order to modify, manipulate, and manage data. This includes creating DBMS views.
You can invoke RSPT by using PROC SQL statements that are passed to the remote server for execution in the server SAS session, or you can store SQL pass-through statements in local SQL views.

Data Transfer Services

Data Transfer Services enables you to move a copy of the data from one computer to another computer. The data is translated between computer architectures and SAS version formats, as necessary.
Model of Data Transfer Services (UPLOAD and DOWNLOAD)
Model of Data Transfer Services (UPLOAD and DOWNLOAD)
1The SAS/CONNECT client requests an upload of data records to the SAS/CONNECT server session for processing.
2Data is copied from the client disk and is written to the server disk for processing.
3The SAS/CONNECT client requests the download of data records from the server to the client for processing.
4Data is copied from the server disk and is written to the client disk for processing.
Data is transferred using the UPLOAD and DOWNLOAD procedures. You can transfer SAS data sets, SAS catalogs, MDDB, SQL views, entire SAS libraries, and external files.
Note: External files can be transferred in either text or binary format.
The data transfer capabilities enable you to do the following:
  • customize data transfers
    • transfer multiple SAS files in a single step by using the INLIB= and OUTLIB= options. This capability enables you to transfer an entire library or selected members of a library in a single PROC UPLOAD or PROC DOWNLOAD step.
    • transfer collections of files (such as a partitioned data set, a MACLIB, or a directory) between a client and a server.
    • use WHERE processing for dynamic data subsetting and SAS data set options when transferring individual SAS data sets.
    • transfer catalog entries that contain graphics output by using a simple one-step process.
  • protect data
    • increase the robustness of your decision support environment by keeping a local copy of your data, which is insulated from network failure.
    • back up local files to a server.
  • manage data distribution
    • automate both data or application distribution and centralized data collection.
    • distribute files from one workstation by uploading to a server and downloading to other workstations that need the files.
    • move SAS files between releases of SAS as well as across operating environments.

Remote Library Services

Remote Library Services (RLS) provides transparent access to SAS data that is located on a remote computer. The data resides in server libraries, and RLS moves the data through the network as client processing requests it. The data must again pass through the network on any subsequent use by the client session. As the following figure shows, a copy of the data is not written to the client file system.
Model of RLS Processing
Model of RLS Processing
1The SAS/CONNECT client session requests records from the SAS/CONNECT server session or the client requests that records be written to the server.
2Data records are written to the SAS/CONNECT server session or are sent to the SAS/CONNECT client session for processing.
The SAS procedures and DATA steps that run in the SAS/CONNECT client session request access via the REMOTE engine to SAS files that are located on a SAS/CONNECT server. The REMOTE engine communicates the requests for data to the server. The server administers the requests to access SAS files on behalf of the client.
RLS provides the following:
  • transparent access to SAS data that is located on a remote computer
  • access to current SAS data because no client copy is made
  • a reduction of disk space consumption because multiple copies of the data are not created
  • the ability to run a local graphical user interface and process SAS data that is located on a remote computer