Beating Gridlock: Parallel Programming with SAS Grid Computing and SAS/CONNECT
|
|
- Vernon Moore
- 5 years ago
- Views:
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
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 informationCHAPTER 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 informationA 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 informationEnhancing 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 informationSAS/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 informationOVERVIEW 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 informationMIS 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 informationAdministration & 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 informationSAS 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 informationPhUSE 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 informationData 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 informationSystems 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 informationAn 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 informationCleaning 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 informationSyntax 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 informationSAS 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
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 informationStoring 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 informationMy 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 informationUsing 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 informationHOW 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 informationTaking 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 informationPREREQUISITES 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 informationSAS/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 informationAmie 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 informationUsing 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 informationHow 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 informationUsing 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 informationPharmaSUG 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 informationBryan 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 informationAutomation 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 informationSAS/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 informationPerformance 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 informationMy 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 informationPaper 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 informationGreenspace: 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 informationMWSUG 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 informationThe 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 Anant Sharma Data warehousing & Business Intelligence, Wipro Technologies, Mumbai, India Abstract: The world as we know, is much more competitive
More informationABSTRACT 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 informationClinical 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 informationConfiguring 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 informationTroy 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 informationSAS 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 informationA 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 informationLocking 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 informationParallel 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 informationPaper 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 informationCompute 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 informationAPPENDIX 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 informationOptimizing 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 informationGrid 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 informationAutomating 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 informationDefender 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.
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 informationIntroduction 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 informationSAS 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 informationAbstract. 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 informationChanges 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 informationSAS 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 informationUNIX 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 informationChanges 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 informationVirtual 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 informationMedical 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 informationUsing 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 informationestos 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 informationAdvanced 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 informationThe %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 informationHow 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 informationBI-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 informationAn 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 informationAgenda 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 informationThe 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 informationMapping 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 informationABSTRACT 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
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 informationEnterprise 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 informationExporting 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 informationThe 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 informationScalable 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 informationVersion 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 informationSAS 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 informationSAS 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 informationINTRODUCTION 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 informationPaper 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 informationIF 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 informationWhole 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 informationUsing 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 informationHow 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 informationChecking 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 informationSAS 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 informationAccessing 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 informationTransitioning 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 informationAn 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 informationProducing 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 informationRSA 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 informationOne 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 informationPUMPKIN 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 informationThread-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 informationSAS 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