Scaling MATLAB. for Your Organisation and Beyond. Rory Adams The MathWorks, Inc. 1

Similar documents
Integrate MATLAB Analytics into Enterprise Applications

Integrate MATLAB Analytics into Enterprise Applications

MATLAB. Senior Application Engineer The MathWorks Korea The MathWorks, Inc. 2

Integrate MATLAB Analytics into Enterprise Applications

Sharing and Deploying MATLAB Applications

Introduction to MATLAB application deployment

Sharing and Deploying MATLAB Programs Sundar Umamaheshwaran Amit Doshi Application Engineer-Technical Computing

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer

What's New in MATLAB for Engineering Data Analytics?

Application Development and Deployment With MATLAB

MATLAB 에서작업한응용프로그램의공유 : App 에서부터웹서비스까지

From Apps to Web Services: Deploying Your MATLAB Algorithms and Applications Marta Wilczkowiak

MATLAB as a Financial Engineering Development Platform Delivering Financial / Quantitative Models to the Enterprise Eugene McGoldrick

Tackling Big Data Using MATLAB

Integrating MATLAB Analytics into Business-Critical Applications Marta Wilczkowiak Senior Applications Engineer MathWorks

Advanced Software Development with MATLAB

Scaling up MATLAB Analytics Marta Wilczkowiak, PhD Senior Applications Engineer MathWorks

2015 The MathWorks, Inc. 1

Analyzing Fleet Data with MATLAB and Spark

Integrating Advanced Analytics with Big Data

Optimizing and Accelerating Your MATLAB Code

What s New in MATLAB May 16, 2017

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen

Fit für die MATLAB EXPO

Speeding up MATLAB Applications Sean de Wolski Application Engineer

Data Analytics with MATLAB. Tackling the Challenges of Big Data

Navigating Big Data with MATLAB

Technical Computing with MATLAB

Data Analytics with MATLAB

Simplifier la mise en production d applications MATLAB. Marc Wolff Application Engineer MathWorks 1

WHITEPAPER. MemSQL Enterprise Feature List

Leveraging Azure Services for a Scalable Windows Remote Desktop Deployment

MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by

Parallel Computing with MATLAB

Multicore Computer, GPU 및 Cluster 환경에서의 MATLAB Parallel Computing 기능

Big Data con MATLAB. Lucas García The MathWorks, Inc. 1

Introduction to Deep Learning in Signal Processing & Communications with MATLAB

DATA SCIENCE USING SPARK: AN INTRODUCTION

MATLAB Introduction. Ron Ilizarov Application Engineer

개발과정에서의 MATLAB 과 C 의연동 ( 영상처리분야 )

Working with Large Sets of Images in MATLAB Just Got Easier Avi Nehemiah

AWS & Intel: A Partnership Dedicated to fueling your Innovations. Thomas Kellerer BDM CSP, Intel Central Europe

Getting Started with MATLAB Francesca Perino

Oracle Big Data Connectors

What s New MATLAB and Simulink

2015 The MathWorks, Inc. 1

Industrial system integration experts with combined 100+ years of experience in software development, integration and large project execution

Alteryx Technical Overview

How to Route Internet Traffic between A Mobile Application and IoT Device?

Alexander Klein. #SQLSatDenmark. ETL meets Azure

What s New for MATLAB David Willingham

BIG DATA: Data Analytics with MATLAB Christophe POUILLOT Senior Consultant MathWorks

Developing Enterprise Cloud Solutions with Azure

Stream Processing on IoT Devices using Calvin Framework

The Evolution of Big Data Platforms and Data Science

Apache Hadoop 3. Balazs Gaspar Sales Engineer CEE & CIS Cloudera, Inc. All rights reserved.

What s New in MATLAB and Simulink

Pervasive DataRush TM

Deploying, Managing and Reusing R Models in an Enterprise Environment

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen

This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and

Delphi XE. Delphi XE Datasheet

EsgynDB Enterprise 2.0 Platform Reference Architecture

What s New in MATLAB and Simulink The MathWorks, Inc. 1

Develop and test your Mobile App faster on AWS

Deep Learning Frameworks with Spark and GPUs

2015 The MathWorks, Inc. 1

IBM Data Science Experience White paper. SparkR. Transforming R into a tool for big data analytics

MathWorks Products and Prices North America January 2018

Lesson 5 Nimbits. Chapter-6 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Best Practices and Performance Tuning on Amazon Elastic MapReduce

Understanding the latent value in all content

Modern Data Warehouse The New Approach to Azure BI

microsoft

NewSQL Without Compromise

Accelerating Digital Transformation with InterSystems IRIS and vsan

Cloud Computing 2. CSCI 4850/5850 High-Performance Computing Spring 2018

2015 The MathWorks, Inc. 1

Cloud Analytics and Business Intelligence on AWS

What s New in MATLAB and Simulink Young Joon Lee Principal Application Engineer

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Cloud Computing & Visualization

ArcGIS Enterprise: Architecting Your Deployment

Deploying MATLAB Applications in Excel, Java, and.net Environments

Automated Trading with MATLAB Stuart Kozola Computational Finance

Introduction to ArcGIS Server Architecture and Services. Amr Wahba

5/24/ MVP SQL Server: Architecture since 2010 MCT since 2001 Consultant and trainer since 1992

Přehled novinek v SQL Server 2016

Movidius Neural Compute Stick

ConnectWise Automate. What is ConnectWise Automate?

Asanka Padmakumara. ETL 2.0: Data Engineering with Azure Databricks

How to Put Your AF Server into a Container

Deep learning in MATLAB From Concept to CUDA Code

New Fresh Storage Approach for New IT Challenges Laurent Denel Philippe Nicolas OpenIO

Intelligence for the connected world How European First-Movers Manage IoT Analytics Projects Successfully

Cloud Computing 3. CSCI 4850/5850 High-Performance Computing Spring 2018

CloudSwyft Learning-as-a-Service Course Catalog 2018 (Individual LaaS Course Catalog List)

Exploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation

Transcription:

Scaling MATLAB for Your Organisation and Beyond Rory Adams 2015 The MathWorks, Inc. 1

MATLAB at Scale Front-end scaling Scale with increasing access requests Back-end scaling Scale with increasing computational intensity Scale with increasing data volumes Cluster Cloud Spark + Hadoop 2

MATLAB at Scale Front-end scaling Scale with increasing access requests Back-end scaling Scale with increasing computational intensity Scale with increasing data volumes Cluster Cloud Spark + Hadoop 3

Key Takeaways 1. Share applications and algorithms with anyone 2. Integrate MATLAB functions into existing workflows and development platforms. 3. Deploy MATLAB applications to service simultaneous requests via web or cloud frameworks. 4

MATLAB Programs Can be Shared With Anyone Share With Other MATLAB Users Share With People Who do Not Have MATLAB 5

Share with MATLAB Users MATLAB Files Custom Toolbox Apps Directly share MATLAB files.mltbx Package an App Package Entire Toolboxes 6

Scale Up Sharing with MATLAB Users File Exchange: MATLAB Minimart Icons from www.flaticon.com 7

MATLAB Programs Can be Shared With Anyone Share With Other MATLAB Users Share With People Who do Not Have MATLAB 8

Share Applications Built Completely in MATLAB Application Author MATLAB Toolboxes 1 2 MATLAB Compiler End User Standalone Application Excel Add-in Hadoop 3 MATLAB Runtime Royalty-free Sharing IP Protection via Encryption 9

Excel Add-In Solar Analysis 10

11

Integrate MATLAB-based Components With Your Own Software Application Author MATLAB Toolboxes Royalty-free Sharing IP Protection via Encryption 1 Software Developer MATLAB Compiler SDK 2 C/C ++.NET MATLAB Production Server 3 4 MATLAB Runtime Python Java 12

Scaling up: Load Forecasting Demo MATLAB Production Server(s) Web Server(s) HTML XML Java Script 13

MATLAB and MATLAB Production Server The easiest and most productive environment to take your enterprise analytics or IoT solution from idea to a scalable production solution Idea Production 14

MATLAB Production Server Enterprise 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 Isolates the MATLAB processing Enterprise Application MPS Client Library Enterprise Application RESTful JSON MATLAB Production Server Request Broker & Program Manager MATLAB Runtime Access using native data types 15

Scale Up with MATLAB Production Server Scalable and reliable Service large numbers of concurrent requests Add capacity or redundancy with additional servers MATLAB Production Server(s) Directly deploy MATLAB programs into production Automatically deploy updates without server restarts Most efficient path for creating enterprise applications Web Server(s) HTML XML Java Script 16

Customer examples: Financial customer advisory service MATLAB Production Server Global financial institution with European HQ Request Broker o Saved 2 million annually for an external system Algorithm Developers MATLAB Compiler SDK MATLAB Request Broker o Quicker implementation of adjustments in source code by the quantitative analysts Request Broker o Knowledge + MATLAB = Build your own systems 17

Industrial IoTAnalytics on AWS Global industrial equipment manufacturer Industrial Equipment Networked communication Embedded sensors Data reduction MATLAB Production Server Request Broker Business Systems Users MATLAB Compiler SDK MATLAB Algorithm Developers 18

Building Automation IoT Analytics on Azure Global heavy duty electrical equipment manufacturer Building/HVAC automation control system Variety of sensors and controls Networked communication Data reduction Azure EventHub Azure Blob MATLAB Production Server Request Broker Azure SQL MATLAB Compiler SDK MATLAB Business Systems Users Algorithm Developers 19

Production Deployment Workflow Development MATLAB Developer Initial Test Application Verify data handling and initial behavior Debug Algorithm MATLAB Algorithm MATLAB Compiler SDK Enterprise Application Developer Web Application Function Call Deployable Archive MATLAB Production Server Production MATLAB Production Server. Web Application Function Calls Deployable Archives 20

Technology Stack Data Analytics Business System Databases MATLAB Distributed Computing Server Visualization Cloud Storage Azure Blob MATLAB Production Server Web Request Broker IoT Custom App Public Cloud Platform Private Cloud 22

MATLAB at Scale Front-end scaling Scale with increasing access requests Back-end scaling Scale with increasing computational intensity Scale with increasing data volumes Cluster Cloud Spark + Hadoop 23

Key Takeaways 1. Leverage parallel computing 2. Handle big data 3. Seamlessly scale from your desktop to clusters or the cloud 24

Classification learner demo One click to toggle the use of parallel Run classification learner quick to train classifiers in parallel instead of one by one 25

Parallel-enabled Toolboxes Enable acceleration by setting a flag or preference Image Processing Statistics and Machine Learning Neural Networks Simulink Control Design Signal Processing and Communications Optimization Simulink Design Optimization Computer Vision Communication Systems Toolbox Simulink/Embedded Coder Other Parallel-enabled Toolboxes 26

Independent Tasks or Iterations Simple programming constructs: parfor, parfeval Examples: parameter sweeps, Monte Carlo simulations No dependencies or communications between tasks MATLAB client MATLAB workers Time Time 27

Run multiple parallel simulations from the parsim command Run Simulink multiple simulations in parallel with simplified workflow 28

Parallel Computing Multicore Desktops Core 1 Core 2 Worker Worker Core 3 Worker Core 4 Worker MATLAB multicore 29

Carnegie Wave Energy Aberdeen Asset Management Develop unique technology for generating electric power from ocean waves Improve asset allocation strategies with machine learning techniques we can run simulations in parallel, and with a twelve-core computer we see an almost twelvefold increase in speed. Jonathan Fiévez Carnegie Wave Energy can develop prototypes to test machine learning techniques quickly get rapid, reliable results by running the algorithms with large financial data sets on a distributed computing cluster. Emilio Llorente-Cano Aberdeen Asset Management 30

Why parallel computing matters Scaling case study with a compute cluster Workers in pool 160e3 values Compute time (minutes) 400 values 25 values 1 140 0.38 0.03 10 15 0.05 0.01 20 8.0 0.03 0.01 40 4.2 0.02 0.01 80 2.1 0.02 0.01 100 1.8 0.02 0.01 Processor: Intel Xeon E5-class v2 16 physical cores per node MATLAB R2016a 31

Parallel Computing Scaling Up Clusters/Cloud Cluster Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Worker Parallel Computing Toolbox MATLAB Distributed Computing Toolbox 32

Considerations When Scaling to Clusters Workers need access to your code Workers need access to the data Operating system independent file path management fileparts, fullfile, filesep 33

MATLAB at Scale Front-end scaling Scale with increasing access requests Back-end scaling Scale with increasing computational intensity Scale with increasing data volumes Cluster Cloud Spark + Hadoop 34

Large Data Options Data fits in memory of pool Distributed arrays Look like normal MATLAB variables Data does not fit in memory (Big Data) Tall arrays Looks like normal MATLAB variables Custom map-reduce functions Can be painful to learn 35

tall arrays tall array Data doesn t fit into memory Lots of observations - tall Looks like a normal MATLAB array Numeric types, tables, datetimes, strings, etc Basic math, stats, indexing, etc. Statistics and Machine Learning Toolbox (clustering, classification, etc.) 36

tall arrays Single Machine Memory tall array Process Single Machine Memory Automatically breaks data up into small chunks that fit in memory Chunk processing is handled automatically Processing code for tall arrays is the same as ordinary arrays 37

tall arrays - Scaling Single Machine Memory tall array Process Single Machine Memory Process several chunks at once Scale up to clusters Process Single Machine Memory Cluster of Machines Memory Process Single Machine Memory Process Single Machine Memory 38

Big Data workflow ACCESS More data and collections of files than fit in memory PROCESS AND ANALYZE Adapt traditional processing tools or learn new tools to work with Big Data SCALE To Big Data systems like Hadoop 39

Example: Scaling up to Spark and Hadoop 40

Using Tall Arrays Run in parallel on compute clusters MATLAB Distributed Computing Server Local disk Shared folders Databases HDFS Spark + Hadoop Tall arrays MATLAB 100 s of functions supported MATLAB Statistics and Machine Learning Toolbox Run in parallel Parallel Computing Toolbox Run in parallel on Spark clusters MATLAB Distributed Computing Server Deploy MATLAB applications as standalone applications on Spark clusters MATLAB Compiler 41

Summary - Scale your applications beyond the desktop Option Parallel Computing Toolbox MATLAB Distributed Computing Server MATLAB Distributed Computing Server for Amazon EC2 MATLAB Distributed Computing Server for Custom Cloud MATLAB Distributed Computing Server for Hadoop + Spark Description Explicit desktop scaling Scale to clusters Scale to EC2 with some customization Scale to custom cloud Scale to custom cloud Maximum workers No limit No limit 256 No limit No limit Hardware Desktop Any Amazon EC2 Amazon EC2, Microsoft Azure,Others Hadoop + Spark Availability Worldwide Worldwide United States, Canada and other select countries in Europe Worldwide Worldwide Learn More: Parallel Computing on the Cloud 42

MATLAB at Scale Front-end scaling Scale with increasing access requests Back-end scaling Scale with increasing computational intensity Scale with increasing data volumes Cluster Cloud Spark + Hadoop 43

44