1 / 99

Hibatűrő rendszerek tervezési mintái

Hibatűrő rendszerek tervezési mintái. Autonóm és hibatűrő információs rendszerek Kocsis Imre ikocsis @ mit.bme.hu 2013.10.21. Ismétlés: singleton. Ismétlés: Facade. Ismétlés: Observer. Architekturális mintanyelv. Units of Mitigation.

boyce
Download Presentation

Hibatűrő rendszerek tervezési mintái

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hibatűrő rendszerek tervezési mintái Autonóm és hibatűrő információs rendszerek Kocsis Imre ikocsis@mit.bme.hu 2013.10.21.

  2. Ismétlés: singleton

  3. Ismétlés: Facade

  4. Ismétlés: Observer

  5. Architekturális mintanyelv

  6. Units of Mitigation • Howcanyoukeepthewholesystemfrom being unavailablewhen an erroroccurs? • „Design thesystemintopartsthatwillcontainbothanyerrors and theerrorrecovery. Choosethedivisionsthatmakesenseforyoursystem. Design the rest of thesystemaroundthesepartsthatrepresentthebasicunitsoferrormitigation.”

  7. Units of Mitigation • Division: • Architecture • Availablerecovery/mitigationtechniques • … • Desirable: fail-silent • Example: three-tieredsystem, tieras unit • In-tierredundancyschemes… • … orrequestqueuing • Somefurtherproblems: • Howtoprocesserrorsinside? • Whatshouldtheblocks be? • Note: rough-grainedpattern (HW and SW blocks)

  8. Architekturális mintanyelv

  9. CorrectingAudits • Faultydatacauseserrors. • „Detect and correctdataerrorsassoonaspossible. Checkrelateddataforerrors, correct and recordtheoccurence of theerror.” • Leadsto a host of otherpatterns

  10. Architekturális mintanyelv

  11. Redundancy • Assumption: errorprocessingusuallystopsnormalexecution • Howcanwereducetheamount of timebetweenerrordetection and theresumption of normaloperationaftererrorrecovery? • „Provideredundantcapabilitiesthatsupportquickactivationtoenableerrorprocessingtocontinuein parallel withnormalexecution.”

  12. Architekturális mintanyelv

  13. SomeoneinCharge • Anythingcan go wrong, evenduringerrorprocessing. Whenthishappensthesystemmight stop doingtheerrorprocessinginadditiontonotdoingthenormalprocessing. • „All fault tolerancerelatedactivitieshavesomecomponent of thesystemthat is clearlyincharge and has theabilitytodeterminecorrectcompletion and theresponsibilitytotakeactionifitdoesnotcompletecorrectly.”

  14. SomeoneinCharge • N.B. doesnotpromote a global SPOF • Onthecontrary, seeescalation • Example (Action / InCharge): • Checkpoint / eachtask • Rollback and roll forward / component R • Loadshedding / component S • Also: voting / leaderselectiontechniques

  15. Architekturális mintanyelv

  16. Minimize Human Intervention • Howcanwepreventpeoplefromdoingthewrongthings and causingerrors? • „Design thesystemin a waythatit is abletoprocess and resolveerrorsautomatically, beforetheybecomefailures. Thisspeedserrorrecovery and reducestherisk of proceduralerrors.”

  17. Minimize Human Intervention • How? • Makesureallerrorsarereportedtothe Fault Observer • Indiv. componentsdonottalktotheoutsideworld • Concentrate output and input • Design automatic F/E/F, detection, processing, treatment

  18. Architekturális mintanyelv

  19. Maximize Human Participation • Shouldthesystemignorepeopletotally? Thatwillreduceproceduralerrors. • „Knowtheuser and theiravailability. Design thesystemtoenableknowledgeableoperatingpersonneltoparticipate. […] ProvideappropriateMaintenanceInterfaces and Fault Observercapabilities […]”

  20. Architekturális mintanyelv

  21. Escalation • Whatdoesthesystemdowhenitsattempttoprocess an errorin a component is notacheivingthecorrecteffect? • „Whenrecoveryormitigation is failing, escalatetheactiontothenext more drasticaction.”

  22. Architekturális mintanyelv

  23. Fault Observer • Coordinatereportingtoallobserversthat a fault is present, reported, and recoveryactionsescalated.

  24. Architekturális mintanyelv

  25. MaintenanceInterface • Shouldmaintenance and applicationrequests be intermingledontheapplication input and output channels? • „Provide a separateinterfacetothesystemforthe (almost) exclusiveuse of maintenanceinteractions.”

  26. Detektálási minták

  27. Fault Correlation • Hol találkoztunk ezzel korábban? • Mit jelentett a korreláció? • Példák? • Figyelem: ez egy nagy terület, a minta csak a szükségességéről beszél (~ „kell diagnosztika”) • Topológia-alapú megközelítések • Dinamikus modellezés: automaták, nyelvek • Statikus modellezés: terjedési relációk • Tanuló módszerek • … • Diagnosztika-elmélet: később

  28. Fault Correlation • What fault is activating? • „Lookattheuniquesignature of theerrorto sort itintothe fault categoryforwhicherrorprocessingstepsareknown.”

  29. Fault correlation • Gyakorlat-féle: adott egy topológia (DAG) és a szolgáltatási szintű hibahatások helyei. Lehetséges hibaok-helyek halmaza…? • Algoritmus? • Komplexitás? • Véges automata hibahelyekkel és mondat „hibás kimenettel”. Melyik (hibás) állapotokat érinthettük?

  30. Mi a közös bennük? • „Bus Guardian” TT architektúrákban • Try/catch blokk • Desktop vírusvédelem

  31. Detektálási minták

  32. ErrorContainmentBarrier • What is thefirstthingthatthesystem must dowhenitdetects an error? • „Isolatetheerrorto a unit of mitigation. Stop theerror flow with a barrier, quarantine and initiateeithererrorrecoveryorerrormitigation.”

  33. Detektálási minták

  34. Completeparameterchecking • Howcanthetimefrom fault activationtoerrordetection be minimized? • „Performfrequentchecksondata and operationstodetecterrorsquicklyandpreventerrorsfrompropagatingtothe rest of thesystem.” • More specifically, checkalltheinputs and parametersrigorously. • Level/granularity: design decision

  35. Completeparameterchecking • Hogyan ellenőrizzük ezt? • A = B / C ;

  36. Detektálási minták

  37. System Monitor • Howdoesone part of a systemkeeptrackthatanother part is alive and functioning? • „Create a Monitor tostudysystembehavior, orthebehavior of specificpartsofthesystemtomakesurethattheycontinueoperatingcorrectly. Whenthewatchedcomponents stop, the monitor shouldreporttheoccurencetothe Fault Observer and initiatecorrectiveactions.”

  38. System Monitor • Célja alapvetően a rendszerszinten manifesztálódó hibás állapotok felderítése. • A „hogyan” mind a detektálás, mind a javítás esetében nyitva marad, persze.

  39. Detektálási minták

  40. Hogyan nézzük meg, hogy egy szolgáltatás működik-e? • Potenciális problémák pl.: • „ritkás” munkavégzés • normál működés más csatornán zajlik

  41. Heartbeat • How does the System Monitor know that a particular monitored task is still working? • „The System Monitor shouldsee a periodicheartbeatfromthemonitoredtask. Ifthemonitoredtaskdoesnotsupply a heartbeatresponsewithintherequiredtimethenrecoveryactionshould be taken.” • Variants: autonomous / request-response • Végül is ez is heartbeat ebben az értelemben:

  42. Detektálási minták

  43. Acknowledgement • Whenthere is a dialogbetweentwotasks, what’stheeasiestwayforonetasktodeterminethattheothertask is alive and functioning? • „Send an acknowledgement for all requests. Allrequestsshouldrequire a replytoacknowledgereceipt and toindicatethatthemonitoredsystem is alive and abletoadheretotheprotocol. […]”

  44. Acknowledgement • Hasznos minta, de ésszel alkalmazandó. Mikor ellenjavallott?

  45. Detektálási minták

  46. Realistic Threshold • Howmuchtimeshouldelapsebeforethe System Monitor takesactionwhen an error is detected? • Whycanthis be a problem? • Terminology • Messaginglatency • Detecionlatency

  47. RealisticTreshold • „SetthemessaginglatencybasedupontheworstcasecommunicationstimecombinedwiththetimerequiredtoprocessoneHeartbeatmessage. • Setthedetectionlatencybaseduponthecriticality of thefunctionality. Makeit a multiple of themessaginglatency. • Setthemsothattheavailabilityrequirement is met, yetfalsetriggersdonotoccur.” (restarttime!)

  48. Detektálási minták

  49. ExistingMetrics • Howtomeasuretheseverity of an overloadwithoutcontributingtotheoverload? • „Usepre-existingindicatorsalready tied totheresourceas an indicator of thesystem’soverloadcondition.” • Példa?

More Related