Professional Documents
Culture Documents
Presentation Overview
After this presentation you will know:
How your SAS code interacts with the hardware it runs on. The different hardware configurations SAS may run on in your organization. How to help your IT organization diagnose and correct performance problems.
An Easy Question
proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit;
Relationships
Programmer Time Hardware
Storage
CPU Time
Resources
Memory
I/O
Necessary Procedures
Sorting, Duplicates, Etc. SAS Views
DBMS Optimization
Copyright 2010, Scryer Analytics, LLC. All rights reserved.
CPU
CPU What is a CPU?
# of Sockets # of Chips # of Cores # of Co-processors Clock Speed Etc.
SPECfp SPECint
RAM
Memory RAM RAM per core RAM per session RAM for OS
I/O
I/O Types of Storage
Network Attached Storage Local Disk Storage Area Network
The disk is the slowest part of the system ~10-60 MB/s read/write speeds Throughput per session
15-25 MB/s
50-75+ MB/s
Copyright 2010, Scryer Analytics, LLC. All rights reserved.
Disk Speed
Disk Size
Architecture Limitations
Hardware Bottlenecks CPU (#, speed, etc.) RAM Backplane Cache SAN Bottlenecks I/O
Host Bus Adaptors Ethernet (2 GB/s Ethernet) Paths to Disk Disks
RAID # of disks Disk Speed Disk Size
Configuration/Tuning
Hyperthreading
PROC SQL
proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit;
Data Step
proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit;
Proc Step
proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit;
BI Architecture
Web Server Loads CPU Intensive Integer Calculations Rack Servers Pooled, Load Balanced Small Text Files
BI Architecture
Application Server Loads CPU Intensive Integer Calculations Rack Servers Pooled, Load balanced Small Text Files
BI Architecture
SAS Metadata Server Memory Intensive Metadata stored in memory for speed Generally 2 CPU except for very large implementations
BI Architecture
SAS BI Servers CPU and or I/O Intensive Heavy Floating Point (CPU) Heavy I/O depending upon the number of sessions and volume of data Heavy Memory (type of problem & number of concurrent sessions)
Copyright 2010, Scryer Analytics, LLC. All rights reserved.
BI Architecture
SPD Server/RDBMS I/O Intensive SAN Storage (75+ Mb/s sustained I/O throughput per session) Large Volumes of Data
Questions
References
http://en.wikipedia.org/wiki/RAID
Optimizing SAS Programs Course Notes SGF 2009: How to maintain happy SAS users
SUGI 31: Solving SAS Performance Problems: Employing Host Based Tools