Beating Gridlock: Parallel Programming with SAS Grid Computing and SAS/CONNECT

Size: px
Start display at page:

Download "Beating Gridlock: Parallel Programming with SAS Grid Computing and SAS/CONNECT"

Transcription

1 Beating Gridlock: Parallel Programming with SAS Grid Computing and SAS/CONNECT Presenter s Name Thursday, February 20, 2014 Jack Fuller Experis Business Analytics

2 Introduction The Problem A SAS program is taking a very long time to execute The program is constructed of multiple, independent subtasks Simulation programs frequently exhibit this behavior Experis Thursday, February 20,

3 Introduction The Solution Split the program into a driver program and a set of subprograms which run in parallel Elapsed Real Time Total CPU Time Experis Thursday, February 20,

4 Overview When to use parallel processing How to use parallel processing Points to consider Experis Thursday, February 20,

5 When to Use Parallel Processing

6 Subtasks Initialization Subtask 1 Subtask 2 Subtask 3 Finalization Experis Thursday, February 20,

7 Subtasks Initialization Subtask 1 Subtask 2 Subtask 3 Finalization Experis Thursday, February 20,

8 Subtasks Initialization Subtask 1 Subtask 2 Subtask 3 Finalization Experis Thursday, February 20,

9 Subtasks Initialization Subtask 1 Subtask 2 Subtask 3 Finalization Experis Thursday, February 20,

10 Subtasks Initialization Subtask 1 Subtask 2 Subtask 3 Finalization Experis Thursday, February 20,

11 Subtasks Initialization Subtask 1 Subtask 2 Subtask 3 Finalization Experis Thursday, February 20,

12 Subtasks SAS Connect 9.3 User s Guide Initialization Server Subtask 1 Subtask 2 Subtask 3 Client Client Client Finalization Server Experis Thursday, February 20,

13 Subtasks Grid Computing in SAS 9.3 Initialization Task Subtask 1 Subtask 2 Subtask 3 Subtask Subtask Subtask Finalization Task Experis Thursday, February 20,

14 Types of Concurrency Data Parallelism - subtasks work on different pieces of data Subtask 1 loads observations 1-10,000 Subtask 2 loads observations 10,001-20,000 Task Parallelism - subtasks perform different functions Subtask 1 processes demographics data Subtask 2 processes vital signs data Experis Thursday, February 20,

15 Amdahl s Law P is the number of processors is the fraction of work that is not parallelized Describes the optimal increase in speed gained from converting a serial process to a parallel process Experis Thursday, February 20,

16 Amdahl s Law as P is the number of processors is the fraction of work that is not parallelized As the number of processors (P) increases, the increase in speed is constrained by the fraction of work that is not parallelized (α) Experis Thursday, February 20,

17 Graphical Representation of Amdahl's Law Experis Thursday, February 20,

18 How to Use Parallel Processing

19 Our Problem Creating Test Data do pt=1 to 10000; if uniform(0) >.40 then do; gender = M ; /* Generate test data */ else do; gender = F ; /* Generate test data */ output; How do we want to define our concurrency? Experis Thursday, February 20,

20 Our Problem Creating Test Data do pt=1 to 10000; if uniform(0) >.40 then do; gender = M ; /* Generate test data */ else do; gender = F ; /* Generate test data */ output; Data Parallelism Experis Thursday, February 20,

21 Our Problem Creating Test Data do pt=1 to 10000; if uniform(0) >.40 then do; gender = M ; /* Generate test data */ else do; gender = F ; /* Generate test data */ output; Task Parallelism Experis Thursday, February 20,

22 Our Problem Creating Test Data do pt=1 to 10000; if uniform(0) >.40 then do; gender = M ; /* Generate test data */ else do; gender = F ; /* Generate test data */ output; Let s choose task parallelism by SDTM domain Experis Thursday, February 20,

23 Example Initialization %let seed = 0; %let numpt = 1000; Passed to each subtask %let rc=%sysfunc(grdsvc_enable(_all_, resource=sasapp)); options autosignon; libname shared "%sysfunc(pathname(work))"; Experis Thursday, February 20,

24 Example Initialization %let seed = 0; %let numpt = 1000; Enable the grid service %let rc=%sysfunc(grdsvc_enable(_all_, resource=sasapp)); options autosignon; libname shared "%sysfunc(pathname(work))"; Experis Thursday, February 20,

25 Example Initialization %let seed = 0; %let numpt = 1000; %let rc=%sysfunc(grdsvc_enable(_all_, resource=sasapp)); Allow the program to sign on without user interaction options autosignon; libname shared "%sysfunc(pathname(work))"; Experis Thursday, February 20,

26 Example Initialization %let seed = 0; %let numpt = 1000; %let rc=%sysfunc(grdsvc_enable(_all_, resource=sasapp)); Point a LIBREF to the task s work library options autosignon; libname shared "%sysfunc(pathname(work))"; Experis Thursday, February 20,

27 Example Create the Initial Data data PT pt; GENDER do 1 pt=1 to &numpt; 2 gender = ifc(uniform(&seed) >.45, 'M', 'F'); 3 output; run; Our input data lives in the task s work directory Experis Thursday, February 20,

28 Example Demographics Subtask %syslput seed=&seed / remote=task1; rsubmit task1 wait=no inheritlib=(shared); data shared.task1(keep=pt ht wt); set shared.pt; if gender = M then do; /* Compute statistics */ else do; /* Compute statistics */ run; endrsubmit; Create a macro variable in the subtask and initialize it to &seed Experis Thursday, February 20,

29 Example Demographics Subtask %syslput seed=&seed / remote=task1; rsubmit task1 wait=no inheritlib=(shared); data shared.task1(keep=pt ht wt); set shared.pt; if gender = M then do; /* Compute statistics */ else do; /* Compute statistics */ run; endrsubmit; Delineate the code which will run in the subtask Experis Thursday, February 20,

30 Example Demographics Subtask %syslput seed=&seed / remote=task1; rsubmit task1 wait=no inheritlib=(shared); data shared.task1(keep=pt ht wt); set shared.pt; if gender = M then do; /* Compute statistics */ else do; /* Compute statistics */ run; endrsubmit; Name of the subtask NOTE: Subtask names are limited to 8 chars Experis Thursday, February 20,

31 Example Demographics Subtask %syslput seed=&seed / remote=task1; rsubmit task1 wait=no inheritlib=(shared); data shared.task1(keep=pt ht wt); set shared.pt; if gender = M then do; /* Compute statistics */ else do; /* Compute statistics */ run; endrsubmit; Specify asynchronous execution Experis Thursday, February 20,

32 Example Demographics Subtask %syslput seed=&seed / remote=task1; rsubmit task1 wait=no inheritlib=(shared); data shared.task1(keep=pt ht wt); set shared.pt; if gender = M then do; /* Compute statistics */ else do; /* Compute statistics */ run; endrsubmit; Give the subtask access to the specified library Experis Thursday, February 20,

33 Example Demographics Subtask %syslput PT seed=&seed HT / remote=task1; WT rsubmit 1 task1 wait=no inheritlib=(shared); data 2 shared.task1(keep=pt ht wt); 3 set shared.pt; if gender = M then do; /* Compute statistics */ else do; /* Compute statistics */ run; endrsubmit; Experis Thursday, February 20,

34 Example Labs Subtask %syslput PT seed=&seed WBC / remote=task2; RBC rsubmit 1 task2 wait=no inheritlib=(shared); data 2 shared.task2(keep=pt wbc rbc); 3 set shared.pt; /* Compute statistics */ run; endrsubmit; Experis Thursday, February 20,

35 Example Vital Signs Subtask %syslput PT seed=&seed SYST_BP / remote=task3; DIAST_BP rsubmit 1 task3 wait=no inheritlib=(shared); data 2 shared.task3(keep=pt syst_bp diast_bp); 3 set shared.pt; if gender = M then do; /* Compute statistics */ else do; /* Compute statistics */ run; endrsubmit; Experis Thursday, February 20,

36 Example Finalization waitfor _all_ task1 task2 task3; data final; merge pt task:; by pt; run; signoff _all_; Wait for subtasks Experis Thursday, February 20,

37 Example Finalization waitfor PT GENDER _all_ HT task1 WT task2 WBC task3; RBC SYST_BP DIAST_BP 1 data 2 final; 3 merge pt task:; by pt; run; signoff _all_; Notice the use of the task work library Experis Thursday, February 20,

38 Example Finalization waitfor _all_ task1 task2 task3; data final; merge pt task:; by pt; run; signoff _all_; Sign off all subtasks Experis Thursday, February 20,

39 Points to Consider

40 How many subtasks should there be? This will depend on a number of factors The fraction of work that is not parallelized The number of available grid nodes My rule of thumb I like to benchmark my applications at 5, 10 and 15 subtasks and then adjust accordingly Experis Thursday, February 20,

41 How much work should occur in each subtask? There has to be enough work in each subtask SAS/CONNECT has a login process which I have benchmarked as taking between 5 and 15 seconds The goal is to have the friction involved with creating/managing the subtasks become negligible My rule of thumb I like to have each subtask take at around 10 minutes Experis Thursday, February 20,

42 Should libraries be shared between subtasks? Arguments for using INHERITLIB One thing is in one place Arguments against using INHERITLIB Subtasks can bottleneck as they queue up awaiting access My rule of thumb I like to use INHERITLIB unless I have a reason not to Experis Thursday, February 20,

43 Conclusion

44 Conclusion Put as much work as possible in the subtasks Get something up and running, benchmark it and then adjust things Good luck! Experis Thursday, February 20,

45 Questions

46 Acknowledgement SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. Experis Thursday, February 20,

47 Thank you Jack Fuller Senior Application Developer Experis Thursday, February 20,

Divide and Conquer Writing Parallel SAS Code to Speed Up Your SAS Program

Divide and Conquer Writing Parallel SAS Code to Speed Up Your SAS Program SESUG 2016 Paper PA-265 Divide and Conquer Writing Parallel SAS Code to Speed Up Your SAS Program Doug Haigh, SAS Institute Inc., Cary, NC ABSTRACT Being able to split SAS processing over multiple SAS

More information

CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services

CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services 55 CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services Introduction 55 Example 1. Compute Services and Data Transfer Services Combined: Local and Remote Processing 56 Purpose 56

More information

A simplistic approach to Grid Computing Edmonton SAS Users Group. April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial

A simplistic approach to Grid Computing Edmonton SAS Users Group. April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial A simplistic approach to Grid Computing Edmonton SAS Users Group April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial Grid Computing The Basics Points to Cover: Benefits of Grid Computing Server

More information

Enhancing SAS Piping Through Dynamic Port Allocation

Enhancing SAS Piping Through Dynamic Port Allocation Paper 1826-2014 Enhancing SAS Piping Through Dynamic Port Allocation Piyush Kumar Singh, TATA Consultancy Services Ltd. Indianapolis, IN. Gerhardt M Pohl, Eli Lilly and Company, Indianapolis, IN. ABSTRACT

More information

SAS/CONNECT for SAS Viya 3.3: User s Guide

SAS/CONNECT for SAS Viya 3.3: User s Guide SAS/CONNECT for SAS Viya 3.3: User s Guide SAS Documentation November 13, 2017 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2017. SAS/CONNECT for SAS Viya 3.3: User

More information

OVERVIEW OF THE SAS GRID

OVERVIEW OF THE SAS GRID OVERVIEW OF THE SAS GRID Host Caroline Scottow Presenter Peter Hobart MANAGING THE WEBINAR In Listen Mode Control bar opened with the white arrow in the orange box Copyr i g ht 2012, SAS Ins titut e Inc.

More information

MIS Reporting in the Credit Card Industry

MIS Reporting in the Credit Card Industry MIS Reporting in the Credit Card Industry Tom Hotard, Acxiom Corporation ABSTRACT In credit card acquisition campaigns, it is important to have the ability to keep track of various types of counts. After

More information

Administration & Support

Administration & Support A Parallel Processing Primer Gil Jacobsen Independent Contractor Russ Lavery Contractor for ASG, Inc. ABSTRACT SAS has added many new features to V9.1, features that can dramatically reduce the clock-time-to-solution

More information

SAS 9 Boosts Performance with Parallel Capabilities of SAS/CONNECT

SAS 9 Boosts Performance with Parallel Capabilities of SAS/CONNECT SAS 9 Boosts Performance with Parallel Capabilities of SAS/CONNECT Cheryl Doninger R&D Director SAS Institute SAS Forum International Copenhagen 2004 SAS/CONNECT Multi-Process (MP) CONNECT multiple SAS

More information

PhUSE Eric Brinsfield, Meridian Analytics and d-wise, Virginia Beach, VA, USA Joe Olinger, d-wise, Morrisville, NC, USA

PhUSE Eric Brinsfield, Meridian Analytics and d-wise, Virginia Beach, VA, USA Joe Olinger, d-wise, Morrisville, NC, USA Paper AD11 SAS Programmer s Guide to Life on the SAS Grid Eric Brinsfield, Meridian Analytics and d-wise, Virginia Beach, VA, USA Joe Olinger, d-wise, Morrisville, NC, USA ABSTRACT With the goal of utilizing

More information

Data With the Dataset

Data With the Dataset Generating Data With the SAS@ Dataset Andrew J. L. Cary Cary Consulting Services, Newark CA Abstract It is often necessary to create data to test a program or methodology. The SAS software system s data

More information

Systems Architecture. Paper

Systems Architecture. Paper Paper 277-28 Accelerating Performance of SAS Applications via Rapid Extraction and Multiprocessing John M. LaBore, Eli Lilly and Company, Indianapolis, IN Fred R. Forst, Eli Lilly and Company, Indianapolis,

More information

An Introduction to SAS/SHARE, By Example

An Introduction to SAS/SHARE, By Example Paper AD01 An Introduction to SAS/SHARE, By Example Larry Altmayer, U.S. Census Bureau, Washington, DC ABSTRACT SAS/SHARE software is a useful tool for allowing several users to access and edit the same

More information

Cleaning up your SAS log: Note Messages

Cleaning up your SAS log: Note Messages Paper 9541-2016 Cleaning up your SAS log: Note Messages ABSTRACT Jennifer Srivastava, Quintiles Transnational Corporation, Durham, NC As a SAS programmer, you probably spend some of your time reading and

More information

Syntax Conventions for SAS Programming Languages

Syntax Conventions for SAS Programming Languages Syntax Conventions for SAS Programming Languages SAS Syntax Components Keywords A keyword is one or more literal name components of a language element. Keywords are uppercase, and in reference documentation,

More information

SAS Programmer s Guide to Life on the SAS Grid

SAS Programmer s Guide to Life on the SAS Grid ABSTRACT PharmaSUG 2017 - Paper BB11 SAS Programmer s Guide to Life on the SAS Grid Eric C. Brinsfield, Meridian Analytics With the goal of utilizing computing power and support staff more efficiently,

More information

_beginmethod method 177 BINARY option, PROC DOWNLOAD statement. BINARY option, PROC UPLOAD statement

_beginmethod method 177 BINARY option, PROC DOWNLOAD statement. BINARY option, PROC UPLOAD statement Index 509 Index A _abortagentrun, AGENT class method 443 _acceptattachment method, SCL Cnction class 322 _acceptattachment method, SCL Queue class 347 access control SAS libraries 78 ACCESS= option 78

More information

Storing and Reusing Macros

Storing and Reusing Macros 101 CHAPTER 9 Storing and Reusing Macros Introduction 101 Saving Macros in an Autocall Library 102 Using Directories as Autocall Libraries 102 Using SAS Catalogs as Autocall Libraries 103 Calling an Autocall

More information

My objective is twofold: Examine the capabilities of MP Connect and apply those capabilities to a real-world application.

My objective is twofold: Examine the capabilities of MP Connect and apply those capabilities to a real-world application. Abstract MP CONNECT: Warp Engine for SAS (Multi-Processing in the Sun Solaris Environment). Pablo J. Nogueras CitiFinancial International, Risk Management Technology, Irving, Texas When you are assigned

More information

Using MDP Extensions. What Is the Multidimensional Data Provider? CHAPTER 3

Using MDP Extensions. What Is the Multidimensional Data Provider? CHAPTER 3 29 CHAPTER 3 Using MDP Extensions What Is the Multidimensional Data Provider? 29 Data Requirements 30 Setting Up the MDP Metadata 30 Data Groups 31 Servers 34 EIS Registrations 37 Using MDP in EIS without

More information

HOW TO WRITE PARALLEL PROGRAMS AND UTILIZE CLUSTERS EFFICIENTLY

HOW TO WRITE PARALLEL PROGRAMS AND UTILIZE CLUSTERS EFFICIENTLY HOW TO WRITE PARALLEL PROGRAMS AND UTILIZE CLUSTERS EFFICIENTLY Sarvani Chadalapaka HPC Administrator University of California Merced, Office of Information Technology schadalapaka@ucmerced.edu it.ucmerced.edu

More information

Taking Advantage of the SAS System on the Windows Platform

Taking Advantage of the SAS System on the Windows Platform Taking Advantage of the SAS System on the Windows Platform 09:45 Friday Gary Mehler, SAS Institute Introduction! Current state of the Windows platform! Current state of PC hardware! Current state of SAS

More information

PREREQUISITES FOR EXAMPLES

PREREQUISITES FOR EXAMPLES 212-2007 SAS Information Map Studio and SAS Web Report Studio A Tutorial Angela Hall, Zencos Consulting LLC, Durham, NC Brian Miles, Zencos Consulting LLC, Durham, NC ABSTRACT Find out how to provide the

More information

SAS/CONNECT 9.2. User s Guide

SAS/CONNECT 9.2. User s Guide SAS/CONNECT 9.2 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc., 2009. SAS/CONNECT 9.2 User s Guide. Cary, NC: SAS Institute Inc. SAS/CONNECT 9.2 User

More information

Amie Bissonett, inventiv Health Clinical, Minneapolis, MN

Amie Bissonett, inventiv Health Clinical, Minneapolis, MN PharmaSUG 2013 - Paper TF12 Let s get SAS sy Amie Bissonett, inventiv Health Clinical, Minneapolis, MN ABSTRACT The SAS language has a plethora of procedures, data step statements, functions, and options

More information

Using Cross-Environment Data Access (CEDA)

Using Cross-Environment Data Access (CEDA) 93 CHAPTER 13 Using Cross-Environment Data Access (CEDA) Introduction 93 Benefits of CEDA 93 Considerations for Using CEDA 93 Alternatives to Using CEDA 94 Introduction The cross-environment data access

More information

How to Use Version 7 Features to Optimize the Distributed Capabilities of SAS Software. Cheryl Garner, SAS Institute, Inc.

How to Use Version 7 Features to Optimize the Distributed Capabilities of SAS Software. Cheryl Garner, SAS Institute, Inc. Paper 42 How to Use Version 7 Features to Optimize the Distributed Capabilities of SAS Software Cheryl Garner, SAS Institute, Inc. Introduction This paper introduces several new Version 7 SAS/CONNECT capabilities

More information

Using Data Transfer Services

Using Data Transfer Services 103 CHAPTER 16 Using Data Transfer Services Introduction 103 Benefits of Data Transfer Services 103 Considerations for Using Data Transfer Services 104 Introduction For many applications, data transfer

More information

PharmaSUG Paper AD09

PharmaSUG Paper AD09 PharmaSUG 2015 - Paper AD09 The Dependency Mapper: How to save time on changes post database lock Apoorva Joshi, Biogen, Cambridge, MA Shailendra Phadke, Eliassen Group, Wakefield, MA ABSTRACT We lay emphasis

More information

Bryan K. Beverly, UTA/DigitalNet

Bryan K. Beverly, UTA/DigitalNet Using SAS to Create Excel files with Multiple Worksheets Bryan K. Beverly, UTA/DigitalNet ABSTRACT This paper demonstrates how to create Excel worksheets in SAS and then bundle the worksheets into a single

More information

Automation of makefile For Use in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA

Automation of makefile For Use in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA Automation of makefile For Use in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA ABSTRACT The 'make' utility is a software engineering tool for managing and maintaining computer

More information

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC ABSTRACT SAS/Warehouse Administrator software makes it easier to build, maintain, and access data warehouses

More information

Performance Considerations

Performance Considerations 149 CHAPTER 6 Performance Considerations Hardware Considerations 149 Windows Features that Optimize Performance 150 Under Windows NT 150 Under Windows NT Server Enterprise Edition 4.0 151 Processing SAS

More information

My SAS Grid Scheduler

My SAS Grid Scheduler ABSTRACT Paper 1148-2017 My SAS Grid Scheduler Patrick Cuba, Cuba BI Consulting No Batch Scheduler? No problem! This paper describes the use of a SAS DI Studio job that can be started by a time dependent

More information

Paper A Simplified and Efficient Way to Map Variable Attributes of a Clinical Data Warehouse

Paper A Simplified and Efficient Way to Map Variable Attributes of a Clinical Data Warehouse Paper 117-28 A Simplified and Efficient Way to Map Variable Attributes of a Clinical Data Warehouse Yanyun Shen, Genentech, Inc., South San Francisco ABSTRACT In the pharmaceutical industry, pooling a

More information

Greenspace: A Macro to Improve a SAS Data Set Footprint

Greenspace: A Macro to Improve a SAS Data Set Footprint Paper AD-150 Greenspace: A Macro to Improve a SAS Data Set Footprint Brian Varney, Experis Business Intelligence and Analytics Practice ABSTRACT SAS programs can be very I/O intensive. SAS data sets with

More information

MWSUG 2013 Best Papers

MWSUG 2013 Best Papers MWSUG 2013 Best Papers Adventures in Path Analysis and Preparatory Analysis Brandy R. Sinco, MS, University of Michigan, Ann Arbor, MI Phillip L. Chapman, PhD, Colorado State University, Fort Collins,

More information

The SERVER Procedure. Introduction. Syntax CHAPTER 8

The SERVER Procedure. Introduction. Syntax CHAPTER 8 95 CHAPTER 8 The SERVER Procedure Introduction 95 Syntax 95 Syntax Descriptions 96 Examples 101 ALLOCATE SASFILE Command 101 Syntax 101 Introduction You invoke the SERVER procedure to start a SAS/SHARE

More information

% BigDataLoader: A SAS Macro to Migrate Big Data 99% Faster

% BigDataLoader: A SAS Macro to Migrate Big Data 99% Faster % BigDataLoader: A SAS Macro to Migrate Big Data 99% Faster Anant Sharma Data warehousing & Business Intelligence, Wipro Technologies, Mumbai, India Abstract: The world as we know, is much more competitive

More information

ABSTRACT INTRODUCTION HARDWARE SELECTION

ABSTRACT INTRODUCTION HARDWARE SELECTION BUILDING THE WORLD S FIRST ANTIBIOTIC DATAMART Berwick Chan / Catherine Kehr, Berwick Consulting Inc, Pinole, CA Arnold Yee, Kaiser Permanente, Oakland, CA ABSTRACT This paper discusses the process of

More information

Clinical Data Visualization using TIBCO Spotfire and SAS

Clinical Data Visualization using TIBCO Spotfire and SAS ABSTRACT SESUG Paper RIV107-2017 Clinical Data Visualization using TIBCO Spotfire and SAS Ajay Gupta, PPD, Morrisville, USA In Pharmaceuticals/CRO industries, you may receive requests from stakeholders

More information

Configuring SAS Web Report Studio Releases 4.2 and 4.3 and the SAS Scalable Performance Data Server

Configuring SAS Web Report Studio Releases 4.2 and 4.3 and the SAS Scalable Performance Data Server TS-807 Configuring SAS Web Report Studio Releases 4.2 and 4.3 and the SAS Scalable Performance Data Server Leveraging Large Amounts of SAS Performance Scalable Data Server Data in Your SAS Web Report Studio

More information

Troy Martin Hughes ABSTRACT INTRODUCTION

Troy Martin Hughes ABSTRACT INTRODUCTION MWSUG 2016 - Paper 38 A Failure To EXIST: Why Testing for Data Set Existence with the EXIST Function Alone Is Inadequate for Serious Software Development in Asynchronous, Multiuser, and Parallel Processing

More information

SAS Viya 3.2 Administration: Licensing

SAS Viya 3.2 Administration: Licensing SAS Viya 3.2 Administration: Licensing Licensing: Overview SAS Viya uses a single licensing file. Both SAS Cloud Analytic Services (CAS) and SAS Foundation use the same license. Note: The visual-only deployment

More information

A Practical Introduction to SAS Data Integration Studio

A Practical Introduction to SAS Data Integration Studio ABSTRACT A Practical Introduction to SAS Data Integration Studio Erik Larsen, Independent Consultant, Charleston, SC Frank Ferriola, Financial Risk Group, Cary, NC A useful and often overlooked tool which

More information

Locking SAS Data Objects

Locking SAS Data Objects 59 CHAPTER 5 Locking SAS Data Objects Introduction 59 Audience 60 About the SAS Data Hierarchy and Locking 60 The SAS Data Hierarchy 60 How SAS Data Objects Are Accessed and Used 61 Types of Locks 62 Locking

More information

Parallel processing techniques for performance improvement for SAS processes: Part II Viraj R Kumbhakarna, JPMorgan Chase & Co.

Parallel processing techniques for performance improvement for SAS processes: Part II Viraj R Kumbhakarna, JPMorgan Chase & Co. Paper PA08 Parallel processing techniques for performance improvement for SAS processes: Part II Viraj R Kumbhakarna, JPMorgan Chase & Co., Columbus, OH ABSTRACT In this paper, we will discuss a host of

More information

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency.

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency. Paper 76-28 Comparative Efficiency of SQL and Base Code When Reading from Database Tables and Existing Data Sets Steven Feder, Federal Reserve Board, Washington, D.C. ABSTRACT In this paper we compare

More information

Compute Service: A RESTful Approach to the SAS Programming Environment

Compute Service: A RESTful Approach to the SAS Programming Environment Paper SAS2083-2018 Compute Service: A RESTful Approach to the SAS Programming Environment Jason Spruill and Joseph Henry, SAS Institute Inc., Cary, NC ABSTRACT SAS Viya provides an open architecture that

More information

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently.

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently. 255 APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software Introduction 255 Generating a QMF Export Procedure 255 Exporting Queries from QMF 257 Importing QMF Queries into Query and Reporting 257 Alternate

More information

Optimizing System Performance

Optimizing System Performance 243 CHAPTER 19 Optimizing System Performance Definitions 243 Collecting and Interpreting Performance Statistics 244 Using the FULLSTIMER and STIMER System Options 244 Interpreting FULLSTIMER and STIMER

More information

Grid Computing in SAS 9.4

Grid Computing in SAS 9.4 Grid Computing in SAS 9.4 SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. Grid Computing in SAS 9.4. Cary, NC: SAS Institute Inc. Grid Computing

More information

Automating Preliminary Data Cleaning in SAS

Automating Preliminary Data Cleaning in SAS Paper PO63 Automating Preliminary Data Cleaning in SAS Alec Zhixiao Lin, Loan Depot, Foothill Ranch, CA ABSTRACT Preliminary data cleaning or scrubbing tries to delete the following types of variables

More information

Defender Desktop Login GrIDsure Token User Guide

Defender Desktop Login GrIDsure Token User Guide Desktop Login GrIDsure Token User Guide Introduction This guide describes what the user will see when using Desktop Login with GrIDsure tokens. The logon procedure will vary slightly depending on the platform

More information

;... _... name; tsoge. scr purpose: Startup a TSO SAS session. notes: Assumes the TSO session has been logged on manually.

;... _... name; tsoge. scr purpose: Startup a TSO SAS session. notes: Assumes the TSO session has been logged on manually. AUTOMATING THE PROCESS OF DOWNLOADING SAS DATA SETS TO THE PC Bruce Nawrocki, GE Capital Mortgage Insurance Introduction The [nfonn.tion Center at GE Capital Mortgage Insurance supports about 50 people

More information

Introduction to Modeling. Lecture Overview

Introduction to Modeling. Lecture Overview Lecture Overview What is a Model? Uses of Modeling The Modeling Process Pose the Question Define the Abstractions Create the Model Analyze the Data Model Representations * Queuing Models * Petri Nets *

More information

SAS Visual Analytics Environment Stood Up? Check! Data Automatically Loaded and Refreshed? Not Quite

SAS Visual Analytics Environment Stood Up? Check! Data Automatically Loaded and Refreshed? Not Quite Paper SAS1952-2015 SAS Visual Analytics Environment Stood Up? Check! Data Automatically Loaded and Refreshed? Not Quite Jason Shoffner, SAS Institute Inc., Cary, NC ABSTRACT Once you have a SAS Visual

More information

Abstract. Introduction. How Are All of These Tables Related? - Relational Database Map - RDB_MAP.SAS

Abstract. Introduction. How Are All of These Tables Related? - Relational Database Map - RDB_MAP.SAS How Are All of These Tables Related? - Relational Database Map - RDB_MAPSAS Eric Losby, HealthCare COMPARE Corp, Downers Grove, IL Abstract This simple, yet highly useful SAS program generates a "relational

More information

Changes and Enhancements

Changes and Enhancements vii Introduction This section describes the host-specific features of SAS software under OS/390 that have been implemented or enhanced since the 6.09 Enhanced Release. Note: Information about changes and

More information

SAS Cloud Analytic Services 3.2: Accessing and Manipulating Data

SAS Cloud Analytic Services 3.2: Accessing and Manipulating Data SAS Cloud Analytic Services 3.2: Accessing and Manipulating Data SAS Documentation August 23, 2017 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2017. SAS Cloud Analytic

More information

UNIX Platform Error Messages

UNIX Platform Error Messages 553 CHAPTER 46 UNIX Platform Error Messages UNIX: APPC Access Method 553 SAS/CONNECT and SAS/SHARE 553 HP-UX Messages 553 Solaris Messages 554 AIX Messages 555 UNIX: TCP/IP and TELNET Access Methods 556

More information

Changes and Enhancements

Changes and Enhancements vii Changes and Enhancements Introduction This section describes the features of SAS System under OS/2 that have been implemented or enhanced since Release 6.12. Version 8 changes and enhancements are

More information

Virtual Accessing of a SAS Data Set Using OPEN, FETCH, and CLOSE Functions with %SYSFUNC and %DO Loops

Virtual Accessing of a SAS Data Set Using OPEN, FETCH, and CLOSE Functions with %SYSFUNC and %DO Loops Paper 8140-2016 Virtual Accessing of a SAS Data Set Using OPEN, FETCH, and CLOSE Functions with %SYSFUNC and %DO Loops Amarnath Vijayarangan, Emmes Services Pvt Ltd, India ABSTRACT One of the truths about

More information

Medical Research Laboratories, cincinnati, OH

Medical Research Laboratories, cincinnati, OH USING TASK BROKER TO ENHANCE SAS R BATCH PROCESSING IN A UNIX R ENVIRONMENT Lori Goss - Medical Research Laboratories, cincinnati, OH ABSTRACT In a production environment, it is quite often necessary to

More information

Using SAS Viya Microservices Logging for Performance Analysis of SAS Visual Analytics 8.1 Reports

Using SAS Viya Microservices Logging for Performance Analysis of SAS Visual Analytics 8.1 Reports Paper SAS472-2017 Using SAS Viya Microservices Logging for Performance Analysis of SAS Visual Analytics 8.1 Reports Scott Sweetland, SAS Institute Inc. ABSTRACT Your SAS Visual Analytics users begin to

More information

estos UCServer Multiline TAPI Driver

estos UCServer Multiline TAPI Driver estos UCServer Multiline TAPI Driver 5.1.110.44786 1 estos UCServer Multiline TAPI Driver...4 1.1 Requirements...4 1.2 Connection to the server...4 1.3 Log-on...5 1.4 Line configuration...5 1.5 Completion...5

More information

Advanced Data Visualization using TIBCO Spotfire and SAS using SDTM. Ajay Gupta, PPD

Advanced Data Visualization using TIBCO Spotfire and SAS using SDTM. Ajay Gupta, PPD Advanced Data Visualization using TIBCO Spotfire and SAS using SDTM Ajay Gupta, PPD INTRODUCTION + TIBCO Spotfire is an analytics and business intelligence platform, which enables data visualization in

More information

The %let is a Macro command, which sets a macro variable to the value specified.

The %let is a Macro command, which sets a macro variable to the value specified. Paper 220-26 Structuring Base SAS for Easy Maintenance Gary E. Schlegelmilch, U.S. Dept. of Commerce, Bureau of the Census, Suitland MD ABSTRACT Computer programs, by their very nature, are built to be

More information

How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., Atlanta, GA

How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., Atlanta, GA How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., Atlanta, GA ABSTRACT This tutorial will demonstrate how to implement the One-Time Methodology, a way to manage, validate, and process survey

More information

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI Paper BI09-2012 BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI ABSTRACT Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto

More information

An Introduction to Parallel Processing with the Fork Transformation in SAS Data Integration Studio

An Introduction to Parallel Processing with the Fork Transformation in SAS Data Integration Studio Paper 2733-2018 An Introduction to Parallel Processing with the Fork Transformation in SAS Data Integration Studio Jeff Dyson, The Financial Risk Group ABSTRACT The SAS Data Integration Studio job is historically

More information

Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2

Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Lecture 3: Processes Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Process in General 3.3 Process Concept Process is an active program in execution; process

More information

The Ins and Outs of %IF

The Ins and Outs of %IF Paper 1135-2017 The Ins and Outs of %IF M. Michelle Buchecker, ThotWave Technologies, LLC. ABSTRACT Have you ever had your macro code not work and you couldn't figure out why? Even something as simple

More information

Mapping Clinical Data to a Standard Structure: A Table Driven Approach

Mapping Clinical Data to a Standard Structure: A Table Driven Approach ABSTRACT Paper AD15 Mapping Clinical Data to a Standard Structure: A Table Driven Approach Nancy Brucken, i3 Statprobe, Ann Arbor, MI Paul Slagle, i3 Statprobe, Ann Arbor, MI Clinical Research Organizations

More information

ABSTRACT INTRODUCTION THE GENERAL FORM AND SIMPLE CODE

ABSTRACT INTRODUCTION THE GENERAL FORM AND SIMPLE CODE Paper SA06 Painless Extraction: Options and Macros with PROC PRESENV Keith Fredlund, MS (candidate) Grand Valley State University, Allendale, Michigan; Thinzar Wai, MS (candidate) Grand Valley State University,

More information

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming

More information

Enterprise Miner Software: Changes and Enhancements, Release 4.1

Enterprise Miner Software: Changes and Enhancements, Release 4.1 Enterprise Miner Software: Changes and Enhancements, Release 4.1 The correct bibliographic citation for this manual is as follows: SAS Institute Inc., Enterprise Miner TM Software: Changes and Enhancements,

More information

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ Paper 74924-2011 Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ ABSTRACT Excel output is the desired format for most of the ad-hoc reports

More information

The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC

The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC Paper CS-061 The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC ABSTRACT Organization is the key to every project. It provides a detailed history of

More information

Scalable Access to SAS Data Billy Clifford, SAS Institute Inc., Austin, TX

Scalable Access to SAS Data Billy Clifford, SAS Institute Inc., Austin, TX Scalable Access to SAS Data Billy Clifford, SAS Institute Inc., Austin, TX ABSTRACT Symmetric multiprocessor (SMP) computers can increase performance by reducing the time required to analyze large volumes

More information

Version 6 and Version 7: A Peaceful Co-Existence Steve Beatrous and James Holman, SAS Institute Inc., Cary, NC

Version 6 and Version 7: A Peaceful Co-Existence Steve Beatrous and James Holman, SAS Institute Inc., Cary, NC Version 6 and Version 7: A Peaceful Co-Existence Steve Beatrous and James Holman, SAS Institute Inc., Cary, NC Abstract Version 7 represents a major step forward for SAS Institute and is the first release

More information

SAS Catalogs. Definition. Catalog Names. Parts of a Catalog Name CHAPTER 32

SAS Catalogs. Definition. Catalog Names. Parts of a Catalog Name CHAPTER 32 479 CHAPTER 32 SAS Catalogs Definition 479 Catalog Names 479 Parts of a Catalog Name 479 Accessing Information in Catalogs 480 Tools for Managing Catalogs 480 User Profile Catalog 481 Definition 481 How

More information

SAS Clinical Data Integration 2.4

SAS Clinical Data Integration 2.4 SAS Clinical Data Integration 2.4 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS Clinical Data Integration 2.4: User's Guide.

More information

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX Keith Ma ---------------------------------------- keithma@bu.edu Research Computing Services ----------- help@rcs.bu.edu Boston University ----------------------------------------------------

More information

Paper HOW-06. Tricia Aanderud, And Data Inc, Raleigh, NC

Paper HOW-06. Tricia Aanderud, And Data Inc, Raleigh, NC Paper HOW-06 Building Your First SAS Stored Process Tricia Aanderud, And Data Inc, Raleigh, NC ABSTRACT Learn how to convert a simple SAS macro into three different stored processes! Using examples from

More information

IF there is a Better Way than IF-THEN

IF there is a Better Way than IF-THEN PharmaSUG 2018 - Paper QT-17 IF there is a Better Way than IF-THEN Bob Tian, Anni Weng, KMK Consulting Inc. ABSTRACT In this paper, the author compares different methods for implementing piecewise constant

More information

Whole genome assembly comparison of duplication originally described in Bailey et al

Whole genome assembly comparison of duplication originally described in Bailey et al WGAC Whole genome assembly comparison of duplication originally described in Bailey et al. 2001. Inputs species name path to FASTA sequence(s) to be processed either a directory of chromosomal FASTA files

More information

Using a Picture Format to Create Visit Windows

Using a Picture Format to Create Visit Windows SCSUG 2018 Using a Picture Format to Create Visit Windows Richann Watson, DataRich Consulting ABSTRACT Creating visit windows is sometimes required for analysis of data. We need to make sure that we get

More information

How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix

How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix Paper PO-09 How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix ABSTRACT This paper demonstrates how to implement

More information

Checking for Duplicates Wendi L. Wright

Checking for Duplicates Wendi L. Wright Checking for Duplicates Wendi L. Wright ABSTRACT This introductory level paper demonstrates a quick way to find duplicates in a dataset (with both simple and complex keys). It discusses what to do when

More information

SAS Data Integration Studio 3.3. User s Guide

SAS Data Integration Studio 3.3. User s Guide SAS Data Integration Studio 3.3 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Data Integration Studio 3.3: User s Guide. Cary, NC: SAS Institute

More information

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series Accessing Data and Creating Data Structures SAS Global Certification Webinar Series Accessing Data and Creating Data Structures Becky Gray Certification Exam Developer SAS Global Certification Michele

More information

Transitioning from Batch and Interactive SAS to SAS Enterprise Guide Brian Varney, Experis Business Analytics, Portage, MI

Transitioning from Batch and Interactive SAS to SAS Enterprise Guide Brian Varney, Experis Business Analytics, Portage, MI Paper BI-05-2013 Transitioning from Batch and Interactive SAS to SAS Enterprise Guide Brian Varney, Experis Business Analytics, Portage, MI ABSTRACT Although the need for access to data and analytical

More information

An Alternate Way to Create the Standard SDTM Domains

An Alternate Way to Create the Standard SDTM Domains PharmaSUG 2018 - Paper DS-12 ABSTRACT An Alternate Way to Create the Standard SDTM Domains Sunil Kumar Pusarla, Omeros Corporation Sponsors who initiate clinical trials after 2016-12-17 are required to

More information

Producing Multipurpose Metadata for Data Quality, Trending, and a Data Dictionary John E. Bentley, First Union National Bank

Producing Multipurpose Metadata for Data Quality, Trending, and a Data Dictionary John E. Bentley, First Union National Bank Producing Multipurpose Metadata for Data Quality, Trending, and a Data Dictionary John E. Bentley, First Union National Bank Abstract: One of the benefits of a data warehouse is that it provides a "single

More information

RSA NetWitness Logs. GlobalSCAPE Enhanced File Transfer (EFT) Server. Event Source Log Configuration Guide. Last Modified: Thursday, May 25, 2017

RSA NetWitness Logs. GlobalSCAPE Enhanced File Transfer (EFT) Server. Event Source Log Configuration Guide. Last Modified: Thursday, May 25, 2017 RSA NetWitness Logs Event Source Log Configuration Guide GlobalSCAPE Enhanced File Transfer (EFT) Server Last Modified: Thursday, May 25, 2017 Event Source Product Information: Vendor: GlobalSCAPE Event

More information

One Project, Two Teams: The Unblind Leading the Blind

One Project, Two Teams: The Unblind Leading the Blind ABSTRACT PharmaSUG 2017 - Paper BB01 One Project, Two Teams: The Unblind Leading the Blind Kristen Reece Harrington, Rho, Inc. In the pharmaceutical world, there are instances where multiple independent

More information

PUMPKIN USER S GUIDE. Contributors: Reginald Cushing

PUMPKIN USER S GUIDE. Contributors: Reginald Cushing PUMPKIN USER S GUIDE Contributors: Reginald Cushing Pumpkin framework is the follow up of the Datafluo framework, having the same objective: Support researchers to run complex applications on distributed

More information

Thread-Level Parallelism. Instructor: Adam C. Champion, Ph.D. CSE 2431: Introduction to Operating Systems Reading: Section 12.

Thread-Level Parallelism. Instructor: Adam C. Champion, Ph.D. CSE 2431: Introduction to Operating Systems Reading: Section 12. Thread-Level Parallelism Instructor: Adam C. Champion, Ph.D. CSE 2431: Introduction to Operating Systems Reading: Section 12.6, [CSAPP] 1 Contents Parallel Computing Hardware Multicore Multiple separate

More information

SAS Model Manager 2.3

SAS Model Manager 2.3 SAS Model Manager 2.3 Administrator's Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS Model Manager 2.3: Administrator's Guide. Cary,

More information