Self-Configuration and Self-Optimization Algorithmic Skeletons using - - PowerPoint PPT Presentation

self configuration and self optimization algorithmic
SMART_READER_LITE
LIVE PREVIEW

Self-Configuration and Self-Optimization Algorithmic Skeletons using - - PowerPoint PPT Presentation

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events Gustavo Pabn Ludovic Henrio NIC Chile Research Labs INRIA Sophia Antipolis Part of the SCADA Associate Team: OASIS / NIC Labs Taken from


slide-1
SLIDE 1

Gustavo Pabón

NIC Chile Research Labs

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events Ludovic Henrio

INRIA Sophia Antipolis

Part of the SCADA Associate Team: OASIS / NIC Labs

slide-2
SLIDE 2

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 2/22

slide-3
SLIDE 3

Large-scale parallel and distributed environments allow the resolution of large-scale problems.

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 2/22

slide-4
SLIDE 4

Large-scale parallel and distributed environments allow the resolution of large-scale problems.

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 2/22

IBM’s Blue Gene/Q Sequoia at the Lawrence Livermore National Lab, first million core supercomputer. Jan/2013

slide-5
SLIDE 5

Large-scale parallel and distributed environments allow the resolution of large-scale problems. However, parallel software development is hard

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 2/22

slide-6
SLIDE 6

Large-scale parallel and distributed environments allow the resolution of large-scale problems. However, parallel software development is hard and currently, we are facing an increasing challenge due to the increasing number of cores available. Indeed many-core supercomputers are almost impossible to program efficiently,

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 2/22

slide-7
SLIDE 7

COLE '89

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 3/22

slide-8
SLIDE 8

COLE '89

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2

Map Reduce Master - Slave Divide & Conquer

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 3/22

slide-9
SLIDE 9

Large-scale parallel and distributed environments allow the resolution of large-scale problems. However, parallel software development is hard and currently, we are facing an increasing challenge due to the increasing number of cores available. Indeed many-core supercomputers are almost impossible to program efficiently, and those architectures are even more difficult to maintain. According to gartner '12, IT operations management costs are the 36% of the total operation IT budget.

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 4/22

slide-10
SLIDE 10

IBM 2001

Taken from http://www.extremetech.com/extreme/146967-stanford-breaks-million-core-supercomputing-barrier2 PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 5/22

slide-11
SLIDE 11

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 6/22

slide-12
SLIDE 12

PROBLEM

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 7/22

slide-13
SLIDE 13

PROBLEM

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 7/22

slide-14
SLIDE 14

PROBLEM

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 7/22

slide-15
SLIDE 15

PROBLEM

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 7/22

slide-16
SLIDE 16

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events Goals:

  • Monitoring the

Skeleton's execution.

  • Creating a clear

separation of concerns (SoC) Challenge: Inversion

  • f Control.

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 8/22

slide-17
SLIDE 17

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 8/22

Map Before Merge

class MyListener implements ... { public P handler(P param, Skeleton[] strace) { ... return param; } } myMap.addBeforeMergeListener(myListener);

slide-18
SLIDE 18

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

Let's say that QoS Wall Clock Time (WCT): 12 seg. WCT using 2 threads: 14 secs.

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 9/22

slide-19
SLIDE 19

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

Let's say that QoS Wall Clock Time (WCT): 12 seg. WCT using 2 threads: 14 secs. WCT using 4 threads: 10 secs.

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 9/22

slide-20
SLIDE 20

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

WCT using 2 threads: 14 secs. WCT using 4 threads: 10 secs.

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 10/22

How to calculate them?

slide-21
SLIDE 21

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 10/22

fs fe fe fe fe fm Activity Dependency Graph

WCT using 2 threads: 14 secs. WCT using 4 threads: 10 secs.

slide-22
SLIDE 22

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 11/22

Activity Dependency Graph

Let's assume that we know in advanced the following values: |fs| = 4 t(fs) = 3 t(fe) = 4 t(fm) = 3

fs fe fe fe fe fm

WCT using 2 threads: 14 secs.

WCT using 4 threads: 10 secs. Best Effort Estimation

slide-23
SLIDE 23

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 11/22

Activity Dependency Graph

Let's assume that we know in advanced the following values: |fs| = 4 t(fs) = 3 t(fe) = 4 t(fm) = 3

WCT using 2 threads: 14 secs.

WCT using 4 threads: 10 secs. Best Effort Estimation fs

3

fe

3 7

fe

3 7

fe

3 7

fe

3 7

fm

7

10

slide-24
SLIDE 24

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 11/22

Activity Dependency Graph

Let's assume that we know in advanced the following values: |fs| = 4 t(fs) = 3 t(fe) = 4 t(fm) = 3

WCT using 2 threads: 14 secs.

WCT using 4 threads: 10 secs. Best Effort Estimation fs

3

fe

3 7

fe

3 7

fe

3 7

fe

3 7

fm

7

10

Estimated Execution Time Line [0,3) 1 [3,7) 4 [7,10) 1

slide-25
SLIDE 25

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 12/22

Activity Dependency Graph

Let's assume that we know in advanced the following values: |fs| = 4 t(fs) = 3 t(fe) = 4 t(fm) = 3

fs fe fe fe fe fm WCT using 2 threads: 14 secs.

WCT using 4 threads: 10 secs.

Fixed Level of Parallelism(2)

Estimated Execution Time Line

slide-26
SLIDE 26

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 12/22

Activity Dependency Graph

Let's assume that we know in advanced the following values: |fs| = 4 t(fs) = 3 t(fe) = 4 t(fm) = 3

WCT using 2 threads: 14 secs.

WCT using 4 threads: 10 secs.

Fixed Level of Parallelism(2)

Estimated Execution Time Line [0,3) 1 [3,7) 2 [7,11) 2 [11,14) 1

fs

3

fe

3 7

fe

3 7

fe

7 11

fe

7 11

fm

11 14

slide-27
SLIDE 27

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 13/22

Estimating Future Work

Let's assume that we know in advanced the following values: |fs| = 4 t(fs) = 3 t(fe) = 4 t(fm) = 3 How to estimate this values on the fly?

slide-28
SLIDE 28

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 13/22

Estimating Future Work

Let's assume that we know in advanced the following values: |fs| = 4 t(fs) = 3 t(fe) = 4 t(fm) = 3 How to estimate this values on the fly?

slide-29
SLIDE 29

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events The executive summary of our proposal is to extend the Algorithmic Skeleton model by:

  • 1. Introducing separation of concerns using events (monitoring)
  • 2. Implementing autonomic concerns by using
  • a. Activity dependency graphs
  • b. Estimating future work based on:

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 14/22

slide-30
SLIDE 30

Seventh Framework Programme (FP7), 2011 - 2014

Related Works

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 15/22

Aims to produce a new design and implementation process based on adaptable parallel patterns for component based architectures, where the autonomic features are more related to structural adaptations. Our approach contributes to provide autonomic features for the computational aspects, and it is not related to a specific architecture.

slide-31
SLIDE 31

Related Works

ASPARA Project

  • H. Gonzales-Velez, M.Cole. 2010

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 15/22

This work proposes a methodology to introduce adaptability in skeletons. On ASPARA, structural information is introduced during compilation. Compared to ASPARA project, our solution allows the introduction of structural information during execution.

slide-32
SLIDE 32

Related Works

Auto-tuning SkePU

  • U. Dastgeer, J. Enmyren, C.W. Kessler. 2011

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 15/22

Here the prediction mechanism at execution time uses online pre-calculated estimates to construct an execution plan for any desired configuration with minimal overhead. Our solution does not need pre-calculated estimates. It calculates estimates at runtime.

slide-33
SLIDE 33
  • Problem: Calculate the top 5 of hashtags and commented users on 1.2 million of

Colombian Twits from July 25/13 to August 5/13.

  • Used architecture:

○ Intel(R) Xenon(R) E5645 a 2.4 GHz per core, 12 cores y 24 CPU Threads. 64 GB RAM ○ Skandium v1.1b1 on JRE 1.6

  • Execution scenarios

○ A achievable goal but stressful: ■ Goal of 9.5 secs without initialization ■ Goal of 9.5 secs with initialization ○ A goal with clearance (not that stressful): goal of 10.5 secs

Execution Example

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 16/22

slide-34
SLIDE 34

WCT=9.3s

Execution Example - Goal of 9.5 secs without initialization

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 17/22

slide-35
SLIDE 35

WCT=8.4s

Execution Example - Goal of 9.5 secs with initialization

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 18/22

slide-36
SLIDE 36

WCT=10.6s

Execution Example - Goal of 10.5 secs (clearance)

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 19/22

slide-37
SLIDE 37
  • We have shown how skeletons together with autonomic computing present a

promising solution for the autonomic adaptation of applications.

  • Our approach relies on the use of events for creating a clear separation of concerns

without lowering the high-level parallel programming of skeletons allowing us to precisely monitor the status of the execution, and react on the fly to make behavioural changes.

  • We have shown the feasibility of our proposal by introducing self-configuration and

self-optimization autonomic characteristics to skeletons using events related to the Wall Clock Time and Level of Parallelism QoSs.

Conclusions

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 20/22

slide-38
SLIDE 38
  • Distributed Autonomic Skeletons using this approach.
  • Introduce different QoS to improve scalability, maintainability and security: self-

healing and self-protecting characteristics.

  • Analyses of different WCT estimation algorithms comparing its overhead costs.
  • More experiments are conducted on other benchmarks

Future Work

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events Slide 21/22

slide-39
SLIDE 39

Self-Configuration and Self-Optimization Algorithmic Skeletons using Events The executive summary of our proposal is to extend the Algorithmic Skeleton model by:

  • 1. Introducing separation of concerns using events (monitoring)
  • 2. Implementing autonomic concerns by using
  • a. Activity dependency graphs
  • b. Estimating future work based on:

PMAM 2014. Self-Configuration and Self-Optimization Autonomic Skeletons using Events

Thank you very much for attending