Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python/C FASE prototype L. Paioro, B. Garilli et al. OPTICON Network 9.2 MiMa Collaboration INAF-IASF Milano L. Paioro - Python/C FASE prototype.

Similar presentations


Presentation on theme: "Python/C FASE prototype L. Paioro, B. Garilli et al. OPTICON Network 9.2 MiMa Collaboration INAF-IASF Milano L. Paioro - Python/C FASE prototype."— Presentation transcript:

1 Python/C FASE prototype L. Paioro, B. Garilli et al. OPTICON Network 9.2 MiMa Collaboration PANDORA @ INAF-IASF Milano L. Paioro - Python/C FASE prototype - Marseille, June 2010

2 Architectural Concepts Applications  Top level GUI/Web/CLI applications exploiting external computational components Computational components  Task stateless component single operation  driven by a parameter set  Tool stateful component multiple operations  each operation driven by a parameter set Packages  Bundles of components L. Paioro - Python/C FASE prototype - Marseille, June 2010

3 Example Of Use 1 GUI Application FASE Compute wavelength calibration mypipeline package lamp_calib task mypipeline.lamp_calib Application API Comp-Cont API L. Paioro - Python/C FASE prototype - Marseille, June 2010

4 Example Of Use 2 Compute wavelength calibration FASE mypipeline package lamp_calib task Comp-Cont API mypipeline.lamp_calib Application API Command Line Application L. Paioro - Python/C FASE prototype - Marseille, June 2010

5 How Applications/Components Communicate Within FASE INLINE PROFILE  Direct in-process communication Python applications with Python components Python applications with ANSI-C components through SWIG bindings SAMP PROFILE  IVOA SAMP messaging communication From any application to any component Embedded SAMP Hub and Package-Manager daemon L. Paioro - Python/C FASE prototype - Marseille, June 2010

6 Component-Container Model Components are wrapped by containers implementing a standard set of interfaces which connects them to any framework implementation compliant with the CCM standards Component-containers are packaged together in a standard format which enables them to be deployed within any framework implementation compliant with the packaging standards L. Paioro - Python/C FASE prototype - Marseille, June 2010

7 The Application Programming Interfaces System API  Shared by applications and computational components to perform generic access to the framework resources and services Component-Container API  Allows to implement a task or tool container and make it executable through the framework Application API  Provides proxies to the computational components in order to access and execute them through the framework L. Paioro - Python/C FASE prototype - Marseille, June 2010

8 System API (UML) Connect with the framework instance and return references to the main services Load the packages, query their capabilities and create new requests, responses and related psets Service for synchronous and asynchronous invocations Service for events notification and receiving L. Paioro - Python/C FASE prototype - Marseille, June 2010

9 Component-Container API (UML) Introspection capabilities Single atomic operation Task (IS one operation) and Tool (IS COMPOSED BY several operations) Single atomic operation I/O: -Parameter set -Job ID -Errors L. Paioro - Python/C FASE prototype - Marseille, June 2010

10 Component-Container API (UML) Collection of parameters Single parameter L. Paioro - Python/C FASE prototype - Marseille, June 2010

11 Application API (UML) Proxy to the package after loading, allows to get new tasks and tools instances ToolProxy allows to access tool operations and execute them (synch/asynch) TaskProxy to launch a task execution (synch/async) L. Paioro - Python/C FASE prototype - Marseille, June 2010

12 INLINE Component Container Example: Python Python Task Component L. Paioro - Python/C FASE prototype - Marseille, June 2010

13 INLINE Component Container Example: Python Python Task INLINE Container Python Task Component L. Paioro - Python/C FASE prototype - Marseille, June 2010

14 INLINE Component Container Example: Python L. Paioro - Python/C FASE prototype - Marseille, June 2010 OR MAGICAL DECORATION

15 INLINE Component Container Example: ANSI-C ANSI-C Task Component L. Paioro - Python/C FASE prototype - Marseille, June 2010

16 INLINE Component Container Example: ANSI-C ANSI-C Task Component ANSI-C Task INLINE Container L. Paioro - Python/C FASE prototype - Marseille, June 2010

17 The Package Description File Given a package description file, component- containers skeletons can be generated by appropriate tools for any language! L. Paioro - Python/C FASE prototype - Marseille, June 2010

18 Python Application Example: synchronous and asynchronous L. Paioro - Python/C FASE prototype - Marseille, June 2010

19 Issues To Be Faced Completion of ANSI-C interfaces  A better FASE errors handling (suitable for multi- threading cases)  Tools handling  Application API Batch execution (OpenPBS) Parallel execution  MPI (multi-process)  OpenMP (multi-threaded)  OpenCL/CUDA (GPU parallel) L. Paioro - Python/C FASE prototype - Marseille, June 2010


Download ppt "Python/C FASE prototype L. Paioro, B. Garilli et al. OPTICON Network 9.2 MiMa Collaboration INAF-IASF Milano L. Paioro - Python/C FASE prototype."

Similar presentations


Ads by Google