Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | bryce-mills |
View: | 217 times |
Download: | 1 times |
ITPA/IMAGE 7-10 May 2007
Software and Hardware Infrastructure for the ITM
B.Guillerminet, on behalf of the ITM & ISIP teams
(P Strand, F Imbeaux, G Huysmans, J Lister, G Manduchi, F Iannone, M Airaj, P Huynh …)
and others(Y Smirani, V Bergeaud, R Metery, D Drouin, P Micoud, C Leroy …)
ITPA/IMAGE conference7-10 May 2007
ITPA/IMAGE 7-10 May 2007
Software & hardware infrastructure for the ITM
• ISIP belongs to the Integrated Tokamak Modelling project• In charge of the infrastructure (soft + hard) for the ITM:
– Code platform: framework, editor, …
– Data handling: data structure, data storage & access, …
– Tools: version handling, portal, …
– Hardware: gateway, GRID/HPC, …
• 3 others talks: – ITM (P Strand)
– Data structure (F Imbeaux)
– Scientific workflow with KEPLER (M Airaj)
• Focus on the software architecture
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
Requirements & challenges
• Long lasting project: – O.S. will change– New languages– Framework could disappear
• Legacy software and language mixing:– Codes written in F77, F95, 2003, C, C++,
Java, Matlab, …– Depends on the Fortran compiler
• Local/remote computing:– Scheduling (start/suspend/resume/abort …)– Naming, discovery tools
• Fast communication:– how to deal with all the above (big/little
endian, language mixing, …)
Component:• Standard?• CCA?
BABEL
XML:• Binary
XML• Fast XML
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
Choices & solutions
• Architecture in layers
• Not an universal solution for any language to any language but valid for any identified data: XML schemas
• Standard code description: WSDL
• Binary data transfer: UAL
• Remote computing: Web Services
• Intensive computing: GRID, DEISA
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
Architecture
• Gateway – Cluster 32-64 CPUs (16GB), 10-100TB, 10Gb/s– UI: access to GRID EGEE
• Web portal:– Single sign-on, authentication, security, user’s profiles– Access to ITM applications– Catalogues and simulation storage
ITPA/IMAGE 7-10 May 2007
Architecture (cont’d)
• Applications:– Workflow engine (KEPLER):
• running
– Simulation editor/director:• Writing the requirements• Delivered at 4Q07
– Data mining tool
– SCILAB: post-processing tool• Work in progress
– Control & monitoring tools:• Cluster tools• GRID tools
– On-line data visualization:• 2D/3D actors in KEPLER (VTK based)• Visit tool (gateway + GRID)
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
Automatic generation:
Xsd2f, …
Data structure• Not an universal solution for any to any code but valid for any
identified data: XML schemas
DATA “equilibrium”• Description:
Structure: • F95 version • 3816 lines• 9MB
No need to know XML
ITPA/IMAGE 7-10 May 2007
Data structure (cont’d)
• XML schemas
• Generate automatically the include files for C, Fortran, Java, Matlab, …
• Use it in your code: #include …, import …
• Fill the structure through the provided API (UAL):
xsd2f,xsd2cxsd2m
No XML knowledge needed
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
Data access: UAL
Access: ITM library (UAL):• euitmopen()• euitmget_equilibria() • euitmput_equilibria()• euitmclose()
• Hidden data storage:– MDS+– HDF5– Commercial database– Message oriented Middleware (Control Host)
• APIs for “any” language:– C/C++– Fortran 77,95,2003– Java– Matlab
• Fast communication– Binary– In-memory, pointer access
ITPA/IMAGE 7-10 May 2007
codesEFIT, …
UAL as a layer• Communication between codes through the UAL• In-memory data server whiteboard
– Up-to-date data– Time-stamped data
• Independent of the framework
data serverITM + private
In-memoryJET, …Exp. data
UAL
codesHELENA, …
codesMISHKA, …
ITPA/IMAGE 7-10 May 2007
Publish-subscribeserver
in-memorydata
server
Soloviev
Helena
Mishka
Remote web server
KEPLER
Based on a Message Middleware:ControlHost (A.Maslennikov)
“equilibrium” data~9MB
display
Advantages:•distributed•fast (binary data transfer)•Language agnostic argument
s of the WS
UAL: MoM implementation
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
Code Structure• Independent of the framework:
– Able to change it later (layer)– Tools to integrate it (one click option)
• Data access through the UAL:– Independent of the storage– The framework does not know our data
• Tools to integrate it in the framework:– Local (JNI based tool)– Remote (Web Service based tool)
• Structure:
prefire
fire()
postfire()
initialize()
Iterations
wrapUp()
No WS knowledge needed
ITPA/IMAGE 7-10 May 2007
program test-coderead file => fill incall code(in, out)read out => write out
endsubroutine code(data in, data
out)…compute…return
end
subroutine initialize()call euITMopen(‘…’)return
endsubroutine fire (variables)
call euITMget(‘type’, in)call code(in, out)call euITMput(‘type’, out)return(variables)
endsubroutine wrapup ()
call euITMclose(…)return
end
subroutine code(data in, data out)…compute…return
end
No change
KEPLER
Code Structure (cont’d)
UAL
Initial code
ITPA/IMAGE 7-10 May 2007
Based on KEPLER =>graphical tool=>advanced models of
computation =>directors=>hierarchical design
Framework: workflow engine
Run control buttons
Scheduler: time behavior
Catalogues
ITPA/IMAGE 7-10 May 2007
Outline• Requirements & challenges
• Choices & solutions
• Architecture
• Data structure
• Data access & storage: UAL
• Code structure
• Intensive computing: GRID/HPC
ITPA/IMAGE 7-10 May 2007
GRID-HPC
• Gateway– Local codes (through UAL)– 64 CPUs
• Computers from the associations– Remote codes (through WS + UAL)
• GRID-EGEE Fusion V.O.– Distributed computing – 10K CPUs
• HPC-DEISA– Parallel computing– Network of super-computers
GLOBUS =>C/C++
library=>Java library
in development
Euforia??
ITPA/IMAGE 7-10 May 2007
GRID-EGEE Fusion V.O.
GLOBUS =>C/C++
library=>Java library
in development
GLITE =>Java library
in development
ITM =>Codes as WS=>UAL data
access
ProxyJob transfer via FTP
Data transfer via FTP
Job scheduling via JCL
ITPA/IMAGE 7-10 May 2007
Work plan
2007: development• KEPLER prototype: workflows, visualization 2D/3D, local/remote
codes (with graphical tools)• Web portal requirements• User interface requirements (Simulation editor)• UAL C/C++/Fortran APIs (MDS+)
• Gateway• User interface delivered (simulation editor)• Repositories (codes, Kepler, …)• GRID-EGEE Glite in Kepler
2008: production• Enhancements: Kepler, User interface • Data mining tools• Web portal
• GRID-EGEE ITM• GRID-DEISA
July 07
December 07
July 08
December 08