What Is Threading Technology in SAS?
Threading technology provides multiple paths of execution within an operating
environment. Each path of execution is called a thread, and each thread can handle a
program task or data transfer. The result is multiple program tasks and data I/O
operations performed at the same time, in parallel. A thread requires a context (like a
register set and a program counter), a segment of code to execute, and some amount of
memory to use in the process. A threading operating environment might have multiple
CPUs but only one core per CPU. Other more high-performance configurations might
include multiple CPUs with multiple cores per CPU and even multiple threads per core.
In situations in which each CPU might execute only one thread at a time, the CPU’s
ability to quickly switch between threads provides near-simultaneous execution.
Threaded execution in SAS software includes one or both of these two general
techniques.
Threaded I/O means that data (frequently in very high volume) is delivered to an
application in threads so that the application is continually processing, not waiting on
data. In Base SAS and SAS/STAT, several procedures take advantage of threaded
reads. Also Base SAS includes the SPD engine that reads from a data set that is
partitioned to optimize for threaded input to the application. The SAS High-
Performance Analytics procedures require very rapid data delivery. They require
threaded reads from data distributed across a computing cluster to deliver huge
amounts of data to the application (which is also processing on the cluster) and then
write the data in parallel to the data storage appliance.
Threaded application processing means that the application itself is structured to
perform certain tasks in parallel on multiple-CPU machines. Threaded application
processing enables the application to process large amounts of data to be processed
more quickly because multiple threads execute on smaller segments of data.
Applications can be designed to take advantage of machines with multiple CPUs
whether it is a local four-way desktop or a server-class machine. The SAS High-
Performance Analytics Server executes on appliances that distribute both the data
and copies of the application across the appliance nodes so that the data is co-located
with the application processing
With SAS 9.4 and SAS Analytics 12.1, customers can access a wide variety of products
and components that use threading to support ever-increasing amounts of data as well as
computationally intensive algorithms and models. Base SAS and Foundation SAS
threading technologies support all of these.
How Is Threading Controlled in SAS?
Many SAS components take advantage of threading technologies automatically.
Mechanisms within SAS can detect certain environment variables and either use or not
use threading depending on the application’s likely performance. Some environment
variables and system options can be configured by the administrator. Data set options,
where available, can also be specified to affect I/O or application processing in threads.
Because many components might be using threads automatically, it is likely that thread
usage would continue, even if the specific options to control threading were turned off.
208 Chapter 13 Support for Parallel Processing
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.136.17.12