Title: MDSplus
1MDSplus
- Data Handling in Fusion Research
2Topics to be presented
- History of fusion data handling (MIT perspective)
- MDSplus overview
- Remote access (mdsip / globus_io /Akenti)
3The Dark Ages
- Prior to late 1970s
- Data acquisition Oscilloscopes and Polaroid
cameras - Data analysis Compute physics quantities using
ruler and photos - Data archives Lab notebooks
4Digital Awakening
- Late 1970s early 1980s
- Data acquisition (lt2 Mbytes per shot)
- Some direct A/Ds to computer
- Analog storage subsequently digitized
- Each scientist rolled their own data handling
- Data analysis
- Oscilloscopes and crude CRT plots
- Data archival Lab notebooks and user files
5MDS
- 1982-1991
- Data acquisition (lt 5 Mbytes per shot)
- fill in the form based
- Centralized data store
- Data analysis
- User programs and IDL
- Data archival MDS, user files and notebooks
6MDSplus
- 1991 -
- Data acquisition (gt200 Mbytes per shot)
- Centralized data store for all associated data
- Data analysis
- Mostly IDL
- Data archival
- Everything in MDSplus or relational databases
- Remote collaborators
7 MDSplus Overview
- Collaborative Software Development
- Alcator CMOD, M.I.T. Plasma Fusion Center
- RFX, IGI Padua Italy
- ZTH, Los Alamos National Lab
8Background (cont.)
- Suite of tools for data acquisition, display and
analysis. - Flexible
- Extensible
- Scaleable
- Easy to use
9Data Storage
- The information about each pulse is stored in a
hierarchical structure. - Diagnostic / Data analysis setup
- Machine Control
- Task scheduling
- Raw and Analyzed results
- Calibration information
- Data longevity
- All of the data from a diagnostic is stored in an
organized way. - This provides a mechanism for the data from a
diagnostic to be self descriptive. - One set of tools can be used to operate on both
data and setup information.
10Traverser
Icons for Node usage
Expandable Node
Right button popup menu
Command Window
11Complex Data types
- In addition to a wide selection of primitive data
types (byte, word, long, float, double, complex,
etc...) MDSPlus supports data types to store
commonly used combinations of items. - Signal (scaled data, raw data, dimension_0
,dimension_1 ) - Subscripting both arrays and signals
- With_units(item, units)
- Range - start end increment
- Action(dispatch, task)
- Dispatch(1, ident, phase, when, notify)
- etc
12Expressions
13Actions
Scheduling
Task
When to execute this action
Server to execute this action
Device to operate on
What to do
14Data Acquisition
- Driven from information stored in the tree
- Data acquisition and automatic analysis are
distributed across the available computers using
DECNET or TCP/IP based dispatcher/server
applications. - Adding support for new device types usually takes
only 1 - 2 days work. - Adding new diagnostics usually takes less than 1
hour.
15Server / Dispatcher
- All of the scheduled actions are described in the
experiment pulse files - Dispatcher organizes the execution of the actions
- Builds a table of all of the actions sorted by
phase and sequence. - Dispatches and waits for each action for a given
phase in the sequence specified. - Also informs action monitors of each action taken
- Actions can depend on other actions instead of
having sequence numbers
16Traverser / Device Setup
Device Descriptions
Right button popup menu
17Device Setup
- Device specific setup form
- User extensible list of supported devices
- Little or no code for simple device types
18Homogeneous Data Access Interface
- MdsConnect,hostport
- MdsOpen, tree, shot
- var MdsValue(expression ,args)
- MdsPut, name, expression ,args
- MdsClose , tree, shot
- MdsDisconnect
19IDL (Research Systems Inc.)
- General control and analysis applications
- WLOGBOOK
- PCS
- CMOD_MANAGER
- CMOD_AUDIO
- etc...
- Custom data analysis applications
- Core Confinement Scaling
- Widget based interface to TRANSP
- etc
20- Relational database tools
- Applications can interact with relational
databases using a simple interface - SET_DATABASE, Database_name
- count DSQL(sql-expression , args...
,return_vars...) - User data analysis packages
- Automatic data analysis
21Motif and Java Based Tools for Data Analysis
- Scope - data display
- uses same expression interface as IDL interface
- Automatic updates
- Zooming, Panning, Pointing, Cut/Paste
- Traverser - viewer for the hierarchy
- Editing (add/remove/rename nodes)
- Device and Diagnostic Setup
- IDL - Commercial general purpose data analysis
and display language
22Scope
Auto tracking crosshairs
Middle button menu
Pointer Mode
shot number
23Wlogbook
24IDL Analysis Applications
25A Simple IDL Data Analysis Job
POH.PRO procedure to calculate oh power pro
poh,shot,poh,t open the analysis tree and get
efit data mdsopen,'analysis',shot li
mdsvalue('\efit_aeqdskali') majr
mdsvalue('\efit_aeqdskrmagx') ip
mdsvalue('\efit_aeqdskpasmat') psibry
mdsvalue('\efit_ssibry') t mdsvalue('dim_of(\e
fit_geqdskpcurrt,2)') vs 6.283deriv(t,psibry
) surface voltage l 6.283majrli1.e-9
plasma inductance vi lderiv(t,ip)
inductive voltage vres vs - vi
resistive voltage poh ipvres put
results back into tree and close file
mdsput,'\analysistop.resultspoh',
'build_signal(,,)',poh,t mdsclose
return end
26MDSplus Usage Growth
Sites
27MDSplus Installations
28Remote Access - details
- Types of client/server connections
- MdsConnect thin client
- One server process per client connection
- Server activated by inetd
- TreeOpen thick client
- One server process per client per tree host
- Server activated by inetd
29Remote Access - details
- Types of client/server connections (cont.)
- Action/Commands
- Single instance of server process
- Accepts multiple concurrent connections from
different users - Threads
- Events
- Can use either multi-connection or
single-connection servers
30Remote Access - details
- Globus_io
- Client and server fitted with globus_io calls
- Single connection servers obtain credentials from
connecting client - Multi connection servers use their own
credentials - Currently authorization done by looking up DN to
local account mapping (not gridmap)
31Remote Access - details
- Akenti
- Hope to move authorization to Akenti
- Perhaps tag MDSplus tree nodes with Akenti user
id instead of local account id. - Eliminate need to maintain local accounts for
data writers - Unique user ids spanning all fusion systems