210 likes | 873 Views
Matlab & Scilab Applications 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
E N D
Matlab & 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 Fabien Viale
Introduction Fabien Viale
Introduction - Matlab • Leading numerical computing environment • Used by more than one million people • Interactive mathematical shell => Matlab Language • Expensive Fabien Viale
Introduction - Scilab • Open source alternative to Matlab • Used by many industrial and research projects • Interactive mathematical shell => similar syntax with Matlab, not 100% compatible. • Free Fabien Viale
Introduction - 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 Fabien Viale
Introduction – State of the Art (quick) Only one //Scilab : Scilab PVM Fabien Viale
Introduction - 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 Fabien Viale
ProActive context Fabien Viale
Scheduler – Resource Manager • Scheduler : • controls user access ; task submission, results retrieval. • Manages jobs pending queue. • Manages job’s workflow. • Resource Manager : • Deploys and monitor resources (nodes) • Make nodes available for the scheduler (with resource selection) Fabien Viale
Jobs & tasks • A job contains several tasks • Tasks can have dependency relationships • The Scheduler runs only one task per node Fabien Viale
Introduction – Job definition Fabien Viale
Scilab integration Fabien Viale
Scilab integration - Principles • Integration with the ProActive Scheduler • Schedule workflow of Scilab tasks • Transfer results between tasks Fabien Viale
Scilab integration - Example Fabien Viale
Matlab integration Fabien Viale
Matlab integration - Principles • Scilab extension functionalities • Integration with the Matlab environment Fabien Viale
How does it work ? Resource Manager Cluster Proxy login Convert to textual / submit job Scheduler Select resources Matlab deploy Receive results Nodes > PAsolve({arg1..argn}, @myfunc) Desktop ans = [ 1 2.354 0 7 ] Nodes Create engines Run tasks Fabien Viale
Matlab integration - API • PAconnect(<scheduler-url>) • PAsolve({arg1, … argn}, @function, [‘-debug’]) Fabien Viale
Introduction – State of the Art (quick) Fabien Viale
Demonstration : application to finance • Longstaff Schwarz method for American Put Option • Pure matlab code (no financial toolkit) Fabien Viale
Conclusion / 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 => Automatic File Transfer • Automatic licencing control • Only for coarse-grained problems => SPMD extension • Blocks Matlab execution => Asynchronous PAsolve • Questions ? Fabien Viale