Sep 13, 2006 Scientific Computing 1 Managing Scientific Computing Projects Erik Deumens QTP and HPC Center.

Slides:



Advertisements
Similar presentations
Developed by Reneta Barneva, SUNY Fredonia
Advertisements

Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
Higher Computing Computer Systems S. McCrossan Higher Grade Computing Studies 7. Systems Software 1 System Software This software is used to provide the.
1 CSCI N305 C Language Programming Welcome to CSCI N305! Compiling Your First Program Using Microsoft Visual Studio 2008.
Parasol Architecture A mild case of scary asynchronous system stuff.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
LECTURE 7 SEP 27, 2010 Building computational pipelines.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Two main requirements: 1. Implementation Inspection policies (scheduling algorithms) that will extand the current AutoSched software : Taking to account.
Chapter 1 and 2 Computer System and Operating System Overview
1 Software, Programmings. 2 Types of Software Figure 9.1 Shakeel Ahmad.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Workflow API and workflow services A case study of biodiversity analysis using Windows Workflow Foundation Boris Milašinović Faculty of Electrical Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
1 Shawlands Academy Higher Computing Software Development Unit.
Building a Real Workflow Thursday morning, 9:00 am Lauren Michael Research Computing Facilitator University of Wisconsin - Madison.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Outcome 2 – Computer Software The Range of Software Available The Different Categories of Software System Software Programming Languages Applications Software.
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
Introduction to MCMC and BUGS. Computational problems More parameters -> even more parameter combinations Exact computation and grid approximation become.
Objectives Understand what MATLAB is and why it is widely used in engineering and science Start the MATLAB program and solve simple problems in the command.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
To proceed onto the next stage of the install please Agree to the terms and conditions and select next.
CSC-115 Introduction to Computer Programming
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
03/27/2003CHEP20031 Remote Operation of a Monte Carlo Production Farm Using Globus Dirk Hufnagel, Teela Pulliam, Thomas Allmendinger, Klaus Honscheid (Ohio.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
IT 456 Seminar 5 Dr Jeffrey A Robinson. Overview of Course Week 1 – Introduction Week 2 – Installation of SQL and management Tools Week 3 - Creating and.
Software Project Planning Defining the Project Writing the Software Specification Planning the Development Stages Testing the Software.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Making Good Code AKA: So, You Wrote Some Code. Now What? Ray Haggerty July 23, 2015.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Building a Real Workflow Thursday morning, 9:00 am Lauren Michael Research Computing Facilitator University of Wisconsin - Madison.
INTERNET SAFETY FOR KIDS
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
The Software Development Process
NEES Cyberinfrastructure Center at the San Diego Supercomputer Center, UCSD George E. Brown, Jr. Network for Earthquake Engineering Simulation NEES TeraGrid.
Numerical Analysis Intro to Scientific Computing.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Intermediate 2 Computing Unit 2 - Software Development Topic 2 - Software Development Languages and Environments.
NETE4631: Network Information System Capacity Planning (2) Suronapee Phoomvuthisarn, Ph.D. /
PERFORMANCE AND ANALYSIS WORKFLOW ISSUES US ATLAS Distributed Facility Workshop November 2012, Santa Cruz.
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Pavel Nevski DDM Workshop BNL, September 27, 2006 JOB DEFINITION as a part of Production.
Project Planning Defining the project Software specification Development stages Software testing.
SOFTWARE. Software… Instructions that are stored electronically that tell the computer what to do.
GROUP PresentsPresents. WEB CRAWLER A visualization of links in the World Wide Web Software Engineering C Semester Two Massey University - Palmerston.
Unix tools Regular expressions grep sed AWK. Regular expressions Sequence of characters that define a search pattern banana matches the text banana
1 Programming and problem solving in C, Maxima, and Excel.
Advanced Taverna Aleksandra Pawlik University of Manchester materials by Katy Wolstencroft, Aleksandra Pawlik, Alan Williams
Taverna allows you to automatically iterate through large data sets. This section introduces you to some of the more advanced configuration options for.
Nature & Types of Software
How Alluxio (formerly Tachyon) brings a 300x performance improvement to Qunar’s streaming processing Xueyan Li (Qunar) & Chunming Li (Garena)
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Designing and Debugging Batch and Interactive COBOL Programs
Software testing strategies 2
COMPUTERIZING YOUR ESTIMATING PROCESS
Tonga Institute of Higher Education IT 141: Information Systems
Overview of Workflows: Why Use Them?
Tonga Institute of Higher Education IT 141: Information Systems
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Programming Logic and Design Eighth Edition
Presentation transcript:

Sep 13, 2006 Scientific Computing 1 Managing Scientific Computing Projects Erik Deumens QTP and HPC Center

2Sep 13, 2006Scientific Computing Overview What is a scientific computing project? Procedures to manage scientific computing projects

3Sep 13, 2006Scientific Computing Commodity computing Web access Writing: papers, letters, thesis, presentations, web content Drawing: graphs, figures, plots Calculating: spreadsheets, Mathematica, Maple, SAS, Matlab

4Sep 13, 2006Scientific Computing Science and Engineering Computing with software Physics: VASP, WIEN Physics: VASP, WIEN Chemistry: Gaussian, Q-Chem Chemistry: Gaussian, Q-Chem Engineering: ANSYS Engineering: ANSYS Developing software Programming Programming Prototyping Prototyping Debugging Debugging Performance analysis Performance analysis

5Sep 13, 2006Scientific Computing Scientific Computing Project Significant human effort Many steps with dependencies Takes a long time on one computer or many computers to complete Involves a lot of data Input given to be processed Input given to be processed Intermediate data for the computation Intermediate data for the computation Output produced to be analyzed Output produced to be analyzed

6Sep 13, 2006Scientific Computing Example SCP Test a set of model parameters Given basic parameters B n Given basic parameters B n Compute dependent values D j Compute dependent values D j Compare to test values T j Compare to test values T j If the number of dependent and test value sets is large, say 1,000 And each computation takes time, say 1 h Then this is a project

7Sep 13, 2006Scientific Computing Recognizing SCP Act from early stages as if it is SCP Then procedures are tested and reliable by the time the science of the project becomes harder the science of the project becomes harder and requires all attention and requires all attention

8Sep 13, 2006Scientific Computing Reliability of modern computers Computers, networks and software are Very stable Very stable Very powerful Very powerful Leads to wide spread belief that they are Infinitely stable Infinitely stable Infinitely powerful Infinitely powerful Probability of failure Small chance times lots of work = big chance Small chance times lots of work = big chance

9Sep 13, 2006Scientific Computing Overview What is a scientific computing project? Procedures to manage scientific computing projects

10Sep 13, 2006Scientific Computing Manage a SCP Project analysis Data Data Computation Computation Develop strategy Organize the computation Organize the computation Manage the data Manage the dataAutomation Avoid human errors Avoid human errors Protect against disasters Protect against disasters

11Sep 13, 2006Scientific Computing Project analysis Often a project starts small Once you decide the project is worthwhile, perform a project analysis Data: before, during, after Data: before, during, after Computation: how many, how long Computation: how many, how long Precautions: minimize effect of disasters Precautions: minimize effect of disasters

12Sep 13, 2006Scientific Computing Develop strategy Organize the computation Choose computer system Choose computer system Study scheduling system Study scheduling system Match the project computation flow onto the scheduling policies Manage the data Input files generated by hand? By machine? Input files generated by hand? By machine? Space for large intermediate files Space for large intermediate files Space for output files Space for output files

13Sep 13, 2006Scientific Computing Automation Extra tools needed to manage the project? Generate input files from a database? Generate input files from a database? Write scripts? Use a tool already developed? Generate scheduler command files? Generate scheduler command files? Does a tool exist? Some tools are very complex. Is it easier to write scripts than to learn the tool? Collect data from output files into a database? Collect data from output files into a database? Write scripts? Write a compiled program?

14Sep 13, 2006Scientific Computing Automation Computation and data monitoring Check status of each run Check status of each run Submit the job again if it failed Check correctness and integrity of output data Check correctness and integrity of output data Even if the job finished it may have generated an error message there may be no result or the result may be invalid or incorrect

15Sep 13, 2006Scientific Computing Precautions Prepare for some disasters Some or all computed data is lost or corrupted? Some or all computed data is lost or corrupted? Make sure all files created manually are on disks that are backed up at least, you can run computations again Some output has been processed Some output has been processed Make sure partial results are on disks that are backed up

16Sep 13, 2006Scientific Computing Growing projects Often projects start small Procedures are developed and used Procedures are developed and used They work well for 1,000 cases Then the scope is increased After partial success After partial success Procedures are used unchanged Procedures are used unchanged They do not work for 1,000,000 cases! Must perform new analysis when scope changes

17Sep 13, 2006Scientific Computing Tool choices Small operations Scripts are easy to write and change Scripts are easy to write and change Run fast for small numbers Run fast for small numbers Large operations Running a script 10,000,000 times may be very slow and cause unexpected side effects Running a script 10,000,000 times may be very slow and cause unexpected side effects Investigate better tools Investigate better tools Program in compiled language Use database instead of simple files

18Sep 13, 2006Scientific Computing Conclusion A little bit of thought, can save you from a lot of trouble and extra work Every scientific computation project that is worth doing is worth a little bit of thought about how to do it.