Advanced

Dynamic Fault Tolerance and Task Scheduling in Distributed Systems

Broberg, Jonatan LU and Ståhl, Philip LU (2016) EITM01 20161
Department of Electrical and Information Technology
Abstract
Ensuring a predefined level of reliability for applications running in distributed environments is a complex task. Having multiple identical copies of a task increases redundancy and thereby the reliability. Due to varying properties of the often heterogeneous and vast number of components used in distributed environments, using static analysis of the environment to determine how many copies are needed to reach a certain level of reliability is insufficient. Instead, the system should dynamically adapt the number of copies as the properties of the system changes. In this thesis, we present a dynamic fault tolerant model and task scheduling, which ensures a predefined reliability by replicating tasks. Reliability is ensured over time by... (More)
Ensuring a predefined level of reliability for applications running in distributed environments is a complex task. Having multiple identical copies of a task increases redundancy and thereby the reliability. Due to varying properties of the often heterogeneous and vast number of components used in distributed environments, using static analysis of the environment to determine how many copies are needed to reach a certain level of reliability is insufficient. Instead, the system should dynamically adapt the number of copies as the properties of the system changes. In this thesis, we present a dynamic fault tolerant model and task scheduling, which ensures a predefined reliability by replicating tasks. Reliability is ensured over time by detecting failures, and dynamically creating new copies. Furthermore, the resources used are kept to a minimum by using the optimal number of task copies. Finally, the model was implemented using Ericsson's IoT-environment Calvin, thus providing a platform which can be used for further research and experiments. (Less)
Popular Abstract (Swedish)
Med automatiskt feldetektering och periodisk övervakning av molnapplikationer kan en önskad nivå av tillförlitlighet uppnås genom automatiskt kloning av applikationen. Nackdelen är att fler resurser krävs och därför måste antalet kopior hållas till ett minimum genom att inte ha fler kopior än nödvändigt.

Genom att skapa identiska kopior av funktioner eller beräkningar som en tjänst utför, så ökar sannolikheten att minst en av dessa lyckas slutföra beräkningen utan att ett fel inträffar. Genom att skapa tillräckligt många kopior kan en specifik tillförlitlighetsnivå uppfyllas, d.v.s. sannolikhet att minst en kopia lyckas slutföra sin beräkning och producera ett resultat. Vidare kan den önskade tillförlitlighetsnivån uppnås över en längre... (More)
Med automatiskt feldetektering och periodisk övervakning av molnapplikationer kan en önskad nivå av tillförlitlighet uppnås genom automatiskt kloning av applikationen. Nackdelen är att fler resurser krävs och därför måste antalet kopior hållas till ett minimum genom att inte ha fler kopior än nödvändigt.

Genom att skapa identiska kopior av funktioner eller beräkningar som en tjänst utför, så ökar sannolikheten att minst en av dessa lyckas slutföra beräkningen utan att ett fel inträffar. Genom att skapa tillräckligt många kopior kan en specifik tillförlitlighetsnivå uppfyllas, d.v.s. sannolikhet att minst en kopia lyckas slutföra sin beräkning och producera ett resultat. Vidare kan den önskade tillförlitlighetsnivån uppnås över en längre tid genom att automatiskt skapa nya kopior allt eftersom tidigare kopior slutar fungera till följd av serverfel.

Med flera identiska kopior som utför exakt samma uppgift, så ökar tillförlitligheten, till följd av att fler resurser krävs i form av beräkningskraft och energiförbrukning. Därför är det viktigt att hålla antalet kopior till ett minimum, så att inte onödigt mycket resurser används. Dessutom är det svårt att tillgodose en viss tillförlitlighet för molntjänster eftersom risken för fel varierar över tid. Exempelvis är risken för serverfel högre om servern är under hög belastning. Eftersom tillförlitligheten varierar över tid, så måste applikationer och tillgängliga servrar periodiskt övervakas för att se till att den önskade nivån uppfylls. Genom att flytta kopior till mer tillförlitliga servrar kan den önskade nivån uppnås med färre antal kopior. Överflödiga kopior kan då tas bort och därmed resursåtgången hållas till ett minimum.

Intresset för applikationer och tjänster som kör i molnet har vuxit explosionsartat det senaste decenniet. Molnet är en bred term och används för att beskriva distribuerade kluster av servrar på vilka applikation och tjänster körs. Dessa servrar är oftast byggda med relativt billiga komponenter med hög felfrekvens. Fel som leder till att en server blir oanvändbar inträffar ofta, och sådana fel är ofta svåra att förutse. Om ett fel inträffar, så kan inte längre de beräkningar som utfördes på servern slutföras, och värdefulla resultat kan gå förlorade. Vidare så kräver användare av sådana tjänster oftast en viss tillförlitlighet, d.v.s. sannolikhet att en applikation eller tjänst lyckas utföra det jobb den är ämnad för utan att fel inträffar.

Inom forskningsvärlden har det tidigare saknats en plattform där man kunnat utföra realistiska experiment på ett enkelt sätt. Ovannämnda funktionalitet för att automatiskt skapa nya kopior, och detektera fel, har implementerats i Calvin, en applikationsmiljö för Internet of Things utvecklad av Ericsson. Därmed finns nu en plattform tillgänglig där nya metoder kan prövas och experiment utföras. (Less)
Please use this url to cite or link to this publication:
author
Broberg, Jonatan LU and Ståhl, Philip LU
supervisor
organization
alternative title
Dynamisk Felhantering i Distribuerade System
course
EITM01 20161
year
type
H2 - Master's Degree (Two Years)
subject
keywords
reliability, distributed computing, dynamic fault tolerance, task scheduling, replication
report number
LU/LTH-EIT 2016-510
language
English
id
8876351
date added to LUP
2016-06-09 12:00:28
date last changed
2016-06-09 15:57:24
@misc{8876351,
  abstract     = {Ensuring a predefined level of reliability for applications running in distributed environments is a complex task. Having multiple identical copies of a task increases redundancy and thereby the reliability. Due to varying properties of the often heterogeneous and vast number of components used in distributed environments, using static analysis of the environment to determine how many copies are needed to reach a certain level of reliability is insufficient. Instead, the system should dynamically adapt the number of copies as the properties of the system changes. In this thesis, we present a dynamic fault tolerant model and task scheduling, which ensures a predefined reliability by replicating tasks. Reliability is ensured over time by detecting failures, and dynamically creating new copies. Furthermore, the resources used are kept to a minimum by using the optimal number of task copies. Finally, the model was implemented using Ericsson's IoT-environment Calvin, thus providing a platform which can be used for further research and experiments.},
  author       = {Broberg, Jonatan and Ståhl, Philip},
  keyword      = {reliability,distributed computing,dynamic fault tolerance,task scheduling,replication},
  language     = {eng},
  note         = {Student Paper},
  title        = {Dynamic Fault Tolerance and Task Scheduling in Distributed Systems},
  year         = {2016},
}