2017 The MathWorks, Inc.

Transcription

1

㜈䉤䘸 㢨㪼 㐐 䊐㜄 㢌 㢨䉤 㚔 䐥㚔䙀 䀴㢨 Ạ㻉㡸 㠸䚐 MATLAB ὤ 䝬䜸 㵜㣙Senior Application EngineerThe MathWorks Korea 2017 The MathWorks, Inc.2

Data Analytics WorkflowBusinessSystemsSmart ConnectedSystemsData Acquisition Engineering, Scientific, and Field Business and TransactionalDataata AnalyticsAnallyttics Data Pre-processing Feature Extraction Building algorithms, math models Making business decisionsAnalytics Integration Integrate algorithms with IT Analytics run on Embedded targetsMATLAB: Single Platform3

Key Takeaways1. 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 Hadoop enabled Spark Clusters.4. Deploy MATLAB applications to service simultaneous user requests enterprise-wide via web or cloud frameworks.4

Challenges Multiple internal and external consumers of MATLAB algorithms Challenging and time consuming to re-code MATLAB algorithms for integration into IT frameworks– Development resources are scarce and time-to-market is short Company priority to deploy solutions to enterprise scale web or cloud frameworks– Scale application to serve large numbers of simultaneous requests5

MATLAB Programs Can be Shared With AnyoneShare With Other MATLAB UsersShare With People Who do Not Have MATLAB6

Write Your Programs OnceThen Share To Different icationExcelAdd-inMATLABCompiler SDKHadoopC/C tom ToolboxWith MATLABUsersWith People Who DoNot Have MATLABSource Code7

Share with People Who Do Not Have inMATLABCompiler SDKHadoopShare Applications with NoAdditional ProgrammingC/C Java.NETMATLABProductionServerPythonIntegrate MATLAB-based ComponentsWith Your Own Software Royalty-free Sharing IP Protection via Encryption8

Share Applications Built Completely in MATLABApplication AuthorMATLABToolboxes12MATLAB CompilerStandaloneApplication3ExcelAdd-inEnd UserHadoopMATLABRRuRuntime9

10

Integrate MATLAB-based Components With Your Own SoftwareApplication AuthorMATLABToolboxes1Software DeveloperMATLAB Compiler SDK2C/C a12

13

Using MATLAB Compiler SDK to create Python Packages14

MATLAB and MATLAB Production Serveris the easiest and most productive environment to take your enterpriseanalytics or IoT solution from idea to productionIdeaProduction16

Why MATLAB Production Server Matters to YouSolutionArchitectDomainExpert999MATLAB Production Server allowyou to continue to work in the environment that you loveNo need to learn another programming languageMATLAB Production Server integrates with enterprise IT infrastructure999MATLAB Production Server integrates MATLAB code into the enterprise IT fabric that you are comfortable withNo need to re-code into another programming languageWeb and cloud friendly architecture17

Scale Up with MATLAB Production Server Directly deploy MATLAB programs into production– Centrally manage multiple MATLAB programs and runtime versions– Automatically deploy updates without server restarts– Most efficient path for creating enterprise applications Scalable and reliable– Service large numbers of concurrent requests– Add capacity or redundancy with additional servers MATLAB ProductionServer(s)WebServer(s)HTMLXMLJava ScriptUse with web, database and application servers– Lightweight client library isolates MATLAB processing– Access MATLAB programs using native data types18

Customer examples: Financial customer advisory serviceMATLAB Production ServerRequestBrokerMATLABCompiler okerGlobalfinancialinstitution withEuropean HQo Saved 2 millionannually for anexternal systemo Quickerimplementation ofadjustments in sourcecode by thequantitative analystso Knowledge MATLAB Build your ownsystems19

Industrial IoT Analytics on AWSGlobal industrialequipmentmanufacturerIndustrial Equipment Networkedcommunication Embedded sensors Data reductionMATLAB Production ler SDKAlgorithmDevelopersMATLAB20

Building Automation IoT Analytics on AzureGlobal heavy dutyelectrical l system Variety ofsensors andcontrols Networkedcommunication Data reductionMATLAB Production questBrokerAzureSQLMATLABCompiler SDKAlgorithmDevelopersMATLAB21

MATLAB Production ServerEnterprise Class Framework For Running Packaged MATLAB Programs Server software– Manages packaged MATLAB programs and worker poolEnterpriseApplication MATLAB Runtime libraries– Single server can use runtimes from different releasesMPS ClientLibraryRequest Broker&ProgramManagerEnterpriseApplication RESTful JSON interface and lightweight client library (C/C , .NET, Python, and Java)MATLAB Production ServerRESTfulJSONMATLABRRuntime22

Calling FunctionsEnterprise ApplicationMWHttpClientobjectMATLAB Production onProcessCalculationProcessWorker Pool23

Technology StackDataBusiness uction ServerWebRequestBrokerIoTCustom AppCPublic CloudPrivate CloudPlatform24

Example - Integrating with IT systemsMATLABCompiler SDKMATLAB Production erverRiskAnalyticsDatabase Server25

Production Deployment WorkflowDevelopmentMATLABDeveloperInitial TestApplicationDebug AlgorithmVerify datahandling andinitial behaviorMATLABAlgorithmMATLABCompiler MATLAB Production ServerWebApplicationFunction CallProductionMATLAB Production Server.Function CallsWebApplicationDeployableArchives26

Develop and Test with MATLAB Compiler SDKMATLABApplicationHTTP Test environment for MATLAB Production SeerverTest and debug in MATLAB desktop– Details on request transactions– MATLAB debug and profiling with end to end testing27

Web Management Dashboard – New in R2017a28

Load Forecasting DemoEnergy load forecasting demoMATLAB ProductionServer(s)HTMLXMLJava ScriptWeb Server(s)29

MATLAB at ScaleMATLAB Production ServerMATLAB Distributed Computing ServerApplication server for MATLABCluster framework for MATLAB/Simulink Front-end scalabilityManage large numbers of requests to runshort-running deployed MATLAB programs Back-end scalabilitySpeed up computationally intensive programson computer clusters, clouds, and grids30

Distinct Offerings Scale Application Access and ComputationMATLAB Compiler SDKDeployed MATLABDesktop(client)Parallel Computing ToolboxMATLAB code withbatch, parfor, or otherparallel constructsGPGPUPUMulti-coreCPUMATLAB Production ServerMATLAB Distributed Computing Server31

Distinct Offerings Scale Application Access and ComputationMATLAB Compiler SDKParallel Computing ToolboxMATLABDesktop(client)MATLAB code withbatch, parfor, or otherparallel constructsDeployed ApplicationMATLAB Compiler ulti-coreCPUMATLAB Production ServerMATLAB Distributed Computing ServerParallel workers on remote hardware32

Online Resources Documentation – Create andShare Toolboxes Website – Desktop and WebDeployment Free White Paper – Building aWebsite with MATLAB Analytics Website – Using MATLAB WithOther Programming Languages33

Supplemental SlidesUse the following slides for more detailed discussions on variousimplementations using MATLAB Production Server.34

Challenges of Big Data“Any collection of data sets so large and complex that it becomes difficult to process using traditional data processing applications.” sIntegrateBig DataApplicationsRapid DataExploration46

Hadoop: The Big Data ata47

Matlab Integration with Hadoop ReduceMapReReduceMapReReducemap.mreduce.m48

Deploy Applications with deDataMapReReduceMapReReduceMapReReduceCompile MATLABMap ReduceCode49

Use MATLAB with Spark on Gigabytes and Terabytes of Datatall arrayortall tables50

Run MATLAB scripts on SPARK & HADOOPMATLAB workers on worker nodes in the cluster MDCS workers (working from MATLAB)Job submitted usingJava RDD APIYARNSpark-submit scriptHadoop & SparkLibraryEdge NodeResourceManagerMaster Name NodeData NodesHDFSWorker Nodes51

Example: Running on Spark enabled Hadoop% Define the Execution Environment.% Desktopmr mapreducer(gcp);Desktop Code% Access the data.ds datastore(‘C:/datasets/taxiData/*.csv');tt tall(ds);Spark Hadoop CodeSpark ConnectionCluster Config for SparkHadoop AccessPCT, Datastore, tall%% Define the Execution Environment.% Hadoop/Spark Clustersetenv('HADOOP HOME', '/dev env/cluster/hadoop');setenv('SPARK HOME', '/dev env/cluster/spark');numWorkers 16;cluster park.executor.instances') num2str(numWorkers);mr mapreducer(cluster);% Access the datads /*.csv');tt tall(ds);52

Example: Running on Spark and Hadoop53

Run MATLAB scripts on SPARK & HADOOPMATLAB workers on worker nodes in the cluster MATLAB Runtime (deployed applications)YARNHadoop & SparkLibraryCompileMATLABCCodeEdge NodeResourceManagerMaster Name NodeData NodesHDFSWorker Nodes54

Deploying Spark Applications55

Deploy MATLAB Analytics for Big Data on Hadoop enabled Spark Clusters. 4. Deploy MATLAB applications to service simultaneous user requests enterp . control system Variety of sensors and controls Networked communication Data reduction Azure EventHub Azure Blob Azure SQL MATLAB MATLAB Compiler SDK Algorithm Developers Business .