SSS Validation and Testing September 11, 2003 Rockville, MD William McLendon Neil Pundit Erik DeBenedictis Sandia is a multiprogram laboratory operated.

Slides:



Advertisements
Similar presentations
TeraGrid Deployment Test of Grid Software JP Navarro TeraGrid Software Integration University of Chicago OGF 21 October 19, 2007.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Trnsport Test Suite Project Tony Compton, Texas DOT Charles Engelke, Info Tech.
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.
Presented by Scalable Systems Software Project Al Geist Computer Science Research Group Computer Science and Mathematics Division Research supported by.
Operating System - Overview Lecture 2. OPERATING SYSTEM STRUCTURES Main componants of an O/S Process Management Main Memory Management File Management.
Camilo Lara KIP HLT Production Readiness Review 1 HLT Cluster Management.
VisIt Software Engineering Infrastructure and Release Process LLNL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
SSI-OSCAR A Single System Image for OSCAR Clusters Geoffroy Vallée INRIA – PARIS project team COSET-1 June 26th, 2004.
Christopher Jeffers August 2012
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
Track 1: Cluster and Grid Computing NBCR Summer Institute Session 2.2: Cluster and Grid Computing: Case studies Condor introduction August 9, 2006 Nadya.
Testing, Integration, Validation, and/or XML Erik DeBenedictis Sandia National Labs Sandia is a multiprogram laboratory operated by Sandia Corporation,
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
Resource Management and Accounting Working Group Working Group Scope and Components Progress made Current issues being worked Next steps Discussions involving.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
HTML+JavaScript M2M Applications Viewbiquity Public hybrid cloud platform for automating and visualizing everything.
Process Management Working Group Process Management “Meatball” Dallas November 28, 2001.
Ramiro Voicu December Design Considerations  Act as a true dynamic service and provide the necessary functionally to be used by any other services.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Scalable Systems Software Center Resource Management and Accounting Working Group Face-to-Face Meeting October 10-11, 2002.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
SSS Test Results Scalability, Durability, Anomalies Todd Kordenbrock Technology Consultant Scalable Computing Division Sandia is a multiprogram.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Grid Computing at Yahoo! Sameer Paranjpye Mahadev Konar Yahoo!
Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Sriram.
SciDAC SSS Quarterly Report Sandia Labs August 27, 2004 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Erik P. DeBenedictis Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of.
SAN DIEGO SUPERCOMPUTER CENTER Inca TeraGrid Status Kate Ericson November 2, 2006.
OS, , Part I Operating - System Structures Department of Computer Engineering, PSUWannarat Suntiamorntut.
October 10-11, 2002 Houston, Texas Erik DeBenedictis William McLendon Mike Carifio Sandia is a multiprogram laboratory operated by Sandia Corporation,
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
SSS Build and Configuration Management Update February 24, 2003 Narayan Desai
SciDAC SSS Quarterly Report Sandia Labs May 10, 2005 William McLendon Ron Oldfield Neil Pundit Sandia is a multiprogram laboratory operated by Sandia Corporation,
Experiences Running Seismic Hazard Workflows Scott Callaghan Southern California Earthquake Center University of Southern California SC13 Workflow BoF.
LSF Universus By Robert Stober Systems Engineer Platform Computing, Inc.
Process Manager Specification Rusty Lusk 1/15/04.
S.Linev: Go4 - J.Adamczewski, H.G.Essel, S.Linev ROOT 2005 New development in Go4.
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,
David P. Anderson Space Sciences Laboratory University of California – Berkeley Public Distributed Computing with BOINC.
July 19, 2004Joint Techs – Columbus, OH Network Performance Advisor Tanya M. Brethour NLANR/DAST.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
STAR Scheduler Gabriele Carcassi STAR Collaboration.
© Geodise Project, University of Southampton, Workflow Support for Advanced Grid-Enabled Computing Fenglian Xu *, M.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 Technical Overview Jakub T. Moscicki, CERN.
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Geant4 GRID production Sangwan Kim, Vu Trong Hieu, AD At KISTI.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
Automated File Server Disk Quota Management May 13 th, 2008 Bill Claycomb Computer Systems Analyst Infrastructure Computing Systems Department Sandia is.
SciDAC SSS Quarterly Report Sandia Labs January 25, 2005 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
The Distributed Application Debugger (DAD)
Consulting Services JobScheduler Architecture Decision Template
Consulting Services JobScheduler Architecture Decision Template
CS703 - Advanced Operating Systems
Overview of Workflows: Why Use Them?
Presentation transcript:

SSS Validation and Testing September 11, 2003 Rockville, MD William McLendon Neil Pundit Erik DeBenedictis Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL85000.

APItest Release Testing Experiences at Sandia Status daemon Overview

Distributed Runtime System Testing Complex system of interactions Approach to testing –Component Testing –Benchmarks Performance / Functionality –Operational Profile –Stress Testing Users expect a high-degree of quality in today’s high end systems!

APItest

APITEST - Overview Unit-testing tool for network components –Targeted for networked applications –Extensible framework –Dependency calculus for inter-test relationships Scriptable Tests (XML Schema Grammar) Multi-Protocol Support –TCP/IP, SSSLib, Portals, HTTP

Accomplishments Since Last Meeting Spent a week at Argonne (July) –Major rework of framework of APItest Individual tests are atomic. Framework handles the hard work of checking tests, dependencies, and aggregate results. –Extensibility New test types are easy to create Dependency System –Define relationships as a DAG encoded in XML. –Boolean dependencies on edges.

Supported Test Types sssTest –use ssslib to communicate with ssslib enabled components shellTest –execute a command httpTest –ie. app testing web interfaces (a’la Globus, etc) tcpipTest –raw socket via tcpip transmission.

APITEST supports Regular Expressions Regular expression matching in tests Sent to service-directory: Expected Buffer: Regular Expression: (\s* \s*)+

Creating New Test Types is Easy A simple test that will always pass: class passTest(Test): __attrfields__=[‘name’] typemap = {‘dependencies’:TODependencies} def setup(self): pass def execute(self, scratch): self.expect[‘foo’] = [ (‘REGEXP’, ‘a’) ] self.response[‘foo’] = ‘a’

Matching and Aggregation An individual test can be executed many times in a sequence. –PASS/FAIL can be determined based on the percent of runs that matched. –Percent Match can be specified as a range as well. Expected result is specified as a regular expression (REGEX) or a string for exact matching (TXTSTR) Notation: –M [min:max] - Percent matching. min/max = bounds on % of tests where actual and expected results match. If the actual number of tests is within the range specified the test will PASS, otherwise it will FAIL.

Test Dependencies T iff A [40:90] OR B [0:0] M [0:0] AB ? M [40:90]  AB M [100:]  C  ? M [90:] M [:] T iff (A [100:]  B [90:] )  C [:] M [40:90] : >= 40% and <= 90% of test runs matched

An Example Dependency ( A [100:]  ( (B [100:100]  C)  D [:0] ) )

An Example Test Sequence reset daemon test daemon test other stuff M [:] M [:30]

Standard Test Metadata Attributes AttributeTypeReq’dDefaultDesc namestringYESname of test numRepsintegerNO1number of times to execute test minPctMatchfloatNO0.0min % of repetitions that must match for test to pass maxPctMatchfloatNO100.0max % of repetitions that must match for test to pass preDelayfloatNO0.0delay in seconds prior to executing test postDelayfloatNO0.0delay in seconds after executing test before continuing to next test. iterDelayfloatNO0.0delay in seconds between tests during loop (only used if numReps > 1) onMismatchstringNOCONTINUEIf a test fails to match, what do we do? CONTINUE,BREAK,HALT

Example Scripts A simple shell execution test: Test with a dependency and stdout matching:.*stdout.*

APItest Output iterationstest name% matchedPass/Failmessage [1 of 1]A %PASS [1 of 1]K %FAIL m[0.0% : 0.0%] [1 of 1]J 0.00%FAIL m[90.0% : 90.0%] [5 of 5]M %PASS [1 of 1]L %FAIL m[0.0% : 0.0%] [1 of 1]N %PASS [0 of 1]T DEPENDENCY FAILURE(S) F expected [0.0% : 90.0%], got J expected [90.0% : 100.0%], got 0.0 [0 of 1]R DEPENDENCY FAILURE(S) J expected [90.0% : 100.0%], got 0.0 K expected [0.0% : 90.0%], got [1 of 1]S %PASS [1 of 1]U %PASS [1 of 1]U %PASS [0 of 1]U3 DEPENDENCY FAILURE(S) N expected [0.0% : 90.0%], got S expected [0.0% : 90.0%], got [1 of 1]U %PASS

sssTest outputs from Chiba City iterations test name% matched Pass/Fail message [1 of 1] add-location100.00% PASS [1 of 1] QuerySDComps100.00% PASS [1 of 1] QuerySDHost100.00% PASS [1 of 1] QuerySDProtocol % PASS [1 of 1] QuerySDPort100.00% PASS [1 of 1] del-location100.00% PASS [1 of 1] val-removal100.00% PASS iterations test name % matched Pass/Fail message [1 of 1] sss-getproto % PASS [1 of 1] sss-getport % PASS [1 of 1] sss-gethost % PASS [1 of 1] sss-getcomp % PASS [1 of 1] sss-getproto % PASS [1 of 1] sss-getport % PASS [1 of 1] sss-gethost % PASS [1 of 1] sss-getcomp % PASS

Release Testing…

Tales from Cplant Release Testing Methodical execution of production jobs and 3rd Party benchmarks to identify system instabilities, enabling them to be resolved. Ie: –Rapid job turnover rate (caused mismatches between scheduler and allocator) –Heavy io (I/O which passes through launch node process instead of directly to ENFS “yod-io”) Wrapping above codes into Ctest framework to enable portable compile, launch, and analysis of synthetic workloads

Ctest Extension of Mike Carifio’s work –Presented at the SciDAC meeting in Houston during Fall of 2002 –Make structure that holds a suite of independent applications. –Tools to launch as a reproducible workload. –Goal: 30 users and 60 concurrent apps

Sample Load Profile on CPlant

Issue Tracking SNL uses a program called RT –Centralized repository for issue tracking helps give an overall picture of what problems are. –Helps give summary of progress. Bugzilla is on the SciDAC SSS website – –Who’s using it?

Status Daemon …

Status Daemon Highly configurable monitoring infrastructure for clusters. –Does not need to run daemon on the node you are monitoring. –XML configurable –Web interface “Cluster Aware” Used on CPlant production clusters James Laros

Status Daemon Communication Admin Node Local Tests Daemon Disk Status Update Status XML Config File XML Data Remote Tests Remote Tests Compute nodes Leader Local Tests Daemon XML Data Remote Tests Compute nodes Leader Local Tests Daemon XML Data

Summary New Hire –Ron Oldfield APItest functionality and flexibility increases Release testing experience Status Daemon

Plans APItest –User / Programmer Manuals –User Interface GUI? HTTP? –daemon mode for parallel testing mode –DB Connectivity –Test Development ssslib event tests HTTPtest work ptlTest (SNL) SWP Integration –Port SWP to Chiba for SC2003?

Questions?

END OF PRESENTATION

APITEST Component Architecture C bot Tests DB (MySQL) report generator APItest backup/ archival

Encoding XML into XML CDATA test1 sd <get-location> <location component='*'/> </get-location> XML parsers will interpret the “<“ character as a new Element, NOT as a character buffer. So,we must trick our SAX parse by using < instead of <