The SPD Server Client/Server Model

Overview of the Client/Server Model

SPD Server software divides SAS processing loads between the client and server. The The SPD Server Client/Server Model diagram shows a simple client/server topology. The server hosts multiple concurrent clients while performing the heaviest processing tasks. Typical clients are desktop PCs or low-end UNIX workstations running front-end software. The front-end application sends the client's data requests over the network to the server, and processes the information that the server returns.
You can create one or more SPD Servers on the host server machine. When an SPD Server host receives a client's data request, it performs some action on behalf of the client. The action varies with the request received.
Where does the user fit within in the SPD Server client/server model? Users initiate SPD Server client sessions. In this documentation, the term 'user' refers to the operator of an SPD Server client.
The SPD Server Client/Server Model
The SPD Server Client/Server Model

Symmetric Multiprocessor Hosts

SPD Server host machines use operating systems that can process concurrent threads in parallel on multiple processors. SPD Server exploits symmetric multiprocessing (SMP) hardware and software architecture.
The number of processors on an SMP server varies by manufacturer and model. The operating system of the machine must also support parallel processing. Operating systems that have a threaded kernel enjoy enhanced performance because the threaded kernel prevents contention issues among competing threads in real time. Synergy between processors and threads allows SPD Server to scale processing performance. The scalability, in turn, significantly improves the speed of SPD Server table creates, appends, scans, queries, and sorts.

SPD Server Host Services for Clients

SPD Server hosts provide multiple services to SPD Server clients:
  • Access to data stores SPD Server offers concurrent Read access and retrieval of SAS data.
  • High-speed data server SPD Server manages and processes massive SAS tables.
  • Offloads heavy processing work SPD Server divides the labor. The server process retrieves, sorts, and subsets SAS data. A client process reviews and analyzes the data that the server returns.
  • Embellishes client hardware SPD Server host machines are able to use the computing hardware resources that are required to process large tables efficiently and rapidly.
  • Reduces network traffic SPD Server reads, sorts, and subsets entire SAS tables, and then returns answer sets. A query subset replaces large file downloads to the client machine. SPD Server offers a common storage facility. Multiple client users can use the same SAS data on the server without having to each transfer the SAS data to their workstations.
  • Provides multi-platform support SPD Server allows clients to share SAS data across computing platforms with other SAS users.
SPD Server Features
SPD Server Feature
SPD Server
Client Action
SPD Server
Host Response
Support for gigabytes of data
The SPD Server client inputs existing SAS tables with a PROC COPY statement, or creates an SPD Server table using a SAS DATA step or procedure. SPD Server clients can also use SQL pass-through CREATE, COPY, or LOAD statements to input SAS tables.
The SPD Server host creates component files that consist of one or more physical partition files. The server stores the physical partition files in one or more device or directory paths.
Scalable SMP Support
The SPD Server client runs SAS procedures and SQL pass-through syntax to read, sort, index, or query an SPD Server table.
The SPD Server host uses its threaded operating system to perform concurrent processing tasks distributed across multiple processors.
Selective Parallel Queries
The SPD Server client uses WHERE clause or SQL SELECT syntax. SQL pass-through, PROC SQL, and WHERE alternatives not in SAS are supported.
The SPD Server host supports and subsets SPD Server tables, and then delivers answer sets to clients.
Parallel Loads
The SPD Server client runs SAS procedures with LOAD or COPY to store SAS data and indexes.
The SPD Server host uses multiple threads to load and store tables and indexes.
Parallel Indexes
The SPD Server client creates table indexes using a DATA step, or the DATASETS procedure with an INDEX option, or SQL pass-through with the LOAD or COPY command.
The SPD Server host creates SPD Server table indexes in parallel.
SAS Data Security
The SPD Server client accesses the SPD Server host using SQL pass-through, a LIBNAME statement, or an alternative connection that is not in SAS.
The SPD Server host secures SPD Server files at the LIBNAME domain and / or table, column, and row level.