ECRG High-Performance Computing Seminar

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

NGS computation services: API's,
Interactive lesson about operating system
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
1. Topics Is Cloud Computing the way to go? ARC ABM Review Configuration Basics Setting up the ARC Cloud-Based ABM Hardware Configuration Software Configuration.
Using Metacomputing Tools to Facilitate Large Scale Analyses of Biological Databases Vinay D. Shet CMSC 838 Presentation Authors: Allison Waugh, Glenn.
6/2/20071 Grid Computing Sun Grid Engine (SGE) Manoj Katwal.
Kangseok Kim, Marlon E. Pierce Community Grids Laboratory, Indiana University
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
An Autonomic Framework in Cloud Environment Jiedan Zhu Advisor: Prof. Gagan Agrawal.
BOF: Megajobs Gracie: Grid Resource Virtualization and Customization Infrastructure How to execute hundreds of thousands tasks concurrently on distributed.
Modeling Big Data Execution speed limited by: –Model complexity –Software Efficiency –Spatial and temporal extent and resolution –Data size & access speed.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 1.
Slide 6-1 Chapter 6 System Software Considerations Introduction to Information Systems Judith C. Simon.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
1/50 University of Turkish Aeronautical Association Computer Engineering Department Ceng 541 Introduction to Parallel Computing Dr. Tansel Dökeroğlu
Snip2Code: Search, Share and Collect Code Snippets Faster, Easier, Efficiently with Power of Microsoft Azure Platform MICROSOFT AZURE ISV PROFILE: SNIP2CODE.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Advanced Computing Facility Introduction
Accessing the VI-SEEM infrastructure
GRID COMPUTING.
Welcome to Indiana University Clusters
Univa Grid Engine Makes Work Management Automatic and Efficient, Accelerates Deployment of Cloud Services with Power of Microsoft Azure MICROSOFT AZURE.
Modeling Big Data Execution speed limited by: Model complexity
Lecture 2: Performance Evaluation
Chapter 1: Introduction
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Lecture 1: Operating System Services
Cloud Computing.
Introduction to parallel programming
Chilimbi, et al. (2014) Microsoft Research
GWE Core Grid Wizard Enterprise (
Spark Presentation.
Chapter 1: Introduction
Chapter 1: Introduction
Azure Hybrid Use Benefit Overview
Grid Computing.
The University of Adelaide, School of Computer Science
Spatial Analysis With Big Data
Chapter 1: Introduction
Java programming lecture one
NGS computation services: APIs and Parallel Jobs
University of Technology
TYPES OFF OPERATING SYSTEM
Chapter 1: Introduction
Performance Evaluation of Adaptive MPI
Chapter 1: Introduction
Overview Introduction VPS Understanding VPS Architecture
Chapter 9: Virtual-Memory Management
Chapter 17: Database System Architectures
Ch 4. The Evolution of Analytic Scalability
Introduction CSC 111.
Parallel Analytic Systems
Hybrid Programming with OpenMP and MPI
Chapter 2: Operating-System Structures
Introduction to High Performance Computing Using Sapelo2 at GACRC
LO2 – Understand Computer Software
Database System Architectures
Lecture 20 Parallel Programming CSE /27/2019.
Chapter 2: Operating-System Structures
Introduction TO Operating SYSTEM
Operating System Overview
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Programming language translators
Prebared by Omid Mustefa.
Presentation transcript:

ECRG High-Performance Computing Seminar Author Yi Liu Supervisors: Will N. Browne, Bing Xue

Problem Statement Global optimal solution for 37-bit multiplexer problem Based: 30 Agents Without high performance computing 30 Agents per 100 hours Total 30*100=3000 hours Days=3000/24=125 More than 4 months With high performance computing 3 days saving 97.6% time

Overview Parallel Computing Parallel Computing in Python Parallel Computing in learning classifier system NESI GRID

Parallel computing vs Serial computing In a computer contains several cores (CPU) 1 core == 1 CPU Serial computing uses one core Parallel computing uses more than one cores Serial computing: the algorithm runs serially Parallel computing: part of the algorithm runs simultaneously

Parallel Computing Parallel computing is a type of computation in which many calculations or the execution of processes are carried out simultaneously

C-Python and Iron Python C-python C based Iron-python C# based

Global interpreter lock(GIL) CPython: global interpreter lock (GIL) Disables concurrent Python threads within one process.

Parallel computing in Python The multiprocessing library and the threading library The multiprocessing library applicable The threading library not applicable

Parallel computing in Python create a multiprocessing object. It won’t cause any error if you input the number of cores is larger than the number of cores in your computer. But just in case, it’s not a good custom to input an unrealistic core number.

C_Python performance Id 1 2 3 4 5 6 7 8 9 93 785 776 679 754 699 721 (P_time indicate parallel computing time and S_time indicate serial computing time) Test1: Environment: CPython population: 200 iteration: 2500: unit: second (Table1) Id 1 2 3 4 5 6 7 8 9 P_Time 93 S_Time 785 776 679 754 699 721 768 759 687 772 P_Time: mean: 93.0s standard derivation: 0.0s S_Time : mean :735s standard derivation: 36.53s Parallel computing has introduced benefit in terms of speed up computing in the CPython environment , almost eight times speed up. The serial computing time varied a lot, however, the parallel computing is very stable since the standard derivation for P_Time is 0.  

IronPython Performance Test2: Environment: Iron-Python population: 200 iteration: 2500: unit: second (Table2) Id 1 2 3 4 5 6 7 8 9 P_Time S_Time 14 13 P_Time: mean: 9.0s standard derivation: 0.0s S_Time : mean :13.5s standard derivation: 0.5s Iron-python is much faster than the CPython, in Iron-python when the iterations and the population are low the parallel computation could speed up the training process. This test demonstrates parallel computation works in the Iron-Python environment.

IronPython Performance Test3: Environment: Iron-Python population: 200 iteration: 8000: unit: second (Table3) Id 1 2 3 4 5 6 7 8 9 P_Time 27 29 28 S_Time 43 P_Time: mean: 28.0s standard derivation: 0.7s S_Time : mean :43.0s standard derivation: 0.0s In this test, the set population is as same as the test1, only the iteration is increased, both test2 and test3 speed up around 1.5 times. This is a really interesting discovery. As parallel computation can not save training time for the evaluation computation that only increased the iterations.

IronPython Performance Test4: Environment: Iron-Python population: 500 iteration: 2500: unit: second (Table4) Id 1 2 3 4 5 6 7 8 9 P_Time 22 S_Time 68 69 67 P_Time: mean: 22.0s standard derivation: 0.0s S_Time : mean :68.0s standard derivation: 0.7s When the quantity of the population is increased, the parallel computing does bring more benefit. In this test the parallel computation speed up around 3.0 times.

Standard XCS

Parallel computing in XCS Match mechanism : Match process Match mechanism : calculate delete weight for each classifier Rule discovery mechanism: subsume function

High-performance computing (HPC): NESI NESI (New Zealand eScience infrastructure) Website: https://www.nesi.org.nz/

High-performance computing (HPC): NESI Similar to your laptop HPC contain processors, memory, disk, operating system but more. Logically, the number of introduced cores (CPUs) is unlimited. However, directly increased the introduced number of cores not always improve the performance. The performance depend on the topology in the HPC

High-performance computing (HPC): NESI visit https://www.nesi.org.nz/apply. Fulfill an application. Download MobaXterm (windows user) Generate SSH keys Send your SSH keys to the NESI group 1000 CPU hours free time

NESI performance (Test1)

NESI performance (Test2)

NESI performance (Test3)

NESI performance conclusion increase the number of introduced cores from 1 to 8, the training speed does increase. The training speed does not change too much among 8 to 12 cores. Increasing the cores from 12 to 16, the training speed decreased significantly. This result may indicate that it is difficult for NESI system to use 16 cores with python code simultaneously. When increase the population to the double size, the parallel computing system does not increase much training time.

GRID Grid computing is a collection of computer resources from multiple locations to reach a common goal. The grid can be considered as a distributed system with non-interactive workloads that could involve a large number of files. Grid computing is distinguished from HPC in that Grid computers have each node set to perform a different task. Grid computers tend to be more heterogeneous and geographically dispersed than cluster computers.

How to use GRID Website: https://ecs.victoria.ac.nz/Support/TechNoteEcsGrid Some useful command: need sgegrid : begin qsub -t 1-30 test.sh :submit 30 tasks qdel some id : delete a task qstat : check your grid state

GRID Performance

GRID VS NESI

GRID Performance conclusion The GRID’s result is quite stable. Compared with NESI, the speed of GRID is a little faster. To a Windows user, NESI is much more convenience in both receive the result and updating the source code. No risk about lose objects because of someone restart computer.

Alternatives: Cloud computing Google cloud platform Advantages: 1.Better Pricing Than Competitors 2.Private Global Fiber Network 3.Live Migration of Virtual Machines 4.Improved Performance 5.State of the Art Security 6.Dedication to Continued Expansion 7.Redundant Backups website: https://cloud.google.com/

Alternatives: Cloud computing Amazon Web Services Advantages: Website: https://aws.amazon.com/?nc2=h_lg

Conclusion Briefly introduce parallel computing in Python. How to translate LCS from serial computing to parallel computing environment. Compared the parallel computing system’s performance under HPC and GRID environment.

Thank You