Multi-threading in SAS®9 in Windows operating environments


SAS®9 is a thread-enabled application and can take advantage of multiple processors/cores under certain Windows systems. In addition, when you run multiple applications, performance can be improved with threading even on single-processor systems. In some cases, the threading might not be appropriate for certain SAS applications and should be turned off either at the operating system level or by using the SAS System option, NOTHREADS. It is also important to understand that some threaded SAS procedures make a determination if the overhead of threading outweighs the performance gains. In these cases, threading is disabled. Threading in SAS9 is not dependent on having multiple I/O channels available but having multiple I/O channels available can help improve performance.

As of SAS® 9.2, all Windows operating systems supported on SAS support threading.

For more information about threading, see the following document: "Threads Unraveled: A Parallel Processing Primer"

Scenarios and Questions That Might Arise

Q: A company has Windows Server 2003 with 4 cores. For multi-threading to be used, do they need separate I/O paths or one I/O path?

A: There are no requirements for multiple I/O paths to enable multi-threading. Performance can be enhanced with multiple I/O paths. Multi-threading and I/O paths are not co-dependent.

Q: Do virtual libraries provide faster access?

A: This can be an enhancement but has no functionality requiring multi-threading.

Q: Will SAS threaded procedures be able to use multiple processors simultaneously?

A: SAS® Foundation threaded software is able to use all processors simultaneously as supported by an operating system scheduler. See the list of SAS threaded procedures on this Scalable SAS Procedures web page.