Brent Fultz California Institute of Technology

Slides:



Advertisements
Similar presentations
In Review JAVA C++ GUIs - Windows Webopedia.com.
Advertisements

COM vs. CORBA.
Using JavaServer Pages Harry R. Erwin, PhD CIT304/CSE301.
The road to reliable, autonomous distributed systems
Inelastic Subproject Report B. Fultz, Caltech Scope of Science in WBS 10 Tasks and goals of the DANSE subproject Release Plans Risks and Challenges.
Report from DANSE Workshop Sept. 3-8, 2003 Goals: 1) To explain DANSE to selected scientists and engineers who develop software for neutron scattering.
Summary Role of Software (1 slide) ARCS Software Architecture (4 slides) SNS -- Caltech Interactions (3 slides)
Overview of the ARCS Project Plan: The View at One Year Doug Abernathy ARCS Instrument Scientist ARCS IDT Meeting Lujan Center, LANL September 30, 2002.
IDT Meeting Welcome Brent Fultz California Institute of Technology Broad-brush overview of Hardware, Software, Management.
Programming System development life cycle Life cycle of a program
Inelastic Neutron Scattering B. Fultz, J. Lin, O. Delaire, M. Kresch Caltech Science interests Where is the field going? Tasks and goals of the DANSE subproject.
Baseline Review The Path of ARCS from Science to a Project Brent Fultz California Institute of Technology.
Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan.
ARCS software meeting 3/15/02 Experimental Planning, Visualization, and Analysis for Condensed Matter Physicists Collin Broholm Johns Hopkins University.
Software Project Brent Fultz California Institute of Technology ARCS Project Intellectual Coherence Distributed Computing Tasks Underway Coordination between.
Software Technology Workshop Brent Fultz Welcome to the DANSE How to explain DANSE Component example Immediate tasks.
Software Project Brent Fultz California Institute of Technology Software Functions Full Experiment Simulations Inversions of Dynamics Models.
The ARCS Data Analysis Software Michael Aivazis California Institute of Technology.
Introduction to DANSE Brent Fultz Prof. Materials Science and Applied Physics California Institute of Technology Distributed Data Analysis Architecture.
The ARCS Data Analysis Software Michael Aivazis California Institute of Technology.
Brent Fultz Prof. Materials Science and Applied Physics California Institute of Technology ARCS Project Inelastic Scattering Scope of Software Project.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
The Design Discipline.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CS413: Java Programming language Applications Applets
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Project Management Building the Project Plan Managing the Project Plan Results and Progress Mike McKerns, Caltech.
Nick Draper Teswww.mantidproject.orgwww.mantidproject.org Instrument Independent Reduction and Analysis at ISIS and SNS.
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Mantid Stakeholder Review Nick Draper 01/11/2007.
Nick Draper Tessella Instrument Independent Reduction and Analysis at ISIS and SNS.
Mantid Stakeholder Review Nick Draper 01/11/2007.
LBSC 690 Session 4 Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
December 13, G raphical A symmetric P rocessing Prototype Presentation December 13, 2004.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
INTRO. To I.T Razan N. AlShihabi
Introduction to Oracle Forms Developer and Oracle Forms Services
Systems Analysis and Design in a Changing World, Fifth Edition
Distributed Control and Measurement via the Internet
Chapter 8 Environments, Alternatives, and Decisions.
Clouds , Grids and Clusters
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Budget JRA2 Beneficiaries Description TOT Costs incl travel
CSCI-235 Micro-Computer Applications
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Hierarchical Architecture
Chapter 4 Computer Software.
MSIS 655 Advanced Business Applications Programming
Chapter 3 Hardware and software 1.
Chapter 6 – Architectural Design
Helping a friend out Guidelines for better software
Enterprise Program Management Office
Chapter 3 Hardware and software 1.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Director, Synon/2 Development
(Computer fundamental Lab)
On the notion of Variability in Software Product Lines
Automation of Control System Configuration TAC 18
Chap 4. Programming Fundamentals
David Cleverly – Development Lead
PyWBEM Python WBEM Client: Overview #2
QoS Metadata Status 106th OGC Technical Committee Orléans, France
Introducing MagicInfo 6
Presentation transcript:

Brent Fultz California Institute of Technology DANSE Brent Fultz California Institute of Technology ARCS Software Project Distributed Data Analysis for Neutron Scattering Experiments Components and Data Streams Towards a National Project

ARCS Spectrometer Moderator Shutter Guides Choppers Sample Introduce self Point out picture Familiarize you with the different components Hope that you’ll be able to see the logic that went into some of the decisions Detector Array Beamstop

Scientific Software for Neutron Scattering Software enables science from an inelastic neutron spectrometer such as ARCS Some experiments are impossible owing to present software Many experiments produce better science with better software (optimize beamtime usage, experimental procedures tuned on-the-fly) New opportunities to connect to theory of materials

Hardware Project Schedule

Software Development

Software Project Schedule

Software Project Milestones Software Baseline Design Jan. 2003 Software First Build July 2004 Software Beta Release Mar. 2005 Software Release 1.0 Feb. 2006 End ARCS Project Sept. 2006

Software Roadmap v. 1.0

Data Reduction Account for incident flux Remove background Convert from time to energy Correct for detector efficiency Bin into rings of constant scattering angle Convert from angle to momentum Subtract multiphonon and multiple scattering Correct for absorption

Architectural Coherence Left: Saint-Sernin, Toulouse, Romanesque Pilgrimage Church, c. 1080-1120 Right: Notre-Dame, Amiens, French Gothic Cathedral, begun 1220 Inconsistencies in Architecture Cathedrals --- Charming Software --- Annoying

Enforce Coherence -- Write the Manual Now Define needs and scope Reference for developers Identify and show interrelationships Standardize notation Documentation Experimental Inelastic Neutron Scattering Theory of neutron scattering Theory of excitations in condensed matter Data analysis procedures Software architecture Reference manual

Key Concept: Data Analysis as a Web Service Data analysis is a service controlled by user Computation is arranged by the web server user’s laptop issues commands and receives results

Key Concept: Data Analysis as a Web Service XML-RPC is an open standard for remote procedure calls The user’s web browser issues commands to a server The server distributes the work to appropriate computers

Early User Interface (Browser/Java) Users navigate the web site with the left frame (content is generated dynamically by the web server). Users select data and calculational tools, and add them to the Java applet on the right (like “Labview”) Mention: Authorized users can continually add new transformations or data sets, and since the content is dynamically generated HTML, these new items are immediately available to all users.

The User Interface (Python/Viper/Cobra) The user “wires” the boxes together to represent data flows We intend to allow users to insert new code in empty boxes, and archive sessions and procedures

Data Analysis Execution User hits “Run” GUI translates wiring diagram into XML-RPC commands Server receives commands, arranges Python script, starts data processing. This allows us to have a central repository of data and computing resources which many users can share. The users themselves do not need powerful machines or fast internet connections to process their data.

Big Concept of a Web Service The server can provide access to the best combination of hardware and software Experimental data and analysis codes reside on the servers, so little data bandwidth is needed Computing resources can be changed without affecting the user Computation can be local or non-local Clean separation of GUI from analysis code One web portal for all neutron instruments(?)

The Bigger Concept Underneath Components Pre-compiled Python objects called and re-arranged by the Python Interpreter Data Streams Standard communication protocol between components Note: Standard streams can connect components located anywhere…

Tools for Programmers Component Templates Standard Data Streams

Component

Rebinner

Levels of Code Development For using existing scripts, entry barrier nearly zero. For altering existing Python scripts, entry barrier is very low. For writing new Python code, entry barrier is modest. Performance may be comparable to IDL or Matlab. Transition to high performance compiled code ARCS: Writing Python bindings for C++ DANSE: Component templates for C++, FORTRAN, Java?

Data Rebinning – Tim’s Test Tested t to E rebin computation in several forms. 300 seconds with IDL 60 seconds with IDL using a DLL compiled from C++ 2 seconds with C++ “Rebinner” class

GUI form/function

Extension Beyond ARCS Science Large-scale structures Diffraction Engineering diffraction Inelastic scattering Theory of structure and dynamics Neutronics and nuclear physics Engineering Software Tools Hardware Tools

Management Structure User Base (Help with Requirements and Testing) Virtual Instrument Development Team User Opinions and Testing Executive Committee (Direct DANSE) Subproject Leaders Meetings Every 3 Months, Later 6 Months Steering Committee (Institutional Issues) Facilities Directors Caltech Provost’s Office

Money Is Helpful Software tools need development (people) Hardware for multiple users (people and machines) Software subprojects at facilities must have DANSE funding Five-Year Budget 20 M$ 5 subprojects 3 FTE @ 0.8 M$/y 10 M$ Central Resources 7 FTE + hardware 30 M$

Agenda Morning 8:30 Fultz: Overview of ARCS software project, and its extension to other neutron science. 9 Lin and Kelley: Demo and commentary on distributed data analysis. 9:20 Aivazis: Overview of the DANSE architecture, and how it fits into future computing infrastructures. 10 AM: Dan Meiron (Vice-Provost for Computing): Large-scale scientific computing at Caltech Break Discussion of topics such as: Needs of facilities, Needs of Caltech, Needs of DANSE project, Management of DANSE project, Organization of subprojects, Proposal Lunch Afternoon Further discussion of DANSE management and subproject organization, white paper revisions Dinner 7 PM Café Santorini, Old Pasadena

End of Presentation

Software Roadmap v. 1.0

Born - von Kármán Lattice Dynamics Simplicity: Complexity: Undergrowth of indices for tensor quantities: Crystal structure: lattice, l, basis, k allowed elements depend on symmetry

J. M. Ziman, Electrons and Phonons

Electronic Publishing library documentation ? ? ? user codes server instrument and data

Software Survey 10 responses, from serious users. very detailed comments.

User Ratings of Software Packages User Opinion (–2 to +2) Strength of Opinion (0 to +3) Number of Respondents Rating = UO*SO/N

Software Survey Results Interesting: CS: ISAW, Unisoft, Computational Crystallographic Toolkit User: ISAW, DAVE, Mslice, McStas, Gulp, Chop Problems: Code Quality and User Opinion are not necessarily correlated (McStas is an exception) 2. We are still looking at details, but we can already see that there will be more rewriting than expected

Issues in Code Development X hours to develop a code for yourself 3 X hours to make it convenient for others 9 X hours to make it run for others on several platforms Adding personnel to a late software project makes the project later. (Brooks Law)