October 10-11, 2002 Houston, Texas Erik DeBenedictis William McLendon Mike Carifio Sandia is a multiprogram laboratory operated by Sandia Corporation,

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

The map and reduce functions in MapReduce are easy to test in isolation, which is a consequence of their functional style. For known inputs, they produce.
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.
MPI in uClinux on Microblaze Neelima Balakrishnan Khang Tran 05/01/2006.
Linux+ Guide to Linux Certification, Second Edition
Author: Texas Instruments ®, Sitara™ ARM ® Processors Building Blocks for PRU Development Module 2 PRU Firmware Development This session covers how to.
Software Installation The full set of lecture notes of this Geant4 Course is available at
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Operating System Program 5 I/O System DMA Device Driver.
Linux Operations and Administration
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Erlware For Managing Distribution and Build Erlang User Conference 2007.
Lesson 7-Creating and Changing Directories. Overview Using directories to create order. Managing files in directories. Using pathnames to manage files.
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
Testing, Integration, Validation, and/or XML Erik DeBenedictis Sandia National Labs Sandia is a multiprogram laboratory operated by Sandia Corporation,
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
July 29, 2003Serguei Mokhov, 1 Makefile Brief Reference COMP 229, 346, 444, 5201 Revision 1.2 Date: July 18, 2004.
Week 7 Working with the BASH Shell. Objectives  Redirect the input and output of a command  Identify and manipulate common shell environment variables.
SAN DIEGO SUPERCOMPUTER CENTER Working with Inca Reporters Jim Hayes Inca Workshop September 4-5, 2008.
Business Unit or Product Name © 2007 IBM Corporation Introduction of Autotest Qing Lin.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Configuration Management (CM)
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
Tutorial build Main ideas –Reuse as much previously obtained configuration information as possible: from Babel, cca-spec-babel, etc. –Extract all irrelevant.
Linux+ Guide to Linux Certification, Third Edition
Selected Topics in Software Engineering - Distributed Software Development.
Chapter 7 File I/O 1. File, Record & Field 2 The file is just a chunk of disk space set aside for data and given a name. The computer has no idea what.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Large Scale Visualization on the Cray XT3 Using ParaView Cray User’s Group 2008 May 8, 2008 Sandia is a multiprogram laboratory operated by Sandia Corporation,
1 / 22 AliRoot and AliEn Build Integration and Testing System.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Introduction to Android (Part.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
SciDAC SSS Quarterly Report Sandia Labs August 27, 2004 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Ant & Jar Ant – Java-based build tool Jar – pkzip archive, that contains metadata (a manifest file) that the JRE understands.
LAMMPS Users’ Workshop
Erik P. DeBenedictis Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of.
RADE Project Generator. Outline Introduction Project Types Options Generator Files and Layout Source Control (Video 3 Min) Templates and Nifty Tools.
Oracle Data Integrator Agents. 8-2 Understanding Agents.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing QMTest test framework LCG AppArea meeting (16/07/03) LCG/SPI LCG Software.
Test Specifications A Specification System for Multi-Platform Test Suite Configuration, Build, and Execution Greg Cooksey.
SSS Validation and Testing September 11, 2003 Rockville, MD William McLendon Neil Pundit Erik DeBenedictis Sandia is a multiprogram laboratory operated.
Introduction on WRF-Var Regression Test Ruifang Li MMM Phone:
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
SciDAC SSS Quarterly Report Sandia Labs May 10, 2005 William McLendon Ron Oldfield Neil Pundit Sandia is a multiprogram laboratory operated by Sandia Corporation,
© 2012 LogiGear Corporation. All Rights Reserved FitNesseFitNesse Authors: Nghia Pham 1.
LSF Universus By Robert Stober Systems Engineer Platform Computing, Inc.
Linux+ Guide to Linux Certification, Second Edition
SciDAC SSS Face-To-Face Erik P. DeBenedictis February 21, 2002 Sandia is a multi-program laboratory operated by Sandia Corporation, a Lockheed Martin Company,
GLite build and integration system Building and Packaging Robert HARAKALY
 Prepared by: Eng. Maryam Adel Abdel-Hady
Linux Administration Working with the BASH Shell.
SciDAC SSS Quarterly Report Sandia Labs January 25, 2005 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
CMake: Experience in ALICE P. Hristov 19/06/12. History I Recursive makefiles (F.Carminati): – Problems in dependencies – Slow "Recursive Makefiles.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Building programs LinuxChix-KE. What happens in your CPU? ● It executes a small set of instructions called "machine code" ● Each instruction is just a.
Stephanie Allison Software Mar 2, 2006 IOC Applications Host Applications Directory Structure Environment Setup Issues.
State of Testing Jason Kenny – ATS committer.
In-situ Visualization using VisIt
The Linux Operating System
Operation System Program 4
Software Installation
Brian Kotek INDUS Corporation
Runtime Root feature Jason Kenny.
What is make? make is a system utility for managing the build process (compilation/linking/etc). There are various versions of make; these notes discuss.
Presentation transcript:

October 10-11, 2002 Houston, Texas Erik DeBenedictis William McLendon Mike Carifio Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL SciDAC SSS and Testing

Welcome to Texas

Testing Vision Create a machine-independent system for testing supercomputers –Infrastructure (QMTest selected) –Test ™ (from all sources) Value –Each time somebody creates a supercomputer today, they just test a few things –Improved method would be to execute the “SciDAC SSS Standard Test Body”

Recent Activity Hierarchical Test Structure QMTest on Sandia SciDAC Cluster Test “Package” Definition –Proposal Tomorrow Inventory of Tests –Public, ASCI Red, Cplant, …

Test Architecture QMTest Interpret RAW Test Output Report Results Expected Results... Test packages... Make Scripting

Test Architecture QMTest Interpret RAW Test Output Report Results Expected Results... Test Packages... QMTest Make

QMTest Review Scriptable test driver (Python) Test metadata defined with XML HTTP based interface (Zope) HTML Contents are customizable Open Source Active development community URL: –

Running QMTest Must have Python >= 2.1 installed! Using HTTP Gui On Sandia SciDAC cluster: –SSH Port forwarding ssh -L4000:scidac-service.sandia.gov:4000 scidac- service.sandia.gov –Command Line qmtest gui --address scidac-service --port no-browser

Reporting results to QMTest QMTest requires an exact match on ALL of the following: –Exit code Matching –STDOUT matching –STDERR matching QMTest calls a script which runs the test and then processes the output –Returns PASS if the results fit correct pattern –Otherwise returns the raw output of the test

Example QMTest XML File Tests saved as XML Easy to make a generator... Adding Tests is easy –Add test files to directory and QMTest will find it.

QMTest Screenshot

Interpreting the Raw Results The raw results need to be interpreted to determine PASS or FAIL Make calls scripted routines to process the output and determine if a test run passed or failed. –Retains a history of results –reports this in a tabular format

Expected Results Expected Results are Test specific! Different Kinds of Results –Correctness of execution –Performance comparison Versus historical execution? Discover hardware faults? Bottlenecks in a system?

Publicly Available Tests MPI Tests BLACS –Scalapack –PBLAS Parkbench? Netlib.org Stream memory benchmark NAS Family –Single node NAS kernel –NAS Parallel Livermore Loops –single node tests Many more available!

Transition to Mike

Terms package: a “source code unit” –an archive for sources (usually a tarball) –a makefile describing useful actions like compiling and linking executables framework lite: –a directory layout of packages –a convention for makefiles, supporting scripts treebuilding: –using makefiles recursively –using gmake to propagate actions into each package

Framework Directory Layout Tests/# all tests packages/# all packages nas-parallel/# wraps NAS para bnchmrks. templates/# all templates in the framework new-template/ # initial files for a new package

Package File Layout nas-parallell# every package has its own directory |-- GNUmakefile# walks the tree, specifically package/GNUmakefile |-- Makefile -- package# package directory “wraps” src directory |-- GNUmakefile |-- Makefile |-- bin# package specific supporting scripts, framework glue | |-- cluster.sh | |-- conf.sh |-- defaults.mk# shared by package/GNUmakefile and package/src/GNUmakefile |-- doc# package specific notes |-- made# where output (.o,.a,.so, etc) is placed | |-- current | | | `-- Linux | | | `-- built | | | `-- GNUmakefile | | `-- latest | | `-- Linux | | `-- built | | `-- GNUmakefile |-- src# sources always in here | |-- GNUmakefile | |-- HelloWorld.c | |-- HelloWorld.dep | |-- HelloWorld.o | |-- README.txt

Use GNU Make venerable GNU make drives the process: –leverage existing assets (makefiles) –leverage existing developer skills –all actions described in a single file (almost) –automated dependency processing –recursive makefiles well understood

Adding a Package $ cd Tests $ cp –r new-template nas-parallel-new $ tar –C nas-parallel-new/package/src src-archive.tar $ vi new-package/package/src/makefile # optional $ make build # now includes nas-parallel-new package Adding new packages to the framework is easy. Package internals left up to author.

Framework “Interface” The framework expects: –a specific package directory layout (to know where to find things) –a GNUmakefile that implements the “methods” Consistency matters: –need to put files in the right place, esp. for recursion –each GNUmakefile should implement all targets (but defaults make it easier)

Package Interface Follow the gmake conventions –targets: all, install, uninstall, check, … –variables: prefix, exec_prefix, bindir, … Writing/adapting a package’s makefile means learning the conventions and adding new ones when needed. ( /html_chapter/make_14.html#SEC116)

Added to GNU Conventions targets: –build synonym for ‘all’ –runsynonym for ‘check’ –resultsrun tests, generate a report variables: –SZnumber of nodes to use in test run –MAXSZtotal nodes available in cluster –OSoperating system –ARCHmachine architecture –MODELmachine model –CLUSTER cluster’s name –RTE_VERSION runtime environment version