Top Banner
Wyatt Lloyd, Michael J. Freedman Princeton University TRODS Transparent Recovery for Object Delivery Services Presented at DSN-DCCS 2011 in Hong Kong on 6/28/11
36

Wyatt Lloyd, Michael J. Freedman Princeton University TRODS Transparent Recovery for Object Delivery Services Presented at DSN-DCCS 2011 in Hong Kong on.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Slide 1
  • Wyatt Lloyd, Michael J. Freedman Princeton University TRODS Transparent Recovery for Object Delivery Services Presented at DSN-DCCS 2011 in Hong Kong on 6/28/11
  • Slide 2
  • 2
  • Slide 3
  • 3
  • Slide 4
  • 4
  • Slide 5
  • Client Server Service Server Connection Recovered! 5
  • Slide 6
  • Object Delivery Services Read-Only Static Content Webpages, Images, Videos 6
  • Slide 7
  • Work Now Cant Modify Clients 7
  • Slide 8
  • Key Idea Coerce client to help To identify connections that need recovery To reliably store information Yet client is unmodified and unaware Exploit TCP spec to control clients stack 8
  • Slide 9
  • Object Delivery Cluster 9 Server Service Server Liveness Monitor Load Balancer
  • Slide 10
  • Failure 10 Server Service Server Liveness Monitor Load Balancer
  • Slide 11
  • TRODS 11 Client Server Service Server Liveness Monitor Load Balancer ?
  • Slide 12
  • TRODS 12 Client Server Service Server Liveness Monitor Load Balancer ? Store
  • Slide 13
  • Road to Recovery StepTechnique Redirect to live server.Liveness monitor updates load balancer Induce client to send packetCoerce clients TCP stack Continue Connection Determine PhaseUse packet + stored info Identify Object.Stored Info Find Offset..Use packet + stored info 13 New
  • Slide 14
  • Coercing Clients Always Leave A Packet Unacknowledged SYNSYN/ACKACKRequestResponse 1 ACKResponse 2 ACKResponse 3 FIN/ACKFIN Client Server 14 SYNRequest Retransmit Queue SYN/ACKResponse 1 Response 2 Response 3 FIN/ACK FIN ACK Always Something Here Exploit TCP Spec for Recovery Initiation!
  • Slide 15
  • Continuing the Connection Determine Phase: 1)TCP Setup 2)HTTP Setup 3)HTTP Download 4)TCP Teardown 15 TRODS Saves Info
  • Slide 16
  • Continuing the Download HTTP ObjectID Offset 16 = TCP Ack HTTP ObjectISN HTTP ObjectISNTCP Ack TCP ISN HTTP Resp Header HTTP Object
  • Slide 17
  • Continuing the Download HTTP ObjectID Offset 17 = TCP Ack HTTP ObjectISN HTTP ObjectISNTCP Ack TCP ISN HTTP Resp Header HTTP Object
  • Slide 18
  • Persistent Store Key-Value Store + Corner Cases Handled + Unlimited Objects Still Efficient (1 save only) TCP Timestamp + Very Efficient (1 machine only) 1 Million Object Limit Corner Cases 18 IPTCPPayload TSTS TSTS KV Exploit TCP Spec for Persistence!
  • Slide 19
  • Recover the Connection Initiate New Connection GET ObjectID Range: bytes=Offset- Splice Connections Together Works with Unmodified Servers! 19
  • Slide 20
  • TRODS 20 1)Packet Manipulation Server TCP IP TRODS IPTCPIPTCP
  • Slide 21
  • Server TCP IP TRODS 21 1)Packet Manipulation 2)Protocol Inspection Request ObjISN ObjID Response 1
  • Slide 22
  • Server TCP IP TRODS 22 1)Packet Manipulation 2)Protocol Inspection 3)Blocks Connection Response 1 ObjISNObjID
  • Slide 23
  • Server TCP IP TRODS 23 1)Packet Manipulation 2)Protocol Inspection 3)Blocks Connection 4)State Injection IPTCPIPTCP TSTS TSTS
  • Slide 24
  • TRODS 24 1)Packet Manipulation 2)Protocol Inspection 3)Blocks Connection 4)State Injection 5)Recovery Initiation Server TCP IP TRODS Ack ?
  • Slide 25
  • Server TCP IP TROD S Server TCP IP TROD S Server TCP IP TROD S Failure Walkthrough 25 Client Service Liveness Monitor Load Balancer KV Store IS N ID SYN ACK Request SYN/ACK Response 1
  • Slide 26
  • Server TCP IP TROD S Server TCP IP TROD S Failure Walkthrough 26 Client Liveness Monitor Load Balancer KV Store ACK Response 2 ? ! ACK Response 3 ACK Response 4 FIN ACK IS N ID Service
  • Slide 27
  • Related Work New Transport Trickles, SCTP, TCP Migrate, TCP FT-TCP, ST-TCP, Backdoors, HTTP CoRAL, 27
  • Slide 28
  • Implementation Linux Kernel Module 3,000 lines of C ~CoRAL Optimistic subset of CoRAL 28
  • Slide 29
  • Experiments Additional Latency Normal Failure Throughput Lighttpd @ Princeton Apache @ Emulab Hybrid TS & KV Throughput Failure 29
  • Slide 30
  • Normal Case Latency TRODS-TimeStamp (TS) Median: + 0.009 ms 99 th : + 0.012 ms TRODS-Key-Value (KV) Median: + 0.137 ms 99 th : + 0.148 ms 30
  • Slide 31
  • Recovery Latency 31 Blink of an eye ~35% ~50% ~15%
  • Slide 32
  • ThroughPut Per Server 32 120 ops/s Raw 30 ops/s Frontend 30 ops/s/server20 ops/s/serverTPPS
  • Slide 33
  • 33 KV/Server: 1/8KV/Server: 1/34KV/Server: 1/4KV/Server: 1/2 Lighttpd 9% 38% 7% 66%
  • Slide 34
  • 34 Apache
  • Slide 35
  • Summary Recover Object Delivery Connections Exploit TCP Specification to Coerce Clients To send recovery-starting packets To provide persistent storage Evaluation Low Latency High Throughput Per Server 35 Unmodified ^ ^
  • Slide 36
  • Summary Recover Object Delivery Connections Exploit TCP Specification to Coerce Clients To send recovery-starting packets To provide persistent storage Evaluation Low Latency High Throughput Per Server 36 Questions? Unmodified ^