Fault tolerance based on the Publish- subscribe Paradigm for the - - PowerPoint PPT Presentation

fault tolerance based on the publish subscribe paradigm
SMART_READER_LITE
LIVE PREVIEW

Fault tolerance based on the Publish- subscribe Paradigm for the - - PowerPoint PPT Presentation

University of Paris XIII Universit of Tunis INSTITUT GALILEE cole Suprieure des Sciences Laboratoire dInformatique et Tehniques de Tunis de Paris Nord (LIPN) Unit de Recherche UTIC Fault tolerance based on the Publish- subscribe


slide-1
SLIDE 1
slide-2
SLIDE 2

Fault tolerance based on the Publish- subscribe Paradigm for the BonjourGrid Middleware

Heithem ABBES, Christophe CERIN, Mohamed JEMNI and Walid SAAD

Grid 2010 - 27 October 2010

University of Paris XIII INSTITUT GALILEE Laboratoire d’Informatique de Paris Nord (LIPN) Université of Tunis École Supérieure des Sciences et Tehniques de Tunis Unité de Recherche UTIC

slide-3
SLIDE 3

Outline

  • Introduction
  • Objectives
  • Design of BonjourGrid
  • Integration of Boinc and Condor
  • Fault tolerance approach
  • Experimentation and validation
  • Conclusion and future works

2

slide-4
SLIDE 4

Introduction (1/3)

  • P2P systems have allowed large improvements in

the field of file sharing over Internet.

3

slide-5
SLIDE 5

Introduction (1/3)

  • P2P systems have allowed large improvements in

the field of file sharing over Internet.

3

  • Gnutella, Kazaa and Freenet
slide-6
SLIDE 6

Introduction (1/3)

➡ Decentralized architecture ➡ No coordination between machines

  • P2P systems have allowed large improvements in

the field of file sharing over Internet.

3

  • Gnutella, Kazaa and Freenet
slide-7
SLIDE 7

Introduction (2/3)

  • Grid computing : obtaining an infrastructure
  • ffering computing power for users

applications.

  • Coordination between machines during

application execution.

  • Centralized or hierarchical architectures

(Globus, Glite, Condor).

4

slide-8
SLIDE 8

Introduction (2/3)

  • Grid computing : obtaining an infrastructure
  • ffering computing power for users

applications.

  • Coordination between machines during

application execution.

  • Centralized or hierarchical architectures

(Globus, Glite, Condor). ➡ No scalability ➡ Complicated procedure of installation ➡ Complicated configuration phase for an ordinary user

4

slide-9
SLIDE 9

Introduction (2/3)

  • Grid computing : obtaining an infrastructure
  • ffering computing power for users

applications.

  • Coordination between machines during

application execution.

  • Centralized or hierarchical architectures

(Globus, Glite, Condor). ➡ No scalability ➡ Complicated procedure of installation ➡ Complicated configuration phase for an ordinary user

4

slide-10
SLIDE 10

Introduction (3/3)

  • Desktop Grid led the community to build computing

systems based on voluntary machines.

  • Current systems use Master/Worker model

5

slide-11
SLIDE 11

Introduction (3/3)

  • Desktop Grid led the community to build computing

systems based on voluntary machines.

  • Current systems use Master/Worker model

5

  • United Devices, BOINC, PLANETLAB, XtremWeb
slide-12
SLIDE 12

Introduction (3/3)

  • Desktop Grid led the community to build computing

systems based on voluntary machines.

  • Current systems use Master/Worker model
  • Application domains
  • Global climate prediction (BOINC)
  • Search for extraterrestrial intelligence (SETI@Home)
  • Cosmic rays study (XtremWeb).

5

  • United Devices, BOINC, PLANETLAB, XtremWeb
slide-13
SLIDE 13

Introduction (3/3)

  • Desktop Grid led the community to build computing

systems based on voluntary machines.

  • Current systems use Master/Worker model
  • Application domains
  • Global climate prediction (BOINC)
  • Search for extraterrestrial intelligence (SETI@Home)
  • Cosmic rays study (XtremWeb).

5

  • United Devices, BOINC, PLANETLAB, XtremWeb

✓ Demonstrate the potential of Desktop Grid

slide-14
SLIDE 14

Introduction (3/3)

  • Desktop Grid led the community to build computing

systems based on voluntary machines.

  • Current systems use Master/Worker model
  • Application domains
  • Global climate prediction (BOINC)
  • Search for extraterrestrial intelligence (SETI@Home)
  • Cosmic rays study (XtremWeb).

✴ Suffer from being hardly scalable due to centralized control ✴ Rely on permanent administrative staff who guarantees the master operation

5

  • United Devices, BOINC, PLANETLAB, XtremWeb

✓ Demonstrate the potential of Desktop Grid

slide-15
SLIDE 15

Objectives of BonjourGrid

  • Design a multi-platform coordinators and fault tolerant

system using existing desktop grid middleware

  • Reduce the centralization factor: no static coordinator
  • Benefit from the existing decentralized service discovery

tools (Publish / Subscribe)

  • Create coordinators on demand, automatically and

without administrator intervention.

  • Each coordinator selects machines to participate in the

execution of a given application.

6

slide-16
SLIDE 16

Coordinateur

1 Computing Element (CE) = 1 coordinator + N workers

Design of BonjourGrid

7

slide-17
SLIDE 17

Coordinateur

1 Computing Element (CE) = 1 coordinator + N workers

Design of BonjourGrid

7

slide-18
SLIDE 18

Coordinateur

1 Computing Element (CE) = 1 coordinator + N workers

Design of BonjourGrid

7

slide-19
SLIDE 19

Coordinateur

1 Computing Element (CE) = 1 coordinator + N workers 1 instance: 1 CE managed by a middleware

Design of BonjourGrid

7

slide-20
SLIDE 20

Coordinateur

1 Computing Element (CE) = 1 coordinator + N workers Controls and orchestrate multiple instances 1 instance: 1 CE managed by a middleware

Design of BonjourGrid

7

slide-21
SLIDE 21

Coordinateur

1 Computing Element (CE) = 1 coordinator + N workers Controls and orchestrate multiple instances 1 instance: 1 CE managed by a middleware

Design of BonjourGrid

Introduction of the concept of meta-grids

7

slide-22
SLIDE 22

A A

8

Design of BonjourGrid

slide-23
SLIDE 23

A A A

8

Design of BonjourGrid

slide-24
SLIDE 24

A B A A

8

Design of BonjourGrid

slide-25
SLIDE 25

A B A A C

8

Design of BonjourGrid

slide-26
SLIDE 26

A B A A D C

8

Design of BonjourGrid

slide-27
SLIDE 27

A B A A D C

8

Design of BonjourGrid

slide-28
SLIDE 28

A B A A D C

8

Design of BonjourGrid

slide-29
SLIDE 29

A B A A D C

8

Design of BonjourGrid

slide-30
SLIDE 30

A B A A D C

8

Design of BonjourGrid

slide-31
SLIDE 31

A B A A D C

8

Design of BonjourGrid

slide-32
SLIDE 32

A B A A D C

8

Design of BonjourGrid

slide-33
SLIDE 33

A B A A D C

8

Design of BonjourGrid

slide-34
SLIDE 34

A B A A D C

8

Design of BonjourGrid

slide-35
SLIDE 35

A B A A D C

8

Design of BonjourGrid

slide-36
SLIDE 36

A B A A D C

8

Design of BonjourGrid

slide-37
SLIDE 37

A B A A D C A computing element for each user

8

Design of BonjourGrid

slide-38
SLIDE 38

A B A A D C A computing element for each user No static coordinator

8

Design of BonjourGrid

slide-39
SLIDE 39

A B A A D C A computing element for each user No static coordinator Each user can specify a middleware for his computing element

8

Design of BonjourGrid

slide-40
SLIDE 40
  • BonjourGrid is based on :
  • A resource discovery protocol
  • Fully decentralized
  • A computing element
  • Executes and handles the various tasks of an application

(Condor, Boinc, XtremWeb)

  • A global coordination protocol
  • Manages and controls all resources, services and computing

elements

  • Does not depend on any specific machine or centralized element

Components of BonjourGrid

9

slide-41
SLIDE 41

Discovery protocol

  • Based on Bonjour protocol
  • Multicast IP network
  • An implementation by Apple of ZeroConf protocol.
  • Structured around three functionalities :
  • Dynamic allocation of IP addresses without DHCP
  • Resolution of names and IP addresses without DNS
  • Services discovery without directory server
  • Motivations
  • Industrial protocol approved by Apple
  • Different versions for the 3 OS (Windows, Linux, MaxOS)
  • Linux and MacOS distributions integrate Bonjour
  • Evolution of networks (10 Gb/s 10 * x Gb/s) => low risk of

network congestion for multicast protocols

10

slide-42
SLIDE 42

Computing element (CE)

  • Each coordinator creates dynamically its CE
  • CE = Coordinator + set of workers
  • CE functionalities
  • Allocates workers
  • Submits and run tasks on workers
  • Schedules and get results
  • Computing systems
  • XtremWeb, Condor or Boinc

11

slide-43
SLIDE 43

Computing element (CE)

  • Each coordinator creates dynamically its CE
  • CE = Coordinator + set of workers
  • CE functionalities
  • Allocates workers
  • Submits and run tasks on workers
  • Schedules and get results
  • Computing systems
  • XtremWeb, Condor or Boinc

11

1 specific CE for each user

slide-44
SLIDE 44

Coordination protocol

  • Each machine can have one of the three states (Idle, Worker or

Coordinator).

  • A machine announces its state by publishing the specific service to

this state :

  • IdleService for idle state
  • WorkerService for worker state
  • CoordinatorService for coordinator state
  • When machine state changes:
  • it publishes the appropriate service to advertise this new state,
  • after having deactivated the old one.
  • Every machine can discover machines that are in a given state:
  • A machine launches a discovery on a particular service instead of

permanently receiving all new events.

  • Restrict communication between machines.

12

slide-45
SLIDE 45

Layered architecture

13

slide-46
SLIDE 46

Layered architecture

Publish/Subscribe

13

slide-47
SLIDE 47

Layered architecture

Publish/Subscribe Connection to BonjourGrid

13

slide-48
SLIDE 48

Layered architecture

Publish/Subscribe Connection to BonjourGrid Resources discovery

13

slide-49
SLIDE 49

Layered architecture

Publish/Subscribe Connection to BonjourGrid Resources discovery Resources characteristics

13

slide-50
SLIDE 50

Layered architecture

Publish/Subscribe Connection to BonjourGrid Resources discovery Resources characteristics Establishment of CE network

13

slide-51
SLIDE 51

Layered architecture

Publish/Subscribe Connection to BonjourGrid Resources discovery Resources characteristics Establishment of CE network XtremWeb

13

slide-52
SLIDE 52

Layered architecture

Publish/Subscribe Connection to BonjourGrid Resources discovery Resources characteristics Establishment of CE network XtremWeb Condor

13

slide-53
SLIDE 53

Layered architecture

Publish/Subscribe Connection to BonjourGrid Resources discovery Resources characteristics Establishment of CE network XtremWeb Condor Boinc

13

slide-54
SLIDE 54

Layered architecture

Publish/Subscribe Connection to BonjourGrid Resources discovery Resources characteristics Establishment of CE network XtremWeb Condor Boinc Deployment

  • f a computing system

13

slide-55
SLIDE 55

Integration of Boinc in BonjourGrid

!"#$%&'()"%*'#"+ !"#$%&'()#*+,- !"#$"#%&'()*++, !"#$%&'()''*&+, !"#$%&'(%)&*""+ !"#$"%&#'"($) !"#$%&'(") !"#$%#&'%()%*+, !"#$"%&'$()$* !"#$%&'(")

Account,mail,Certificate… URL,ProjectName,NbreWorker… IP,Hostname,CPU,Memory… ServiceType,HostName.. URL,ProjectName… IP,Hostname,CPU,Memory…

!"#$%&

!"#$"%&'&()*

slide-56
SLIDE 56

Integration of Condor in BonjourGrid

!"#"$%&'(#)*"++, !"#"$%&'()#*$+ !"#$%#&'()*+,,- !""#$%&&'()* !"#$"%&#'"($) !"#$%&'(") !"#$"%&'$()$* !"#$%&'(") !"#$%#&'%()%*+,

Host/IP Access levels security, Mail and Networks parameters ServiceType,HostName.. IP,Hostname,CPU,Memory… IP,PoolName,ManagerName, CollectorName,DomainName,NbreWorker… IP,PoolName,ManagerName, CollectorName,DomainName… IP,Hostname,CPU,Memory…

!"#$"%&

!"#$"%&'&()*

slide-57
SLIDE 57

Fault tolerance approach

  • Each computing system is responsible for :
  • controlling and monitoring application tasks

execution

  • the fault-tolerance of its workers within a

computing element

➡ The failure of workers is not the responsibility of BonjourGrid

  • The failure of coordinators is in the charge of

BonjourGrid

16

slide-58
SLIDE 58

Fault tolerance approach

  • Solution
  • Create dynamically backup coordinators for each

application,

  • Provide k backup (k is a configuration setting that

must be fixed before construction of the CE) for each application, using a passive replication

slide-59
SLIDE 59

Fault tolerance approach

Idle Coordinator Worker

18

slide-60
SLIDE 60

Fault tolerance approach

Idle Coordinator Worker

18

  • Construction of a computing element and 2 backups of the coordinator
slide-61
SLIDE 61

Fault tolerance approach

Idle Coordinator Worker

18

  • Construction of a computing element and 2 backups of the coordinator
slide-62
SLIDE 62

Fault tolerance approach

Idle Coordinator Worker

18

  • Construction of a computing element and 2 backups of the coordinator
slide-63
SLIDE 63

Fault tolerance approach

Idle Coordinator Worker

18

  • Construction of a computing element and 2 backups of the coordinator
slide-64
SLIDE 64

Fault tolerance approach

  • The workers go back to idle state when the coordinator is disabled

Idle Coordinator Worker

18

  • Construction of a computing element and 2 backups of the coordinator
slide-65
SLIDE 65

Fault tolerance approach

  • The workers go back to idle state when the coordinator is disabled

Idle Coordinator Worker

18

Problem: The coordinator has not yet completed the application

  • Construction of a computing element and 2 backups of the coordinator
slide-66
SLIDE 66

Fault tolerance approach

  • Solution : Status field to distinguish between :
  • Stop due to failure

➡ Status = 0 (application is in execution)

  • Stop following the end of application

➡ Status = 1 (application finished)

19

slide-67
SLIDE 67

Fault tolerance approach

  • Solution : Status field to distinguish between :
  • Stop due to failure

➡ Status = 0 (application is in execution)

  • Stop following the end of application

➡ Status = 1 (application finished)

Idle Coordinator Worker Status

19

slide-68
SLIDE 68

Fault tolerance approach

  • Solution : Status field to distinguish between :
  • Stop due to failure

➡ Status = 0 (application is in execution)

  • Stop following the end of application

➡ Status = 1 (application finished)

Idle Coordinator Worker Status

19

slide-69
SLIDE 69

Fault tolerance approach

  • Solution : Status field to distinguish between :
  • Stop due to failure

➡ Status = 0 (application is in execution)

  • Stop following the end of application

➡ Status = 1 (application finished)

Idle Coordinator Worker Status

19

slide-70
SLIDE 70

Fault tolerance approach

  • Solution : Status field to distinguish between :
  • Stop due to failure

➡ Status = 0 (application is in execution)

  • Stop following the end of application

➡ Status = 1 (application finished)

Idle Coordinator Worker Status

19

slide-71
SLIDE 71

Experimentations

  • System evaluation based on
  • a set of specific applications?
  • a specific arrival pattern (Poisson’s Law) ?
  • Workload model very close to the reality
  • Feitelson and Lublin
  • Inputs of the workload model
  • Number of nodes (system size)
  • Arrival time of applications
  • Maximum number of parallel tasks
  • Tasks execution times

20

Application ID Arrived Time (s) Execution Time (s) Nbre of parallel tasks 1 19 4 32 2 39 11 13 3 69 13 16 4 98 87 1 5 299 100 4

slide-72
SLIDE 72

Experimentations

  • Emulation of a set of users and a set of applications
  • 1 CE is dynamically created for each application
  • Emulator
  • Parameters :
  • list of machines
  • list of applications
  • workload model
  • Submit an application following the arrival pattern of

applications in the workload

  • Look for free machine on which a coordinator will start to initiate

the application tasks execution

  • The CE is released when application tasks finish

21

slide-73
SLIDE 73
  • Calculate: (end time of an application - submission time)
  • Analyze the delay caused by the decentralization
  • Analyze the behavior of BonjourGrid with :
  • Boinc
  • Condor
  • Setup
  • BonjourGrid : N machines (dynamic infrastructure)
  • Boinc or Condor : 1 coordinator + N-1 workers (static

infrastructure)

22

Experimentations

slide-74
SLIDE 74

Experimentations - Boinc

1 4 16 64 256 1024 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 10 20 30 40 50 60 70 80 90 100 110 120 130 Time (s) in logscale(2) Nbre Of // Tasks #Applications Turnaround time of BOINC Turnaround time of BonjourGrid Nbre of Tasks per App.

23

Setup :

  • 130 applications (2 to 128 // tasks)
  • 200 machines on Grid5000 (Orsay’s node)
  • Execution times vary from 1 to 500 seconds

Results :

  • With BonjourGrid, 60% of applications give a delay varying from 24 to 1277 s
  • BonjourGrid gives execution times < Boinc when the tasks number is important
slide-75
SLIDE 75

Experimentations - Condor

1 4 16 64 256 1024 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 10 20 30 40 50 60 70 80 90 100 110 120 130 Time (s) in logscale(2) Nbre Of // Tasks #Applications Turnaround time of Condor Turnaround time of BonjourGrid Nbre of Tasks per App.

24

Setup :

  • 130 applications (2 to 128 // tasks)
  • 200 machines on Grid5000 (Orsay’s node)
  • Execution times vary from 1 to 500 seconds

Results :

  • With BonjourGrid, 35% of applications generate a delay around 30 s
  • BonjourGrid generates more important delays for applications which are preceded by

applications with a large number (>100) of tasks

slide-76
SLIDE 76

Experimentations - Fault tolerance

  • Using virtual machines to save the state of coordinators
  • XEN virtualization system
  • 10 applications, with parallel tasks ranging from 2 to 128 tasks
  • 50 machines on the node of Nancy (Grid5000)
  • Faults scenarios by injecting faults during the execution of

applications

  • Recovery Time
  • Time of recovery of the coordinator
  • Time to re-establish the connection workers

25

slide-77
SLIDE 77

!"#$%&'()*# +)%,-.(/0 12&%/(2# !""#$%&'("#) *"%&+,!"&$"#) !"#$"%&'()*+&' !"#$%&'()*+,'

  • .)&&%&/'012'

!"#$%&&$ !"#$%&'(")*' !""#$%&'("#) *"%&+,!"&$"#) !"#$"%&'()*+&' !"#$%&&$ !"#$%&&$ !"#$%&'(")*' !"#$%&'()*# !%+,-.$&-&/-(0# !"#$%&'()*# +)%,-.(/0 1&-/(2&# !"#$"%&'()*+&' !"#$%&'()*+,'

  • .,$/,*0'123'

!"#$%&'( )"&*"+,-,%$( .,#/01",2( !"#$%&'()*+,'-.)&&%&/'012'

Main coordinator Backup coordinator Worker

Save Snapshot (1) Migrate Snapshot (2) Restore Snapshot (3) Establishment of connection(4)

Fault tolerance framework

slide-78
SLIDE 78

BOINC

  • Average delay of 197 sec
  • Almost stable delay which does not depend on number of tasks
  • Boinc allows the continuation of work after coordinator failure

27

1 4 16 64 256 1024 1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Time (s) in logscale(2) Nbre Of // Tasks #Applications Turnaround time of BOINC Turnaround time of BOINC-FT Nbre of Tasks per App. Level of Fault Injection .

Experimentations - Fault tolerance

slide-79
SLIDE 79

28

1 4 16 64 256 1024 1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Time (s) in logscale(2) Nbre Of // Tasks #Applications Turnaround time of CONDOR Turnaround time of CONDOR-FT Nbre of Tasks per App. Level of Fault Injection .

Condor

  • Average delay of 238 sec
  • Condor recovers tasks that have not completed their executions

Experimentations - Fault tolerance

slide-80
SLIDE 80

Conclusion

  • BonjourGrid: A novel approach for making a

collaborative and decentralized Desktop Grid systems.

  • Publish/Subscribe protocol
  • Orchestrate the participants
  • A computing system (Boinc, Condor or XtremWeb) for the

execution level of an application.

  • BonjourGrid makes a distributed control over resources

and does not depend on a central element.

  • BonjourGrid implements a Fault-tolerant mechanism

for coordinators

  • BonjourGrid favors collaborative execution and Meta-

Grids orchestration

29

slide-81
SLIDE 81

Future works

  • Minimize the amount of information transferred

between coordinators

  • Include reservation rules based on history traces
  • f the previous executions
  • Integrate economic models
  • Add a new layer for security issue

30

slide-82
SLIDE 82

Our background is coordination, our future will be coordination of clouds!

slide-83
SLIDE 83
slide-84
SLIDE 84

Thanks. Any Questions ?