integrate matlab analytics into enterprise …...4 key takeaways 1. distribute applications to...
TRANSCRIPT
1© 2015 The MathWorks, Inc.
Integrate MATLAB Analytics into
Enterprise Applications
Aurélie Urbain
MathWorks Consulting Services
2
Data Analytics Workflow
Data Analytics Analytics Integration Data Acquisition
Business
Systems
Smart
Connected
Systems
MATLAB: Single Platform
3
Challenges
How to share MATLAB algorithms with multiple internal and external
consumers
Challenging and time consuming to re-code MATLAB algorithms for
integration into IT frameworks
Difficult to migrate solutions to enterprise scale web or cloud frameworks
How to deliver fast results with large volumes of data
4
Key Takeaways
1. Distribute applications to non-MATLAB users royalty-free.
2. Integrate MATLAB functions into existing workflows and development platforms.
3. Deploy MATLAB Analytics for Big Data on Spark-enabled Hadoop clusters.
4. Build a scalable and reliable platform for sharing MATLAB applications.
5
Sharing and Deploying MATLAB ApplicationsWrite Your Programs Once Then Share to Different Targets
MATLAB
C/Cshared library
++ExcelAdd-in JavaHadoop .NET
MATLAB
Compiler
MATLABProduction
Server
StandaloneApplication
MATLAB
Compiler SDK
Apps Files
Custom Toolbox
Python
With MATLAB
Users
With People Who Do
Not Have MATLAB
.lib/.dll .exe
MATLAB
Coder
MATLAB
Runtime
Embedded
Coder
MEX
With MATLAB
Users
6
Share with People Who Do Not Have MATLAB
C/Cshared library
++ExcelAdd-in JavaHadoop .NET
MATLAB
Compiler
MATLABProduction
Server
StandaloneApplication
MATLAB
Compiler SDK
Python
Share Applications with No
Additional Programming
Integrate MATLAB-based Components
With Your Own Software
• Royalty-free Sharing
• IP Protection via Encryption
MATLAB
Runtime
7
1
2
Integrate MATLAB-based Components With Your Own
Software
MATLAB
Toolboxes
MATLAB
Runtime
Application Author
Software Developer
43C/C++
Java
.NETMATLAB
ProductionServer
Python
MATLAB Compiler SDK
9
MATLAB and MATLAB Production Serveris the easiest and most productive environment to take your enterprise
analytics or IoT solution from idea to production
Idea Production
10
Why MATLAB Production Server Matters to You
No need to learn another programming
language
Reliably service large numbers of concurrent
requests with low latency
Platform independency (win, mac, linux)
Web and cloud friendly architecture
Client connections can be protected with SSL
encryption
Automatically deploy updates without server
restart
Domain
Expert
Solution
Architect
11
MATLAB Production ServerEnterprise Class Framework For Running Packaged MATLAB Programs
Server software
– Manages packaged MATLAB
programs and worker pool
MATLAB Runtime libraries
– Single server can use runtimes
from different releases
RESTful JSON interface and
lightweight client library (C/C++, .NET,
Python, and Java)
MATLAB Production Server
MATLAB
Runtime
Request Broker
&
Program
ManagerEnterprise
ApplicationRESTful
JSON
Enterprise
Application
MPS Client
Library
12
MATLAB Production Server
Request
Broker
&
Program
Manager
Enterprise Application
HTTP(S)
HttpClient
object
Calling Functions
Calculation
Process
Calculation
Process
Worker Pool
13
Example - Integrating with IT systems
Web
Server
Application
Server
Database Server
Pricing
Risk
Analytics
Portfolio
Optimization
MATLAB Production Server
MATLAB
Compiler SDK
Web
Applications
Desktop
Applications
15
MATLAB
MATLAB
Compiler SDK
Customer examples: Financial customer advisory service
MATLAB Production Server
Request
BrokerAlgorithm
Developers
Request
Broker
Request
Broker
o Saved € 2 million
annually for an
external system
o Quicker
implementation of
adjustments in source
code by the
quantitative analysts
o Knowledge + MATLAB
= Build your own
systems
Global
financial
institution with
European HQ
16
MATLAB
MATLAB
Compiler SDK
Industrial IoT Analytics on AWS
MATLAB Production Server
Request
Broker
Algorithm
Developers
Industrial Equipment
• Networked
communication
• Embedded sensors
• Data reduction
Business
Systems
Users
Global industrial
equipment
manufacturer
17
MATLAB Production Server
Request
Broker
Building Automation IoT Analytics on Azure
Building/HVAC
automation
control system
• Variety of
sensors and
controls
• Networked
communication
• Data reduction
Azure
EventHub
Azure
BlobAzure
SQL
MATLAB
MATLAB
Compiler SDK
Algorithm
Developers
Business
Systems
Users
Global heavy duty
electrical equipment
manufacturer
18
Back-end scalability
MATLAB Production Server
– Application server for MATLAB
Manage large numbers of
requests to run short-running
deployed MATLAB programs
MATLAB Distributed Computing Server
– Cluster framework for MATLAB/Simulink
Speed up computationally intensive
programs on computer clusters,
clouds, and grids
.NET
Deployed
ApplicationDeployed
ApplicationDeployed
ApplicationDeployed
Application
Front-end scalability
19
Distinct Offerings Scale Application Access and Computation
Deployed Application
Deployed
ApplicationDeployed
ApplicationDeployed
ApplicationDeployed
Application
MATLAB Compiler SDKMATLAB
Desktop
(client)
Parallel Computing Toolbox
MATLAB Distributed Computing Server
GPU
Multi-core
CPU
MATLAB Production Server
MATLAB code with
batch, parfor, or other
parallel constructs
Request
broker
20
Distinct Offerings Scale Application Access and Computation
Deployed Application
Deployed
ApplicationDeployed
ApplicationDeployed
ApplicationDeployed
Application
MATLAB Compiler SDKMATLAB
Desktop
(client)
Parallel Computing Toolbox
MATLAB Distributed Computing Server
GPU
Multi-core
CPU
MATLAB code with
batch, parfor, or other
parallel constructs
Request
broker
MATLAB Compiler SDK
MATLAB Production Server
Parallel workers on remote hardware
21
MATLAB and MATLAB Distributed Computing Server
allow you tospeedup your computations on multiple CPUs and GPUs
overcome memory limitations and
offload computations to clusters and clouds.
Desktop Clusters and Clouds
22
MATLAB Distributed Computing Server Benefits
Transparently get access to more workers
on a cluster.
Get access to advanced parallel workflows
directly through their MATLAB desktop.
Platform independency (win, mac, linux)
Don’t need to build a framework for
submission and retrieval.
Can easily scale up with more
workers
Client connections can be protected
with SSL encryption
Domain
Expert
Solution
Architect
23
Data Intensive: Big Data support in MATLAB
11 26 41
12 27 42
13 28 43
15 30 45
16 31 46
17 32 47
20 35 50
21 36 51
22 37 52
Distributed Arrays
Apache Spark™ on Hadoop
Tall Arrays
Datastores
24
Summary for tall arrays
Process out-of-memory data on your Desktop to explore,
analyze, gain insights and to
develop analytics
MATLAB Distributed Computing Server,
Spark+Hadoop
Local disk,
Shared folders,
Databasesor Spark + Hadoop (HDFS),
for large scale analysis
Use Parallel Computing
Toolbox for increased
performance
Run on Compute Clusters
25
Databases
Cloud
Storage
IoT
Visualization
Web
Custom App
Public Cloud Private Cloud
Technology Stack
Platform
Data Business System
MATLAB
Production Server
Analytics
Request
Broker
Azure
Blob
MATLAB
Distributed
Computing
Server
26
Online Resources
• Documentation – Create and
Share Toolboxes
• Website – Desktop and Web
Deployment
• Free White Paper – Building a
Website with MATLAB Analytics
• Website – Using MATLAB With
Other Programming Languages