New Tools Using the Hardware Pertbrmaiihe... Monitor to Help Users Tune Programs on the Cray X-MP*
|
|
|
- Oswald Oliver
- 9 years ago
- Views:
Transcription
1 ANL/CP _' DE New Tools Using the Hardware Pertbrmaiihe... Monitor to Help Users Tune Programs on the Cray X-MP* D. E. Engert, L. Rudsinski J. Doak Argonne National Laboratory Cray Research Inc. September 25, 1991 Abstract The performance of a Cray system is highly dependent on the the tuning techniques used by individuals on their codes. Many of our users were not taking advantage of the tuning tools that allow them to monitor their own programs by using the Hardware Performance Monitor (HPM). We therefore modified UNICOS to collect HPM data for ali processes and to report Mflop ratings based on users, programs, and time used. Our tuning efforts are now being focused on the users and programs that have the best potential for performance improvements. These modifications and some of the more striking performance improvements are described. 1 Introduction The Cray X-MP at Argonne National Laboratory went into production in January 1988 under the UNICOS operating system. Its purpose is to provide supercomputing capabilities to the Laboratory. The X-MP is, of course, capable of doing general-purpose computing. Its ease of use, good network access, security, and large file systems make it attractive for almost any type of computing. Our objective, however, is to use the X-MP as Argonne's scientific batch compute engine. Interactive access to UNICOS is intended mostly for interactive graphics, debugging, and simple data management. We encourage users to develop code, read mail, and do word processing on other machines. The strong point of the Cray X-MP for scientific computing is its ability to vectorize floating-point calculations. Nevertheless, the performance of the X-MP depends heavily on *Work sponsored by U.S. Department of Energy under contract number W Eng-38 _i _, ', s'_g li ii,,ii mi,.r_/. DISTRIDUTIONOF THIS DOCUMENTi8 t.inlimited......,._,_-==._._.-_,,-o....
2 i code tuning. Currently we have about 500 enrolled users. Many of these users have simply ported their code from other computers and have relied on the compiler optimization for performance speedup. They have made little effort to use the Cray tuning tools to achieve maximum performance. Aware of this situation, our division director asked the question, "Can someone tell me the megaflop (Mflop) rate of our X-MP?" Admittedly, the Mflop rating of a program is only a relative indication of its effective use of the machine. Programs that are not floatingpoint intensive may still be well suited for the Cray. They may be doing logical operations or integer calculations, or even using the Cray for its I/O performance. And we are aware that the Mflop rating can be artificially inflated. At one time we considered a "cpu guzzler" surcharge for processes showing low Mflop performance, but soon realized that that waz not a good idea and probably would not work, since all users would have to do is add a small section of "do nothing" code that does vector additions and multiplications just to raise their Mflop rate. A user who haz changed the HPM group from group 0, or who adds a few extra multiplications by 1.0 or additions of 0.0 to his loops can change the Mflop rating while not changing the overall CPU time of a process. (One such do-nothing test case gets 304 Mflops on a machine with a peek rating of 235.) Nevertheless, we believed that an overall Mflops count was certainly of interest. We also knew that the Cray, unlike any other family of computers, haz a Hardware Performance Monitor that can provide performance statistics on any user code. The HPM comprises of four groups of counters, of which one group may be active at a time. Group 0 and 3 can be used to count Mflops. At process switch time, the counters are read and reset. Three sets of counts are kept by the kernel: an overall count, a process count, and a multitasking group count. The user can invoke the hpm command to measure his individual program, but no command existed to show the overall count. 2 New Tools In December 1989, we asked our CRI analyst, Jeff Doak, to tackle the Mflop overall count problem. Jeff changed the default ttpm group from 1 to 0. He then wrote hpmrpt, which uses routines from hpm to report the Mflop rate since the last boot. The new command reads from/dev/hpm_all to get the systemwide counts, instead of reading from/dov/hpm which contains the data for a single process. A cron job and hpm'pt provides us with a daily Mflop rate for the X-MP. UNICOS 6.0 now has the hpmall command, which is a direct result of the work started here. It soon became apparent that if we could get the overall Mflop rate and if a user could get his own Mflop rate, we should be able to get the Mflop rate for each process. That information would give us insight into how the machine was being used, who was using it well, and--more important--who needed our help in tuning a code.
3 Again, no UNICOS 5.1 tool existed to provide this information. This time, Bob Swanson of Cray's Libraries and Tools Group rescued us. He gave us a replacement routine for hpmdump which is in libc and is linked with every module. Jeff changed hpmdump to write one record per process to a common file only if it uses more than 15 seconds of CPU time. Each record contains userid, date, time, process name, process number, and process HPM data. The access method is simple; we do not use file locks or retry. Few access collisions occur, and the update of the common file takes just a fraction of a second. Moreover, the user program size is increased less than 500 words by the additional code to hpmdump. The new tool was installed in July Since hpmdump is a process termination routine and part of the user's module, only those modules linked _fter this date will record the statistics. When building new versions of UNICOS, we install the hpmdump modification last, so that only the user programs and not all of the UNICOS utility processes have this modification. This approach is taken for performance and reliability reasons. Jeff also wrote a new program mflops to read and report on the contents of the common file. It reports, by default, the recorded programs run for the current user on the current day. Options include reports on codes, users, specific dates, and CPU use. Our report program mflops was the basis ibr the UNICOS 7.0 command hpmflop. Hpmflop is our current report generator. Jeff has placed a version hpmdump and the report picgram hpmflop on the crayamid in jdoak/hpm.cpio. 3 Cray Optimization Project With the development of the mflops program, we were in a position to focus our tuning efforts on programs that could benefit most from code optimization. In January 1991 we formed the Cray Optimization Project, headed by Larry Rudsinski. From the mflops statistics we selected the top ten users whose c_des were using the most CPU time on the Cray and whose Mflop rate was less than 25. We contacted these users and discussed with them the performance of their code. Throughout, we emphasized how an improvement in performance would allow them to do more science--or even new science--for the same computer cost. Our approach was to make the offer so good that the user could not turn it down. Admittedly, most scientists that we contacted were a bit apprehensive that some stranger was going to obtain a copy of their code and analyze it. But we continued to play down this point by stressing that we provide the computer performance insight and they provide the scientific insight. And yes, the real selling point was that the service was free. After gaining the support of the scientist, we obtained a copy of the source code and all
4 data files needed to run a representative case. Generally, this involved creating a directory in/trap (i.e.,/tmp/ler), setting the permissions so everyone can read and write into the directory, having the scientist copy the files to that directory and give read permission to the files, and then storing the needed files in a working directory. This approach might seem cumbersome, but it is certainly less _nnoying than finding out that some essential file is read protected or missirg. Once all the needed files were in the working directory, we created a subdirectory for the source code. We used the Cray tool Fmaker, which splits the source file into several files, with each subroutine or function contained in its own file. Fmaker then builds the make file needed to build the executable (i.e., a.out) file. The parameters for both the compiler and loader can be set on a single line in the make file. After the first use of make, only the routines that are being changed need to be recompiled, thus reducing compilation time and cost. 4 Challenges Met An early challenge in the Cray Optimization Project was scaling down a production run to get a reasonable test case. We needed to execute the code long enough to get meaningful statistics and yet not consume significant Cray resources. Even when the file itself executed in only 10 minutes, the additional overhead needed for accumulating statistics from the analysis tools such as PERFTRACE and PROF would cause the NQS time limit to be exceeded and the statistical output from PERFTRACE or PROF to be lost. Therefore, we needed a way to generate performance statistics even if the code terminated with a time limit. Otherwise, the run was a waste of our time as well as Cray CPU time. Jeff responded by writing two routines: cleanstop.c and cleanstopf.f. When the task time limit is reached, cleanstop receives the sigcpulim signal and terminates the code gracefully, saving the statistical output from PERFTRACE or PROF. The two routines have been placed on the crayamid in jdoak. The statistics generally indicated that two or three routines were consuming most of the execution time. We typically used various tools from the Toolpack library (A library of Fortran 77 tools developed at Argonne) to clean up these routines--indenting do-loops and if-structures, resequencing statement labels, and rewriting IF-G0 TO Fortran syntax to the more readable IF THEN ELSE ENDI_ format. The routines were then compiled with cft77 using the m option. This option annotates ttle listing file, indicating which loops vectorize and which ones do not. Finally, we made the appropriate optimization and vectorization changes. In making such changes, it is important that we can tell not only how much the changes decrease the execution time, but also how much they increase the Mflop rate for
5 J! that particular section of code. Again, Jeff wrote a small C program, called floprpz, that provides the desired information. The., code of interest is bracketed by two calls to floprp%. The first call, with zero as an argument, initializes the Mflop counters; the second call, with an argument of one, prints the results from the first cml. The following is an example of the code and the results from using floprp%. c parameter (ndim=75) dimension a(ndim), b(ndim), c(ndim) data s /.25/ data n /ndim/ write (6,*) n do I i=l,n b(i) = lo.o*ranf() c(i) = 23.2.ranf() 1 continue c call floprpt (0) do 2 i=l,n a(i) = b(i) + s*c(i) 2 continue call floprp% (1) write(6,*) a(1),a(n) stop end Y,hpm a.out add/mult/recip/clocks/mflop" We mention a caveat in measuring small loops in a test case as shown here. When the compiler compiles loop2 in the main program, if it does not think the output from the loop is ever used, it does not generate any code for that loop. Thus, we added the write statement to write out the first and last element of the array a. 5 A Win-Win-Win Situation The results of the Cray Optimization Project have been exce)lent. After we obtained the various statistics and discussed with the users where their code was spending most of its time, several users completely rewrote the routines, gaining significant improvement in
6 ,r performance and much better Fortran. In other cases, only minor changes were necessary to get the compiler to do a better job of vectorizing the code. We have worked with over ten users in the first eight months of the project, seeing improvements from factors 1.5 to over 11 in the execution time. The project has proven to be a WIN - WIN - WIN situation. The users WIN by having codes that perform better, thus allowing researchers to do more science for the same cost, with better turnaround. The computer center WINs by having better rapport with our users and by having more computing capacity available for them. CRI WINs by having codes that are tuned for their computers, thereby strengthening CRI's position as the supercomputing market leader and putting the organization in,_n excellent position for future _.cquisitions. In fact, anyone can WIN who has a diverse user community where little is known about the users or their codes. These modifications can be obtained by a center's CRI analyst from the crayamid system. They are located under jdoak. Note Jeff Doak is no longer our site analyst but has moved on to another assignment within CRI. We thank Jeff for his hard work on this project and expect to see his name on other Cray improvements in the future. For more information we can be contacted by at: Doug Engert Larry Eudsinski Jeff _oak [email protected] b26605cachilles.ctd.anl.gov jdoak birch.cray.com DISCLAIMER This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its u_ would not infringe privately owned tights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof. The views and opinions of authol expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.
7 r \
8
Drupal Automated Testing: Using Behat and Gherkin
PNNL-23798 Prepared for the U.S. Department of Energy under Contract DE-AC05-76RL01830 Drupal Automated Testing: Using Behat and Gherkin Thomas Williams [email protected] Carolyn Wolkenhauer [email protected]
THE NAS KERNEL BENCHMARK PROGRAM
THE NAS KERNEL BENCHMARK PROGRAM David H. Bailey and John T. Barton Numerical Aerodynamic Simulations Systems Division NASA Ames Research Center June 13, 1986 SUMMARY A benchmark test program that measures
The Production Cluster Construction Checklist
ARGONNE NATIONAL LABORATORY 9700 South Cass Avenue Argonne, IL 60439 ANL/MCS-TM-267 The Production Cluster Construction Checklist by Rémy Evard, Peter Beckman, Sandra Bittner, Richard Bradshaw, Susan Coghlan,
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
Climate-Weather Modeling Studies Using a Prototype Global Cloud-System Resolving Model
ANL/ALCF/ESP-13/1 Climate-Weather Modeling Studies Using a Prototype Global Cloud-System Resolving Model ALCF-2 Early Science Program Technical Report Argonne Leadership Computing Facility About Argonne
Building CHAOS: an Operating System for Livermore Linux Clusters
UCRL-ID-151968 Building CHAOS: an Operating System for Livermore Linux Clusters Jim E. Garlick Chris M. Dunlap February 21, 2002 Approved for public release; further dissemination unlimited DISCLAIMER
Chapter 7: Additional Topics
Chapter 7: Additional Topics In this chapter we ll briefly cover selected advanced topics in fortran programming. All the topics come in handy to add extra functionality to programs, but the feature you
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
A Systems Approach to HVAC Contractor Security
LLNL-JRNL-653695 A Systems Approach to HVAC Contractor Security K. M. Masica April 24, 2014 A Systems Approach to HVAC Contractor Security Disclaimer This document was prepared as an account of work sponsored
Figure 1: Graphical example of a mergesort 1.
CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your
2 SYSTEM DESCRIPTION TECHNIQUES
2 SYSTEM DESCRIPTION TECHNIQUES 2.1 INTRODUCTION Graphical representation of any process is always better and more meaningful than its representation in words. Moreover, it is very difficult to arrange
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
WinMagic Encryption Software Installation and Configuration
WinMagic Encryption Software Installation and Configuration Don Mendonsa, Faranak Nekoogar, Harry Martz Lawrence Livermore National Laboratory Livermore, CA 94551 Work performed on the Science & Technology
Second Line of Defense Virtual Private Network Guidance for Deployed and New CAS Systems
PNNL-19266 Prepared for the U.S. Department of Energy under Contract DE-AC05-76RL01830 Second Line of Defense Virtual Private Network Guidance for Deployed and New CAS Systems SV Singh AI Thronas January
Proposal: Application of Agile Software Development Process in xlpr ORNL- 2012/41412 November 2012
Proposal: Application of Agile Software Development Process in xlpr ORNL- 2012/41412 November 2012 Prepared by Hilda B. Klasky Paul T. Williams B. Richard Bass This report was prepared as an account of
This document was prepared in conjunction with work accomplished under Contract No. DE-AC09-96SR18500 with the U. S. Department of Energy.
This document was prepared in conjunction with work accomplished under Contract No. DE-AC09-96SR18500 with the U. S. Department of Energy. DISCLAIMER This report was prepared as an account of work sponsored
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
Synchro-Phasor Data Conditioning and Validation Project Phase 3, Task 1. Report on
Synchro-Phasor Data Conditioning and Validation Project Phase 3, Task 1 Report on Lessons Learned in the DV&C Project Prepared for the Office of Electricity Delivery and Energy Reliability, Transmission
EasyC. Programming Tips
EasyC Programming Tips PART 1: EASYC PROGRAMMING ENVIRONMENT The EasyC package is an integrated development environment for creating C Programs and loading them to run on the Vex Control System. Its Opening
A High Performance Computing Scheduling and Resource Management Primer
LLNL-TR-652476 A High Performance Computing Scheduling and Resource Management Primer D. H. Ahn, J. E. Garlick, M. A. Grondona, D. A. Lipari, R. R. Springmeyer March 31, 2014 Disclaimer This document was
IDC Reengineering Phase 2 & 3 US Industry Standard Cost Estimate Summary
SANDIA REPORT SAND2015-20815X Unlimited Release January 2015 IDC Reengineering Phase 2 & 3 US Industry Standard Cost Estimate Summary Version 1.0 James Mark Harris, Robert M. Huelskamp Prepared by Sandia
Y-12 EMBOS Medical Lab Interface Batch Loader
DOE-FIU SCIENCE & TECHNOLOGY WORKFORCE DEVELOPMENT PROGRAM STUDENT SUMMER INTERNSHIP TECHNICAL REPORT June 4, 2012 to August 10, 2012 Y-12 EMBOS Medical Lab Interface Batch Loader Principal Investigators:
Advanced Tutorials. Numeric Data In SAS : Guidelines for Storage and Display Paul Gorrell, Social & Scientific Systems, Inc., Silver Spring, MD
Numeric Data In SAS : Guidelines for Storage and Display Paul Gorrell, Social & Scientific Systems, Inc., Silver Spring, MD ABSTRACT Understanding how SAS stores and displays numeric data is essential
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Should Costing Version 1.1
Should Costing Identify should cost elements early in the design phase, and enable cost down initiatives Version 1.1 August, 2010 WHITE PAPER Copyright Notice Geometric Limited. All rights reserved. No
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
COMPARISON OF INDIRECT COST MULTIPLIERS FOR VEHICLE MANUFACTURING
COMPARISON OF INDIRECT COST MULTIPLIERS FOR VEHICLE MANUFACTURING Technical Memorandum in support of Electric and Hybrid Electric Vehicle Cost Estimation Studies by Anant Vyas, Dan Santini, and Roy Cuenca
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
Requesting Nodes, Processors, and Tasks in Moab
LLNL-MI-401783 LAWRENCE LIVERMORE NATIONAL LABORATORY Requesting Nodes, Processors, and Tasks in Moab D.A Lipari March 29, 2012 This document was prepared as an account of work sponsored by an agency of
NEAMS Software Licensing, Release, and Distribution: Implications for FY2013 Work Package Planning
ORNL/TM-2012/246 NEAMS Software Licensing, Release, and Distribution: Implications for FY2013 Work Package Planning Preliminary Report (NEAMS Milestone M4MS-12OR0608113) Version 1.0 (June 2012) David E.
Measurement of BET Surface Area on Silica Nanosprings
PNNL-17648 Prepared for the U.S. Department of Energy under Contract DE-AC05-76RL01830 Measurement of BET Surface Area on Silica Nanosprings AJ Karkamkar September 2008 DISCLAIMER This report was prepared
Operating System for the K computer
Operating System for the K computer Jun Moroo Masahiko Yamada Takeharu Kato For the K computer to achieve the world s highest performance, Fujitsu has worked on the following three performance improvements
How To Write A Cg Toolkit Program
Cg Toolkit Cg 1.4.1 March 2006 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware platforms and graphics APIs. Originally
Building Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan
Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software
AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE
Atmel AVR 8-bit Microcontroller AVR151: Setup and Use of the SPI APPLICATION NOTE Introduction This application note describes how to set up and use the on-chip Serial Peripheral Interface (SPI) of the
Good FORTRAN Programs
Good FORTRAN Programs Nick West Postgraduate Computing Lectures Good Fortran 1 What is a Good FORTRAN Program? It Works May be ~ impossible to prove e.g. Operating system. Robust Can handle bad data e.g.
GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
U.S. Geological Survey Digital Data Series DDS 69-A
U.S. Geological Survey Digital Data Series DDS 69-A National Assessment of Oil and Gas Project: Petroleum Systems and Assessment of the South Florida Basin Compiled by Richard M. Pollastro and Christopher
Development of Application Software for Stock Material Selection for Manufacturing of Shafts
Development of Application Software for Stock Material Selection for Manufacturing of Shafts Oduola. M. O., Akinluwade, K. J., Immanuel, T., Efozia, N. F., Musa, D. I., *Adetunji, A. R. Department of Engineering,
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI)
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI) SYSTEM V APPLICATION BINARY INTERFACE Motorola M68HC05, M68HC08, M68HC11, M68HC12, and M68HC16 Processors Supplement Version 2.0
Active Vibration Isolation of an Unbalanced Machine Spindle
UCRL-CONF-206108 Active Vibration Isolation of an Unbalanced Machine Spindle D. J. Hopkins, P. Geraghty August 18, 2004 American Society of Precision Engineering Annual Conference Orlando, FL, United States
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
Optical Blade Position Tracking System Test
National Renewable Energy Laboratory Innovation for Our Energy Future A national laboratory of the U.S. Department of Energy Office of Energy Efficiency & Renewable Energy Optical Blade Position Tracking
Elemental functions: Writing data-parallel code in C/C++ using Intel Cilk Plus
Elemental functions: Writing data-parallel code in C/C++ using Intel Cilk Plus A simple C/C++ language extension construct for data parallel operations Robert Geva [email protected] Introduction Intel
Debugging. Common Semantic Errors ESE112. Java Library. It is highly unlikely that you will write code that will work on the first go
Debugging ESE112 Java Programming: API, Psuedo-Code, Scope It is highly unlikely that you will write code that will work on the first go Bugs or errors Syntax Fixable if you learn to read compiler error
GNU LIBRARY GENERAL PUBLIC LICENSE. Preamble
GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute
Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
Penetration Testing of Industrial Control Systems
SF-1075-SUR (8-2005) SANDIA REPORT SAND2005-2846P Unlimited Release Printed March, 2005 Penetration Testing of Industrial Control Systems David P. Duggan Prepared by Sandia National Laboratories Albuquerque,
Analytic Modeling in Python
Analytic Modeling in Python Why Choose Python for Analytic Modeling A White Paper by Visual Numerics August 2009 www.vni.com Analytic Modeling in Python Why Choose Python for Analytic Modeling by Visual
Configuring Apple Mail for Mac OS X (Mountain Lion)
Configuring Apple Mail for Mac OS X (Mountain Lion) This document assumes that you already have Apple Mail installed on your computer and you are ready to configure Apple Mail. Table of Contents Configuring
CS420: Operating Systems OS Services & System Calls
NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,
Improving a Gripper End Effector
PNNL-13440 Improving a Gripper End Effector OD Mullen CM Smith KL Gervais January 2001 Prepared for the U.S. Department of Energy under Contract DE-AC06-76RL01830 DISCLAIMER This report was prepared as
Configuring Outlook 2011 for Mac with Google Mail
Configuring Outlook 2011 for Mac with Google Mail This document assumes that you already have Outlook 2011 installed on your computer and you are ready to configure Outlook with Google Mail. Table of Contents
APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features
APPLICATION NOTE AT07175: SAM-BA Bootloader for SAM D21 Atmel SAM D21 Introduction Atmel SAM Boot Assistant (Atmel SAM-BA ) allows In-System Programming (ISP) from USB or UART host without any external
APPLICATION NOTE. Atmel AVR443: Sensor-based Control of Three Phase Brushless DC Motor. Atmel AVR 8-bit Microcontrollers. Features.
APPLICATION NOTE Features Atmel AVR443: Sensor-based Control of Three Phase Brushless DC Motor Less than 5µs response time on Hall sensor output change Theoretical maximum of 1600k RPM Over-current sensing
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Laboratory 3 Learning C and Sinewave Generation
Department of Electrical and Electronic Engineering Imperial College of Science, Technology and Medicine EE3T Study Project: Real-Time Digital Signal Processing with TMS320C6000 Objectives Laboratory 3
AN3265 Application note
Application note Handling hardware and software failures with the STM8S-DISCOVERY Application overview This application is based on the STM8S-DISCOVERY. It demonstrates how to use the STM8S window watchdog
Introduction to Python
1 Daniel Lucio March 2016 Creator of Python https://en.wikipedia.org/wiki/guido_van_rossum 2 Python Timeline Implementation Started v1.0 v1.6 v2.1 v2.3 v2.5 v3.0 v3.1 v3.2 v3.4 1980 1991 1997 2004 2010
AN10850. LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode
LPC1700 timer triggered memory to GPIO data transfer Rev. 01 16 July 2009 Application note Document information Info Keywords Abstract Content LPC1700, GPIO, DMA, Timer0, Sleep Mode This application note
Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device
Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device IBM Microelectronics Dept D95/Bldg 060 3039 Cornwallis Road Research Triangle Park, NC 27709 Version: 1 December 15, 1997 Abstract
Trustworthy Computing
Stefan Thom Senior Software Development Engineer and Security Architect for IEB, Microsoft Rob Spiger, Senior Security Strategist Trustworthy Computing Agenda Windows 8 TPM Scenarios Hardware Choices with
CET W/32 Application Builder Version 9
CET W/32 Application Builder Version 9 Overview of the Product, Technical Specifications, And Installation Guide cet software, incorporated 6595 odell place boulder, colorado, 80301 Table of Contents INSTALLATION
Floating Point C Compiler: Tips and Tricks Part I
TMS320 DSP DESIGNER S NOTEBOOK Floating Point C Compiler: Tips and Tricks Part I APPLICATION BRIEF: SPRA229 Karen Baldwin Digital Signal Processing Products Semiconductor Group Texas Instruments June 1993
Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
HP Service Manager Shared Memory Guide
HP Service Manager Shared Memory Guide Shared Memory Configuration, Functionality, and Scalability Document Release Date: December 2014 Software Release Date: December 2014 Introduction to Shared Memory...
150127-Microprocessor & Assembly Language
Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an
Configuration Management (CM) Plans: The Beginning to Your CM Solution
Technical Report CMU/SEI-93-TR-{Insert number} ESD-TR-93-{Insert number} July 1993 Configuration Management (CM) Plans: The Beginning to Your CM Solution Nadine M. Bounds Susan A. Dart Approved for public
AN3332 Application note
Application note Generating PWM signals using STM8S-DISCOVERY Application overview This application user manual provides a short description of how to use the Timer 2 peripheral (TIM2) to generate three
2-DFINITE ELEMENT CABLE & BOX IEMP ANALYSIS
P 7. I 2-DFINITE ELEMENT CABLE & BOX IEMP ANALYSIS - "L C. David Turner and Gary J. Scrivner Sandia National Laboratories Albuquerque, NM 87185-1152 a ABSTRACT and multiple dielectric regions. The applicable
OSADL License Compliance Audit (OSADL LCA)
Open Source Automation Development Lab eg OSADL License Compliance Audit (OSADL LCA) 1. Goals Risk management for any company includes the maintenance of legal and contractual obligations. The observance
CUDA programming on NVIDIA GPUs
p. 1/21 on NVIDIA GPUs Mike Giles [email protected] Oxford University Mathematical Institute Oxford-Man Institute for Quantitative Finance Oxford eresearch Centre p. 2/21 Overview hardware view
(Refer Slide Time: 00:01:16 min)
Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control
1. Computer System Structure and Components
1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices
Using Virtualization to Help Move a Data Center
Using Virtualization to Help Move a Data Center Jim Moling US Treasury, Financial Management Service Session 7879 Tuesday, August 3, 2010 Disclaimers The opinions & ideas expressed herein are those of
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
CPS221 Lecture: Operating System Structure; Virtual Machines
Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of
Using C to Access Data Stored in Program Space Memory on the TMS320C24x DSP
Application Report SPRA380 April 2002 Using C to Access Data Stored in Program Space Memory on the TMS320C24x DSP David M. Alter DSP Applications - Semiconductor Group ABSTRACT Efficient utilization of
AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION
AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION Michael Black, American University Manoj Franklin, University of Maryland-College Park American Society for Engineering
VHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
Early Fuel Cell Market Deployments: ARRA and Combined (IAA, DLA, ARRA)
Technical Report NREL/TP-56-588 January 3 Early Fuel Cell Market Deployments: ARRA and Combined (IAA, DLA, ARRA) Quarter 3 Composite Data Products Jennifer Kurtz, Keith Wipke, Sam Sprik, Todd Ramsden,
Application Note: AN00141 xcore-xa - Application Development
Application Note: AN00141 xcore-xa - Application Development This application note shows how to create a simple example which targets the XMOS xcore-xa device and demonstrates how to build and run this
Soft processors for microcontroller programming education
Soft processors for microcontroller programming education Charles Goetzman Computer Science University of Wisconsin La Crosse [email protected] Jeff Fancher Electronics Western Technical College
