From VBA to High Performance Computing in Supply Chain Optimisation

Similar documents
HPC Wales Skills Academy Course Catalogue 2015

Component visualization methods for large legacy software in C/C++

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

High Performance Computing in CST STUDIO SUITE

Parallel Ray Tracing using MPI: A Dynamic Load-balancing Approach

Interconnect Efficiency of Tyan PSC T-630 with Microsoft Compute Cluster Server 2003

supercomputing. simplified.

Product Overview. Contents

Parallelization of video compressing with FFmpeg and OpenMP in supercomputing environment

INTEL PARALLEL STUDIO XE EVALUATION GUIDE

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

Microsoft Compute Clusters in High Performance Technical Computing. Björn Tromsdorf, HPC Product Manager, Microsoft Corporation

Multicore Parallel Computing with OpenMP

Program Grid and HPC5+ workshop

Elemental functions: Writing data-parallel code in C/C++ using Intel Cilk Plus

PGGA: A Predictable and Grouped Genetic Algorithm for Job Scheduling. Abstract

ACO Hypercube Framework for Solving a University Course Timetabling Problem

Using Power to Improve C Programming Education

Course Development of Programming for General-Purpose Multicore Processors

Scalability and Classifications

Cellular Computing on a Linux Cluster

Intelligent Heuristic Construction with Active Learning

Extended Finite-State Machine Inference with Parallel Ant Colony Based Algorithms

Manjrasoft Market Oriented Cloud Computing Platform

Supercomputing on Windows. Microsoft (Thailand) Limited

Rodrigo Fernandes de Mello, Evgueni Dodonov, José Augusto Andrade Filho

Computer and Information Sciences

PSE Molekulardynamik

Implementation of the Remote Control and Management System. in the Windows O.S

SOFTWARE TESTING TRAINING COURSES CONTENTS

MAQAO Performance Analysis and Optimization Tool

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

ASSOCIATE IN APPLIED SCIENCE DEGREES AND CERTIFICATES

Genetic Algorithms for Energy Efficient Virtualized Data Centers

2667A - Introduction to Programming

Advances in Smart Systems Research : ISSN : Vol. 3. No. 3 : pp.

What is Multi Core Architecture?

Virtual Machines.

PARALLEL JAVASCRIPT. Norm Rubin (NVIDIA) Jin Wang (Georgia School of Technology)

Scalable Cloud Computing Solutions for Next Generation Sequencing Data

SCADA/HMI MOVICON TRAINING COURSE PROGRAM

Measurement Based Performance Characterization of Software Servers

Manjrasoft Market Oriented Cloud Computing Platform

2. Advance Certificate Course in Information Technology

1/20/2016 INTRODUCTION

Benchmark Study on Distributed XML Filtering Using Hadoop Distribution Environment. Sanjay Kulhari, Jian Wen UC Riverside

Numerix CrossAsset XL and Windows HPC Server 2008 R2

Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps

Agenda. HPC Software Stack. HPC Post-Processing Visualization. Case Study National Scientific Center. European HPC Benchmark Center Montpellier PSSC

High Performance. CAEA elearning Series. Jonathan G. Dudley, Ph.D. 06/09/ CAE Associates

GGobi meets R: an extensible environment for interactive dynamic data visualization

MS-10232: Designing and Developing Microsoft SharePoint Server 2010 Applications. Course Objectives. Price. Duration. Methods of Delivery

Designing and Developing Microsoft SharePoint Server 2010 Applications Course Outline

Cloud Computing through Virtualization and HPC technologies

Building an energy dashboard. Energy measurement and visualization in current HPC systems

Bringing Big Data Modelling into the Hands of Domain Experts

Masters in Human Computer Interaction

Masters in Human Computer Interaction

Multi-Threading Performance on Commodity Multi-Core Processors

DIABLO VALLEY COLLEGE CATALOG

Figure 1. The cloud scales: Amazon EC2 growth [2].

COMPUTER SCHOOL. Computer Programming. Build your future the INTEC way

MPI / ClusterTools Update and Plans

Microsoft Windows Compute Cluster Server 2003 Evaluation

How To Program With Adaptive Vision Studio

Implementation and Evaluation of Certificate Revocation List Distribution for Vehicular Ad-hoc Networks

OKLAHOMA SUBJECT AREA TESTS (OSAT )

Masters in Networks and Distributed Systems

Masters in Computing and Information Technology

FPGA area allocation for parallel C applications

HP ProLiant SL270s Gen8 Server. Evaluation Report

Distributed communication-aware load balancing with TreeMatch in Charm++

On the Importance of Thread Placement on Multicore Architectures

Incorporating Multicore Programming in Bachelor of Science in Computer Engineering Program

Compiler-Assisted Binary Parsing

Developing and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET

Design and Optimization of OpenFOAM-based CFD Applications for Hybrid and Heterogeneous HPC Platforms

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

EXTENDING JMETER TO ALLOW FOR WEB STRUCTURE MINING

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Liblouis a universal solution for Braille transcription services

CHAPTER FIVE RESULT ANALYSIS

Impact of Control Theory on QoS Adaptation in Distributed Middleware Systems

New Route PhD program in UK. Dr Tatiana Kalganova

SIGMOD RWE Review Towards Proximity Pattern Mining in Large Graphs

Xeon+FPGA Platform for the Data Center

Multi-core Programming System Overview

Optimized Offloading Services in Cloud Computing Infrastructure

MINISTERIO DE DEFENSA CENTRO NACIONAL DE INTELIGENCIA CENTRO CRIPTOLÓGICO NACIONAL ORGANISMO DE CERTIFICACIÓN

Rocket AS v6.3. Benefits of upgrading

A Multi-layered Domain-specific Language for Stencil Computations

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Authors: Simon George and Prushothaman Palanichamy

Parallel application development

A New, High-Performance, Low-Power, Floating-Point Embedded Processor for Scientific Computing and DSP Applications

Scalability Factors of JMeter In Performance Testing Projects

Using the Windows Cluster

Parallel Programming at the Exascale Era: A Case Study on Parallelizing Matrix Assembly For Unstructured Meshes

Parallel Algorithm Engineering

MatrixSSL Getting Started

Transcription:

From VBA to High Performance Computing in Supply Chain Optimisation Case Study Tatiana Kalganova, Marco Veluscek Electronic and Computer Engineering College of Engineering, Design and Physical Sciences Brunel University Kingston Lane, Uxbridge, UB8 3PH, United Kingdom

Outline Introduction Programming in Heterogeneous environment Chosen working framework C++11 for Multi-platform Implementation OpenMP for Multi-core Parallel Programming Standard Data Exchange Format XML Conclusion Tatiana Kalganova and Marco Veluscek 2of 25

Introduction to Problem Supply Chain Optimisation Tatiana Kalganova and Marco Veluscek 3of 25

Problem complexity Addressed problem: > 2945 nodes and 135,111 edges. > Data from a 24 months period. > 30 products, each: > Made of 15 components, built from 5 sources. > 39 assembly point, 200 dealer locations and 48 shipping regions, partially interconnected. Tatiana Kalganova and Marco Veluscek 4of 25

Example of problem being solved Tatiana Kalganova and Marco Veluscek 5of 25

Experimental results Tatiana Kalganova and Marco Veluscek 6of 25

Introduction to Problem Supply Chain Optimisation Complex problem Uses different sources of data Optimisation algorithm required to obtain the solution within reasonable time for integration purposes The developed algorithms have to be able to be integrated into existing system The algorithms can be run on different computational platforms Tatiana Kalganova and Marco Veluscek 7of 25

Heterogeneous development environment Team perspective Available resources perspective Tatiana Kalganova and Marco Veluscek 8of 25

Heterogeneous environment Team skill sets UG students Have no previous experience on programming of relatively complex systems Have experience on programming of individual projects only Most often have no experience on working on programming projects in teams In process of developing the programming skills Duration of Final Year project 6 months part time PG students In most cases have no previous experience on programming of relatively complex systems Duration of MSc project 3 months full time (PGT students) Duration of PhD 3 years full time (PGR students) Company team Experience programmers, often used advanced programming techniques Tatiana Kalganova and Marco Veluscek 9of 25

Heterogeneous environment Limitation of resources Company HPC University: PGR students University: UG and PGT Students Linux servers Windows-based PCs Macs Multi-core computers Tatiana Kalganova and Marco Veluscek 10 of 25

General approach Architecture Data handling Optimiser Tatiana Kalganova and Marco Veluscek 11 of 25

Data handling Spreadsheets XML Text Databases Tatiana Kalganova and Marco Veluscek 12 of 25

Optimiser Single core computers Multiple core computers Linux servers HPC Tatiana Kalganova and Marco Veluscek 13 of 25

Optimiser Ant colony algorithm Genetic programming Linear Programming Tatiana Kalganova and Marco Veluscek 14 of 25

Ant colony optimisation Tatiana Kalganova and Marco Veluscek 15 of 25

Working Framework Tatiana Kalganova and Marco Veluscek 16 of 25

Working Framework Main Programming Language: > C++ standard version 11 (approved by ISO, 12 August 2012). > Microsoft Visual C++ for Visual Studio Professional 2013. > Linux G++ compiler version GCC 4.7.2. Style of programming > Customised use of GUI depending on the programming environment used. > For algorithmic implementation part, only use of common libraries to facilitate the stable algorithmic performance in heterogeneous environment. Tatiana Kalganova and Marco Veluscek 17 of 25

Working Framework Parallel Libraries > OpenMP version 3.1 for multi-core programming. Standard Data Exchange Format > XML for data structures definitions and > tinyxml as parsing library. Tatiana Kalganova and Marco Veluscek 18 of 25

C++11 for Multi-platform Implementation > Many official standard functionalities are supported on all major platforms. > Macros may be used for platform-dependent requirements: > _WIN32, _WIN64 available on MS systems. > GNUC available on GNU GCC for Linux systems. > Library for file system interaction: > direct.h on MS systems. > sys/types.h and sys/stat.h on GNU GCC. > GNU make may be used for compilation on all major platforms. Tatiana Kalganova and Marco Veluscek 19 of 25

C++11 for Multi-platform Implementation GNU make example. > High performance configuration. > Static library compilation. Tatiana Kalganova and Marco Veluscek 20 of 25

OpenMP for Multi-core Parallel Programming > Parallel directive > Parallel loop scheduling > Data scope attribute > Execution on Intel i7 CPU 3.40GHz of 100 iterations on 8 cores. > Reduced runtime requirements. > Improved search as the visited portion of the solution space is increased. Tatiana Kalganova and Marco Veluscek 21 of 25

Standard Data Exchange Format - XML > Extensible Markup Language (XML): > Encoding for all input and output files. > tinyxml: > Simple, small, and efficient C++ static library for XML documents parsing. > http://www.grinninglizard.com/tinyxml2/index.html > Example for document parsing: > Example for document navigation: Tatiana Kalganova and Marco Veluscek 22 of 25

Standard Data Exchange Format - XML XML Table Representation: XML Matrix Representation: <data> <header_row> <col_name/>... </header_row> <content_row> <cell/> </content_row> </data> <data> <row_data> <row_name/> <cell> <col_name/> <cell_data/> </cell>... </row_data> </data> Tatiana Kalganova and Marco Veluscek 23 of 25

Experimental results 1000 iterations for 12 months Operating system Programming approach # cores Time Windows VBA single / multiple N/A core HPC VBA 1.5 months Windows C++ single core 500s Linux C++ single core 800s Windows C++ 8 cores 60s Linux C++ 16 cores 50s HPC C++ 1.5s Tatiana Kalganova and Marco Veluscek 24 of 25

Conclusion OpenMP for Multi-core Parallel Programming C++11 for Multi-platform Implementation Standard Data Exchange Format XML The use of XML allows possibilities of exploring difference methods of visualization References Veluscek, M.; Kalganova, T.; Broomhead, P, "Improving Ant Colony Optimization Performance through Prediction of Best Termination Condition IEEE International Conference on Industrial Technology, IEEE Computer Society. 2015. Veluscek, Marco; Kalganova, Tatiana; Ogunbanwo, Adebowale; Williamson, Alina; Broomhead, Peter; Grichnik, Anthony, "Benchmarking of Meta-heuristic Algorithms for Real-World Transportation Network Optimization", International Journal of Production Research. Submitted 9/10/2014. Ogunbanwo A., A. Williamson, M. Veluscek, R. Izsak, T. Kalganova and P. Broomhead (2014) Transportation Network Optimization. Encyclopaedia of Business Analytics and Optimization, February 2014, Ed. John Wang. pp. 2570-2583. DOI: 10.4018/978-1-4666-5202-6.ch229. Tatiana Kalganova and Marco Veluscek 25 of 25