Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Optimizing SAS System Performance − A Platform Perspective Patrick McDonald Scryer Analytics,

Slides:



Advertisements
Similar presentations
Analysis of Computer Algorithms
Advertisements

Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Operating System.
1 Magnetic Disks 1956: IBM (RAMAC) first disk drive 5 Mb – Mb/in $/year 9 Kb/sec 1980: SEAGATE first 5.25’’ disk drive 5 Mb – 1.96 Mb/in2 625.
Cacti Workshop Tony Roman Agenda What is Cacti? The Origins of Cacti Large Installation Considerations Automation The Current.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Server Platforms Week 11- Lecture 1. Server Market $ 46,100,000,000 ($ 46.1 Billion) Gartner.
5 Creating the Physical Model. Designing the Physical Model Phase IV: Defining the physical model.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Virtual Network Servers. What is a Server? 1. A software application that provides a specific one or more services to other computers  Example: Apache.
© Paradigm Publishing Inc. 4-1 Chapter 4 System Software.
Data Center Infrastructure
Copyright © 2006, SAS Institute Inc. All rights reserved. Enterprise Guide 4.2 : A Primer SHRUG : Spring 2010 Presented by: Josée Ranger-Lacroix SAS Institute.
Lecture 11: DMBS Internals
5 Copyright © 2008, Oracle. All rights reserved. Configuring the Oracle Network Environment.
M ODULE 2 D ATABASE I NSTALLATION AND C ONFIGURATION Section 1: DBMS Installation 1 ITEC 450 Fall 2012.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 11 Database Performance Tuning and Query Optimization.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
Chapter 4 System Software.
Key Perf considerations & bottlenecks Windows Azure VM characteristics Monitoring TroubleshootingBest practices.
How to Resolve Bottlenecks and Optimize your Virtual Environment Chris Chesley, Sr. Systems Engineer
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Chapter 1 Introduction to Databases Pearson Education ©
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
I/O Systems I/O Hardware Application I/O Interface
Oracle9i Performance Tuning Chapter 1 Performance Tuning Overview.
Indiana University’s Name for its Sakai Implementation Oncourse CL (Collaborative Learning) Active Users = 112,341 Sites.
The Red Storm High Performance Computer March 19, 2008 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
SESSION CODE: BIE07-INT Eric Kraemer Senior Program Manager Microsoft Corporation.
Oracle Tuning Considerations. Agenda Why Tune ? Why Tune ? Ways to Improve Performance Ways to Improve Performance Hardware Hardware Software Software.
Designing and Deploying a Scalable EPM Solution Ken Toole Platform Test Manager MS Project Microsoft.
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
© Paradigm Publishing Inc. 4-1 OPERATING SYSTEMS.
Boot Sequence, Internal Component & Cisco 3 Layer Model 1.
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
1 Chapter Overview Planning to Install SQL Server 2000 Deciding SQL Server 2000 Setup Configuration Options Running the SQL Server 2000 Setup Program Using.
Data Management for Decision Support Session-4 Prof. Bharat Bhasker.
1 MSRBot Web Crawler Dennis Fetterly Microsoft Research Silicon Valley Lab © Microsoft Corporation.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 2 How Hardware and Software Work Together.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
© 2006 EMC Corporation. All rights reserved. The Host Environment Module 2.1.
Jeff Mealiffe Sr. Program Manager Microsoft Corporation SESSION CODE: UNC301 Evan Morris Sr. Systems Engineer Hewlett-Packard.
DMBS Internals I February 24 th, What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the.
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
1 Copyright © Oracle Corporation, All rights reserved. Business Intelligence and Data Warehousing.
Database Systems, 8 th Edition SQL Performance Tuning Evaluated from client perspective –Most current relational DBMSs perform automatic query optimization.
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
UNIX Operating System. A Brief Review of Computer System 1. The Hardware CPU, RAM, ROM, DISK, CD-ROM, Monitor, Graphics Card, Keyboard, Mouse, Printer,
What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently and safely. Provide.
1 Lecture 16: Data Storage Wednesday, November 6, 2006.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Sql Server Architecture for World Domination Tristan Wilson.
Understanding and Improving Server Performance
Table General Guidelines for Better System Performance
Data Center Infrastructure
Operating System.
Software Architecture in Practice
Database Performance Tuning and Query Optimization
Introduction of Week 3 Assignment Discussion
Computer Systems Summary
Oracle Architecture Overview
CS703 - Advanced Operating Systems
Table General Guidelines for Better System Performance
Mark Zbikowski and Gary Kimura
Chapter 11 Database Performance Tuning and Query Optimization
Presentation transcript:

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Optimizing SAS System Performance − A Platform Perspective Patrick McDonald Scryer Analytics, LLC June 3, 2010

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. 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.  You probably won’t gain: Any new SAS programming tips More than a very brief overview of efficient programming techniques

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. An Easy Question What does this program do?  Connects to DB2  SAS table of db2table  Disconnects from DB2  Creates x as previous y  Calculates Mean and N and outputs data proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit; data View1 / view=View1; set Table1; retain x; output; x=y; run; proc summary data=View1 NWAY; var _numeric_; class c1 c2 c3; output out =p.mymeans mean= M N=COUNT; run;

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. What controls system performance? Resources Programmer Time CPU TimeI/OMemoryStorage Relationships Programmer Time Hardware Data Volume (Storage)Data Volume (I/O) Multi-threaded (RAM/CPU) Mathematical Complexity (CPU/RAM) Small DataSingle ThreadsMathematical Simplicity

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Efficient Programming Practices Writing Efficient Code  Necessary Statements  Passes Through Data  Essential Read/Writes  Permanent SAS Data  Necessary Procedures  Sorting, Duplicates, Etc.  SAS Views  DBMS Optimization Configuring/Tuning Options  Buffer Allocation  Memory Allocation  Multithreading

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Resource Model – CPU, RAM, I/O, & Disk

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. CPU  What is a CPU? # of Sockets # of Chips # of Cores # of Co-processors Clock Speed Etc.  SPECfp  SPECint

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. RAM Memory  RAM  RAM per core  RAM per session  RAM for OS

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. 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 MB/s MB/s

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. A little more about storage Storage Options  HBAs  LUNS  RAID  Disks  Disk Speed  Disk Size File Systems  SAS User  Temporary Work Space  Permanent Data Storage  Utility (UTILLOC)

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. RAID Configurations in SAS Environments

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Operating System Limitations Windows (32 bit)  Enterprise Edition (32 bit) ~2 GB of RAM practical limit 5 GB data set size practical limit (file cache contention) Windows (x64)  Enterprise Edition for x64 Support issues (9.1) 5 GB data set size practical limit (file cache contention)

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Operating System Limitations Windows (Itanium)  Enterprise Edition (Itanium) 10 GB data set size practical limit (file cache contention) Unix (64 bit)  HPUX, Solaris, AIX etc. Limited by hardware only Access to additional memory No file cache contention issues

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Architecture Limitations Hardware Bottlenecks  CPU (#, speed, etc.)  RAM  Backplane  Cache  Configuration/Tuning  Hyperthreading SAN Bottlenecks  I/O Host Bus Adaptors Ethernet (2 GB/s Ethernet) Paths to Disk Disks −RAID −# of disks −Disk Speed −Disk Size Luns & File Systems

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Redux: what does this program do? Think like hardware? proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit; data View1 / view=View1; set Table1; retain x; output; x=y; run; proc summary data=View1 NWAY; var _numeric_; class c1 c2 c3; output out =p.mymeans mean= M N=COUNT; run;

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. PROC SQL What resources are used? proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit; data View1 / view=View1; set Table1; retain x; output; x=y; run; proc summary data=View1 NWAY; var _numeric_; class c1 c2 c3; output out =p.mymeans mean= M N=COUNT; run;

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Data Step What resources are used? proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit; data View1 / view=View1; set Table1; retain x; output; x=y; run; proc summary data=View1 NWAY; var _numeric_; class c1 c2 c3; output out =p.mymeans mean= M N=COUNT; run;

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Proc Step What resources are used? proc sql; connect to db2 (database=mydatabase); create table Table1 as select * from connection to db2 ( select * from db2table); disconnect from db2; quit; data View1 / view=View1; set Table1; retain x; output; x=y; run; proc summary data=View1 NWAY; var _numeric_; class c1 c2 c3; output out =p.mymeans mean= M N=COUNT; run;

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Typical BI/SAS Solution Architecture

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. BI Architecture Web Server Loads  CPU Intensive  Integer Calculations  Rack Servers  Pooled, Load Balanced  ~ 100 concurrent sessions per core (CPU) Small Text Files

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. BI Architecture Application Server Loads  CPU Intensive  Integer Calculations  Rack Servers  Pooled, Load balanced  ~100 concurrent sessions per core (CPU). Small Text Files

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. BI Architecture SAS Metadata Server  Memory Intensive  Metadata stored in memory for speed  Generally 2 CPU except for very large implementations Metadata in RAM database

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. 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) Large Volumes of Data

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

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. Questions

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. References   Optimizing SAS ® Programs Course Notes  SGF 2009: How to maintain happy SAS users  SUGI 31: Solving SAS Performance Problems: Employing Host Based Tools

Copyright © 2010, Scryer Analytics, LLC. All rights reserved. SIMPLICITY BEYOND COMPLEXITY