Title: Matlab
1Matlab ScilabApplications to Finance
- Fabien Viale, Denis Caromel, et al.
- http//ProActive.ObjectWeb.org
- OASIS Team
- INRIA -- CNRS - I3S -- Univ. of Nice
Sophia-Antipolis, IUF -
- Introduction / Principles
- ProActive context
- Scilab integration
- 4. Matlab integration
- 5. Application to Finance
2Introduction
3Introduction - Matlab
- Leading numerical computing environment
- Used by more than one million people
- Interactive mathematical shell gt Matlab Language
- Expensive
4Introduction - Scilab
- Open source alternative to Matlab
- Used by many industrial and research projects
- Interactive mathematical shell gt similar syntax
with Matlab, not 100 compatible. - Free
5Introduction - ProActive
- Open source middleware for the Grid
- Used by many industrial and research projects
- Powerful and standardized (ETSI) deployment
framework - Tools for the grid Scheduler, Resource Manager,
IC2D Monitoring, Timit
6Introduction State of the Art (quick)
Name Licence type Parameters , return values , user function definition Type of jobs Deployment Notes
Matlab // computing toolbox Proprietary Any matlab Coarse grained MPI Data // LSF, PBS, Torque, SGE Requires NFS for I/O
Star P Proprietary Any matlab Coarse grained Data // Requires NFS for I/O
Paralize Open source Numeric/string arrays , built-in only Coarse grained Client / Server Uses NFS for cummunication
PLab Open source Any matlab Coarse grained One level rsh or ssh dormant
Only one //Scilab Scilab PVM
7Introduction - Motivations Challenges
- Motivations
- Use grid infrastructure as resources for Matlab
Scilab - Allow users to remain in their familiar
environment - Easily run Matlab Scilab code in parallel
- Seamless retrieval of results
- Challenges
- Heterogeneous environment
- Matlab not open source
- Non-extensive list of features in Scilab
8ProActive context
9Scheduler Resource Manager
- Scheduler
- controls user access task submission, results
retrieval. - Manages jobs pending queue.
- Manages jobs workflow.
- Resource Manager
- Deploys and monitor resources (nodes)
- Make nodes available for the scheduler (with
resource selection)
10Jobs tasks
- A job contains several tasks
- Tasks can have dependency relationships
- The Scheduler runs only one task per node
11Introduction Job definition
12Scilab integration
13Scilab integration - Principles
- Integration with the ProActive Scheduler
- Schedule workflow of Scilab tasks
- Transfer results between tasks
14Scilab integration - Example
15Matlab integration
16Matlab integration - Principles
- Scilab extension functionalities
- Integration with the Matlab environment
17How does it work ?
Resource Manager
Cluster
Proxy
login
Convert to textual / submit job
Scheduler
Select resources
Matlab
deploy
Nodes
Receive results
gt PAsolve(arg1..argn, _at_myfunc)
Desktop
ans 1 2.354 0 7
Nodes
Create engines
Run tasks
18Matlab integration - API
- PAconnect(ltscheduler-urlgt)
- PAsolve(arg1, argn, _at_function, -debug)
19Introduction State of the Art (quick)
Name Licence type Parameters , return values , user function definition Type of jobs Deployment Notes
Matlab // computing toolbox Proprietary Any matlab Coarse grained MPI Data // LSF, PBS, Torque, SGE Requires NFS for I/O
Star P Proprietary Any matlab Coarse grained Data // Requires NFS for I/O
Paralize Open source Numeric/string arrays , built-in only Coarse grained Client / Server Uses NFS for cummunication
PLab Open source Any matlab Coarse grained One level rsh or ssh, without password dormant
ProActive Open source Any matlab Coarse grained LSF, PBS, SGE, RSH, SSH, Bridges Requires NFS for I/O
20Demonstration application to finance
- Longstaff Schwarz method for American Put Option
- Pure matlab code (no financial toolkit)
21Conclusion / Future Work
- For Scilab, integration with the ProActive
Scheduler, useful for doing batch jobs - Lacks a complete integration with Scilab
- For Matlab, an easy to use/configure Parallel
Matlab toolkit - Dependant on NFS gt Automatic File Transfer
- Automatic licencing control
- Only for coarse-grained problems gt SPMD
extension - Blocks Matlab execution gt Asynchronous PAsolve
- Questions ?