Reducing Server and Network Load with Shared Buffering
description
Transcript of Reducing Server and Network Load with Shared Buffering
Reducing Server and Network Load with Shared BufferingSomaya Arianfar, Pasi Sarolahti, Jörg OttAalto University
10.12.2012CSWS’12, Nice, France
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Outline
• Background and problem statement• Goals• Design
– Byte stream buffering– Store-me bits– Load Control Architecture – Receiver-based Transport Protocol
• Summary
2
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Background
3
Server
Client 1
Client 2
Client 3
Bottleneck
Flow 1 proxy and serverFlow 2 Client 1 and proxy
Flow 3 Client 2 and proxy
Flow 4 Client 3 and proxy
Flow 5 Client 4 and server
Proxy Server
Client 4
Object A
Object A
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Background
4
Client 1
Client 2
Client 3
Client 4
Server
CDN
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Problem Statement
• Sudden traffic spikes
– Application specific solutions
– No CDN agreements => server goes down• E.g. links from Dig and Twitter
– Proxy’s violation from end-to-end argument• E.g. Security issues
5
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Main goals
• Application independence
• Object size independence
• Segmentation and network independence
6
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Design: Byte Stream Buffering
7
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Design: Store-me bits and load control
8
Server
Client 1 PolicerBuffering node
Store-meStore-meAck Store-meStore-me OverloadAck, Overload Store-meOverloadAck, Overload
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Design: Receiver-based Transport Protocol
• Stream label– 20-bytes unique Id
• Sequence Number– 64-bits offset
• Checksum– Cumulative from the beginning of the stream
9
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Application Interface
10
Server
Client 1
Get(fd, “http”, “address.com”, <label> )
Request(“http”, <label>, 0-1460 )
Write(Data,0-1460 )
Data(“http”, <label>, 0,<data>)
Read(fd, <data>)
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Initial Evaluations
11
Reducing Server and Network Load with Shared Buffering
© Somaya Arianfar 2012
Summary
• Storage sharing in the network
• Application independent stream buffering
• Load controlled architecture
• Pull-based transport protocol
12
Questions?
Thanks!