Download presentation
Presentation is loading. Please wait.
Published byAshlee Harvey Modified over 8 years ago
1
Review of PARK Reflectometry Group 10/31/2007
2
Outline Goal Hardware target Software infrastructure PARK organization Use cases Park Components. GUI / UI client for fitting Servers Fitting service Todo list
3
Goal Provide simple and easy used distributed computing environment for scientific computing Provide a framework for data fitting service, including GUI and scripting. Support cross-platform and pluggable components.
4
Target Distributed Computing Environment Service Server Master Node User Cluster Working Nodes User/Client ServiceServer Management WorkingServer User
5
Software Infrastructure of PARK Service Server Service Working Nodes User Interface Scientist GUI/UI DeveloperReduce Service Developer Data reduction Model Developer Data simulation Data presentation Data View
6
PARK Organization SVN root directory for Source code: svn://svn@danse.us/park/branches/park-1.0 Will move to svn://svn@danse.us/park/trunk Release files: http://chemnuc-20.umd.edu/~DANSE/download/index.html (*.zip:Windows exe file, *.bz2, *.gz: Python source code ) Directory of PARK: park/xmlUtilBasic data structure for job request park/fitBasic data structure for fitting service park/theoryHelp functions and classes for theory park/optimizerImplementation of optimization algorithms park/parkAuiGUI client of PARK based on wx.Aui park/scriptHelp functions and classes for scrip-based client park/serversImplementation of service and worker servers park/examplesExamples park/testerTesting park/docDocuments park/servicesSome basic services and help tools to develop services park/configExamples of configuration files
7
Use case for PARK PARK Application (GUI, script) PARK Fitting Frame (GUI) Scientists GUI/UI Developers Reduction DevelopersModel DevelopersOptimizer Developers PARK script PARK Reduction PARK optimizer PARK theory PARK model implement define implement use develop
8
Server Working Nodes Message Queue Job Scheduler Pending Job Queue Job Priority Queue Running Job Queue Scheduler Controller Servic e Client User Interface (UI) PARK Components
9
Fitting GUI Framework FittingConstrain FittingModelBuilderFittingDatasetViewer FittingDatasetEditor FittingModelPage Dataset event Model event Model events: 1. The whole model is updated 2. The parameter value is changed FittingViewer Network event
10
Fitting GUI Framework
12
Script Client
13
Servers
14
Server
15
Worker Server
16
Worker (Fitting Service)
18
Fitting doFitting() –Do the fitting, and return the object representing the fitting results getOptimizer() –Return a real optimizer object getXmlOptimizer() –return the object that is the xml representation of the optimizer setXmlOptimizer(optimizer) –set the object that is the xml representation of the optimizer getMultiplexor() –get the multiplexor object setXmlMultiplexor(xor) –set the multiplexor object
19
Multiplexor getVariables() –Return a list of variable definitions –Variable attributes: Name: read only, model_name.parameter_name.attribute_name Flag: ‘optimized’ | ‘fixed’ | ‘constrains’ Value: initial value Range: [value0, value1] getConstrains() –Return a list of variable constrains –Constrain attributes: Target: model_name.parameter_name.attribute_name Constrain expression: string representation of constrain evaluate(): evaluate and set the parameter’s value getModels() –Return a list of models addModel (model) –Add a model
20
Model getDataSet() –Return the data set object representing the experimental data and meta data getWeight() / setWeight(weight) –Get/set the weight getTheory() / setTheoryName(string name) –Return /set the theory object to calculate the theoretical data. getParameters() / addParameter(pm) –Return the parameters representing the model updateTheoryData() –Update the theoretical data associated with the model getTheoryData()/setTheoryData(data –Get/set the theory data associated with the model
21
Dataset addData(data) –Add a data removeData(data) –Remove a data getData() –Return a list of data getReductionData() –Return the reduction data MetaData / Parameter metadata.para_name = para_value parameter.attr_name = attr_value
22
Data getDataSource() / setDataSource(src) –Get/set the destination of data source getReductionData() / getRawData() –Return the reduction/raw data getMetaData() –Return the meta data associated with this data _fetchData() –Fetch the data from data source _sendData () –Send the data to the data source _readData () –Read the raw data from the data source _writeData () –Write the data to the data source
23
Todo List Write the document and tutorial for PARK Improve the stability and performance of the server, especially in the single node environment. Redesign and implement of the server, including: –Support database to handle the various managements, such as user/project, job, message, service, … –Data pre-fetching and security –Support user-code and auto-searching of components (services)
24
Fully Distributed Services ? Service Register Cluster Management Service Management Job Queue Message Queue Data Fetching Archive Logging Task Management User Client Services Shared Files
25
Multi-tier of PARK Service Server Working Server Message Server Data Server Client Server Explicit direct connection Implicit direct connection Possible connection All are working as both the server and the client
26
Security: authentication and authorization Working Server Job Server Security Server MessageServer
27
Data Transfer 1.Provide the center data server for the cluster, which will retrieve data from remote data server, and store the data for the accessing by the local working nodes. Necessary for diskless nodes in the cluster. 2.Provide the reference to the remote data (similar to url), and each working node will access the data individually.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.