Knowledge is Imperfect A CTING ON S TALE , I NCONSISTENT OR M ISSING - - PowerPoint PPT Presentation

knowledge is imperfect
SMART_READER_LITE
LIVE PREVIEW

Knowledge is Imperfect A CTING ON S TALE , I NCONSISTENT OR M ISSING - - PowerPoint PPT Presentation

Knowledge is Imperfect A CTING ON S TALE , I NCONSISTENT OR M ISSING D ATA U LF W IGER , F EUERLABS , I NC . GOTO Aarhus 2013 Wednesday, 2 October 13 Outline War stories No code, no algorithms, no Hadoop Thoughts The


slide-1
SLIDE 1

Knowledge is Imperfect

ACTING ON STALE, INCONSISTENT OR MISSING DATA

ULF WIGER, FEUERLABS, INC.

GOTO Aarhus 2013

Wednesday, 2 October 13

slide-2
SLIDE 2

Outline

War ¡stories No ¡code, ¡no ¡algorithms, ¡no ¡Hadoop Thoughts The ¡code ¡may ¡well ¡be ¡broken ¡before ¡it’s ¡even ¡wri<en

2

Crimson Tide (1995) 1:21:26

Wednesday, 2 October 13

slide-3
SLIDE 3

Experience

Wednesday, 2 October 13

slide-4
SLIDE 4

Alaskan Adventure

Worked ¡on ¡military ¡Command ¡& ¡Control and ¡Emergency ¡Response ¡in ¡Alaska ¡1989–1995 The ¡core ¡of ¡Command ¡& ¡Control ¡is ¡control ¡of ¡informaAon “Where ¡are ¡my ¡assets, ¡and ¡what ¡is ¡their ¡status?” ¡(Col ¡Shepherd) Near ¡Real-­‑Ame World-­‑wide No ¡single ¡point ¡of ¡failure Pull ¡informaAon ¡from ¡any ¡source

4 Wednesday, 2 October 13

slide-5
SLIDE 5

Ericsson adventure

13 ¡years ¡building ¡telephony ¡systems ¡at ¡Ericsson World’s ¡first ¡carrier-­‑grade voice-­‑over-­‑packet ¡systems

5

[1]

Wednesday, 2 October 13

slide-6
SLIDE 6

Feuerlabs Adventure—ongoing

“ConnecAng ¡the ¡Internet ¡of ¡Things™” Building ¡modern ¡Connected-­‑Device ¡Management ¡services

6 Wednesday, 2 October 13

slide-7
SLIDE 7

Traits

Wednesday, 2 October 13

slide-8
SLIDE 8

C2: Distinctive Challenges

Assume ¡enemy... acFvely ¡tries ¡to ¡destroy ¡your ¡infrastructure acFvely ¡feeds ¡you ¡misleading ¡informaFon Deploy ¡anywhere, ¡anyAme Fallback: ¡fully ¡manual Mess ¡up—people ¡die!

8

US Marines CAC2 System

Wednesday, 2 October 13

slide-9
SLIDE 9

Solutions (then)

No ¡single ¡point ¡of ¡failure Full ¡asynchronous ¡replicaFon ¡(40 ¡sites) SynchronizaAon Control ¡access; ¡strict ¡ownership Rely ¡on ¡model ¡for ¡manual ¡operaFon Split ¡brain Site-­‑specific ¡data ¡cached ¡at ¡remote ¡sites Limited ¡connecAon ¡speed ¡(down ¡to ¡19.2 ¡KBps) Priority-­‑based ¡replicaFon

9 Wednesday, 2 October 13

slide-10
SLIDE 10

Telecom: Special Challenges

Ubiquitous ¡service People ¡expect ¡it ¡to ¡always ¡work Emergency ¡calls Should ¡be ¡serviced ¡even ¡during ¡extreme ¡overload “User-­‑friendly” ¡failure ¡modes Few ¡seconds ¡setup ¡Fme Echo ¡cancellaFon, ¡speech ¡quality, ¡tolerable ¡delays Legacy GeneraFons ¡of ¡hardware, ¡soSware, ¡protocols

10 Wednesday, 2 October 13

slide-11
SLIDE 11

Device Management Challenges

InformaAon ¡access ¡& ¡quality RPC ¡validaFon Config ¡data ¡consistency SW ¡status ¡(OTA ¡upgrades) User ¡requirements ¡unclear ConnecFon ¡quality/cost Remote ¡probes Sandboxing/security Fail/retry/Fmeout

11 Wednesday, 2 October 13

slide-12
SLIDE 12

Decision Support

Wednesday, 2 October 13

slide-13
SLIDE 13

Decision Support Basics

The ¡Four ¡Ws: Who ¡reported? What ¡happened? When ¡did ¡it ¡happen? Where ¡did ¡it ¡happen? (The ¡Why ¡is ¡saved ¡for ¡post-­‑mortem)

13 Wednesday, 2 October 13

slide-14
SLIDE 14

The Who

Affects ¡our ¡level ¡of ¡trust SomeFmes, ¡deliberate ¡misinformaFon Other ¡Fmes, ¡you ¡take ¡what ¡you ¡can ¡get

14 Wednesday, 2 October 13

slide-15
SLIDE 15

The What

Surprisingly ¡hard ¡to ¡report ¡sufficient ¡informaAon Missing ¡data ConflicAng ¡data Incorrect ¡data

15 Wednesday, 2 October 13

slide-16
SLIDE 16

Abstractions

Different ¡views ¡for ¡different ¡roles AggregaAon ¡/ ¡Drill-­‑down

16 Wednesday, 2 October 13

slide-17
SLIDE 17

Ulf’s Law of Information Management

The ¡key ¡informaAon ¡flow ¡in ¡any ¡organizaAon ¡is ¡boeom-­‑up Not ¡managers ¡telling ¡workers ¡what ¡they ¡should ¡know Keep ¡low-­‑level ¡informaAon, ¡aggregate ¡up Allow ¡digging ¡into ¡details ¡as ¡needed Many ¡bad ¡decisions ¡are ¡based ¡on ¡missing ¡or ¡misleading ¡data The ¡ability ¡to ¡shape ¡data ¡for ¡reporFng ¡is ¡a ¡power ¡factor AutomaFon ¡can ¡miFgate ¡this

17 Wednesday, 2 October 13

slide-18
SLIDE 18

The ‘What’ for Developers

What ¡are ¡we ¡going ¡to ¡build? OSen ¡surprisingly ¡vague

18

An organization loses its intuition when the person who has the answer isn’ t talking to the person who has the question (Tim Berners Lee, “Weaving the Web”- from memory)

Wednesday, 2 October 13

slide-19
SLIDE 19

Dealing with requirements

Agile ¡methods ¡great ¡for ¡boeom-­‑up ¡development Sogware ¡development ¡is ¡a ¡top-­‑down ¡/ ¡boeom-­‑up ¡acAvity Tony ¡Hoare’s ¡Turing ¡Award ¡Speech: One ¡man/group ¡whose ¡purpose ¡is ¡to ¡understand what ¡is ¡being ¡done, ¡and ¡why

19 Wednesday, 2 October 13

slide-20
SLIDE 20

Specifications

If ¡you ¡have ¡specs—make ¡the ¡most ¡of ¡them Generate ¡code, ¡test ¡input, ¡spec-­‑driven ¡validaFon Ogen, ¡you’ll ¡find ¡that ¡the ¡spec ¡is ¡broken

20

¡ ¡ ¡STR ¡::= ¡< ¡Diameter ¡Header: ¡275, ¡REQ, ¡PXY ¡> ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡< ¡Session-­‑Id ¡> ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡{ ¡Origin-­‑Host ¡} ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡{ ¡Origin-­‑Realm ¡} ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡{ ¡Destination-­‑Realm ¡} ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡{ ¡Auth-­‑Application-­‑Id ¡} ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡{ ¡Termination-­‑Cause ¡} ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[ ¡User-­‑Name ¡] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[ ¡Destination-­‑Host ¡] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡* ¡[ ¡Class ¡] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[ ¡Origin-­‑AAA-­‑Protocol ¡] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[ ¡Origin-­‑State-­‑Id ¡] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡* ¡[ ¡Proxy-­‑Info ¡] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡* ¡[ ¡Route-­‑Record ¡] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡* ¡[ ¡AVP ¡] (From rfc4005_nas.dia Erlang/OTP’s Diameter application)

Wednesday, 2 October 13

slide-21
SLIDE 21

Trust/verify

Trust ¡(assert) ¡data ¡from ¡internal ¡users Check ¡data ¡from ¡external ¡users ¡(specificaAon-­‑driven)

21

Verify Trust

Wednesday, 2 October 13

slide-22
SLIDE 22

The When

InformaAon ¡grows ¡stale LifeAme ¡indicators? Persistency How ¡long ¡should ¡data ¡live?

“Unknown” ¡is ¡a ¡useful ¡indicator

22

[2]

Wednesday, 2 October 13

slide-23
SLIDE 23

Modeling data lifetimes

Don’t ¡mix ¡persistent ¡and ¡transient ¡data Persistency ¡levels replicated ¡disk replicated ¡RAM replicaFon ¡factor Erlang-­‑style lightweight ¡processes automaFc ¡GC single-­‑assignment messaging

23

Transient request processes

Wednesday, 2 October 13

slide-24
SLIDE 24

The Where

In ¡Emergency ¡Response—obviously ¡important In ¡tech, ¡the ¡Where ¡can ¡someAmes ¡be ¡inferred But ¡absence ¡of ¡signal ¡is ¡hard ¡to ¡interpret

24

[3] [4]

Wednesday, 2 October 13

slide-25
SLIDE 25

Diagnosing absence of signal

“Virtual ¡Device” InformaAon ¡back-­‑door

25

VDP

Control Data Backplane

VDP

Status (TCP/IP) (UDP) Distributed Erlang

Wednesday, 2 October 13

slide-26
SLIDE 26

Knock-out Units

= ¡The ¡amount ¡of ¡service ¡that ¡can ¡be ¡lost ¡in ¡a ¡crash You ¡will ¡lose ¡service—plan ¡for ¡it! Beeer ¡to ¡fail ¡disAnctly ¡than ¡to ¡pretend ¡to ¡funcAon Invariants: ¡If ¡they ¡fail, ¡all ¡bets ¡are ¡off

26

Connection fan-out Replication messages in-flight

Wednesday, 2 October 13

slide-27
SLIDE 27

Let it Crash.... or Try for a Result?

TempAng ¡to ¡always ¡deliver ¡a ¡preey ¡result A ¡result ¡that ¡looks ¡right, ¡while ¡erroneous, is ¡ogen ¡worse ¡than ¡no ¡result ¡at ¡all

27

[5]

Wednesday, 2 October 13

slide-28
SLIDE 28

Conclusion

As ¡programmers, ¡we ¡someAmes ¡forget ¡to ¡model ¡failure Key ¡is ¡to ¡think ¡of ¡informaAon ¡quality Data ¡lifeFme Data ¡loss ¡potenFal What ¡data ¡do ¡I ¡need ¡for ¡recovery? What ¡failures ¡can ¡we ¡discern? What ¡interrupFons ¡are ¡acceptable? What ¡do ¡our ¡users ¡expect? Invariants

28 Wednesday, 2 October 13

slide-29
SLIDE 29

Questions?

29

[1] ¡hep://evaluaAon.nbu.bg/pub/NGN_MP_e_book_CD/DL_NGN_2004%20Module %205/Module%205/1.7%20sogswithces.htm [2] ¡hep://docs.nimsog.com/prodhelp/en_US/Probes/Catalog/nas/3.6/index.htm? toc.htm?1942450.html [3] ¡hep://labs.vmware.com/vmtj/an-­‑anomaly-­‑event-­‑correlaAon-­‑engine-­‑idenAfying-­‑ root-­‑causes-­‑boelenecks-­‑and-­‑black-­‑swans-­‑in-­‑it-­‑environments [4] ¡hep://news.techeye.net/sogware/bespoke-­‑os-­‑blip-­‑caused-­‑chaos-­‑in-­‑the-­‑air [5] ¡hep://www.theregister.co.uk/2013/08/06/

Wednesday, 2 October 13