The following is a brief reverse history of evolution of SAS/CONNECT Software to give you an understanding of how SAS/CONNECT can be used to address performance through scalability and reduce the time to solution of long running applications.
In SAS 9, the MP CONNECT feature of SAS/CONNECT has been enhanced with a new piping capability which allows overlapped execution of SAS data steps and/or certain SAS procedures. With this new support of pipeline parallelism, it is possible to feed the output of one SAS data step or procedure as input into the next SAS data step or procedure for overlapped execution. The net result is a reduction in the elapsed time necessary to complete the entire application.
The MP CONNECT feature was introduced in SAS 8 to provide scalability and parallel processing capabilities. MP CONNECT enables you to overcome the limitations of a single threaded SAS 8 system and to multiply the scalability of a threaded SAS 9 system by allowing you to spawn multiple SAS sessions to run in parallel, each performing a portion of a larger application. One of the strongest features of MP CONNECT is its ability to not only
MP CONNECT: Increase processing power is a SAS.COM article that describes how to use MP CONNECT to process huge amounts of data faster in order to make timely business decisions.
Prior to SAS 8 the focus of SAS/CONNECT was as a client/server toolset providing connectivity between all of the hardware platforms and releases of SAS Software throughout your organization. This toolset enables you to move data and SAS processing to the most appropriate platform in order to maximize use of your computing resources and to manage your distributed SAS applications.
We at SAS have created the Scalability Community to make you aware of the connectivity and scalability features and enhancements that you can leverage for your SAS installation. The success of this community depends on you. Send electronic mail to firstname.lastname@example.org with your comments, requirements, and suggestions.
SAS/CONNECT software pioneered SAS' ability to use large-scale server power to deliver information across computing platforms to desktop/PC applications. This enables you to integrate your systems and deliver client/server applications across all enter prise platforms. As hardware evolves, SAS/CONNECT software continues to deliver enhanced capabilities that enable you to take advantage of the ever-increasing processing power that is available.
SAS/CONNECT software is a complete tool set for managing your distributed SAS applications. With the addition of MP CONNECT in SAS 8, it's use extends past the traditional client/server arena into parallel processing with the SAS System.
SAS/CONNECT software breaks down the barriers of a single threaded SAS 8 system and multiplies the capabilities of a multi-threaded SAS 9 system by allowing parallel processing with MP CONNECT. With this functionality you can enable appropriate SAS jobs to exploit SMP hardware as well as perform parallel processing across the remote hosts in your network. MP CONNECT allows you to perform disjoint units of work in parallel. You can coordinate all results into your client or parent SAS session in order to reduce the total elapsed time necessary to execute a particular application. MP CONNECT is built on top of a solid foundation of distributed services described below.
Compute services enable utilization of multi-processor and remote computing resources, including hardware, software, and data, to most efficiently execute an application and to maximize the use of all computing resources. SAS/CONNECT enables yo u to move any or all portions of an application's processing to other processors, either local or remote, to take advantage of hardware resources, to utilize software available in the remote environment, to interface with existing legacy systems, and to e xecute against the remote copy of the data. The results of the remote processing are then returned to the local machine. This is useful when the remote machine has hardware and/or software resources available to more efficiently perform the task at hand . Compute services provide a good option if the amount of data to be processed is too large to be moved to the local machine or if it is updated too frequently for a local static copy to be useful.
Data transfer services provide a method for moving a copy of the data from one machine to another machine where a physical copy is created. Subsequent local processing takes place against the local copy of the data without generating further ne twork traffic until you decide to update the copy of the data with another transfer. Data transfer services automatically performs any conversion or translation necessary to move data:
In addition, it can be used to move data stored in:
Remote library services provide access to remote data libraries as if they were stored locally. This is accomplished by moving the data through the network only as the local execution requests it. A copy of the data is not written to the local file system and the data must pass through the network on any subsequent use by the local processing. This allows you to maintain a single copy of your data and to build applications that provide seemingly identical access to local and remote data without requiring any knowledge on the part of the end user as to where the data reside.
Send email to email@example.com if you have a scalability success story that you would like to share.
David Walker found immediate benefit with his use of MP CONNECT and SAS Version 8 after recently attending the Multiprocessing with SAS Software course.
"I've been dreaming of this capability within SAS for approximately 12 years. The first day back in the office after the course, within 30 minutes I was able to apply the technique to an existing program and reduce processing time by over 50%.
This project is hosted on a Unix Sun-Sparc E6800, 8 processor computer. I ran my tests at several different times, under varying processor loads, and I consistently got a 50% reduction in real time wait. The modifications I performed to the original program were relatively quick and simple. I simply "partitioned" the processing by adding multiple remote submit statements within the "parent" remote submit process. This literally only took about 30 minutes to make the changes. All in all, I am very pleased with this technique."
David Walker, MPH Deputy Branch Chief Statistical Analysis Branch Data Management Division National Immunization Program Centers for Disease Control and Prevention