granular compu,ng and network intensive applica,ons...
TRANSCRIPT
GranularCompu,ngandNetworkIntensiveApplica,ons:FriendsorFoes?
ArjunSinghvi,SujataBanerjee,YotamHarchol,AdityaAkella,MarkPeek,PontusRydin
Evolu,onofCompu,ngServices
BareMetal
GranularServerlessCompu,ng
Decreaseuserinvolvementinmanagementtasks
Allowmoreuserfocusonapplica,onlogic
VirtualMachines Containers
ProgrammingParadigmShiL
Tradi,onal
MonolithicApplica,on
Serverless
Collec,onofFunc,ons
ServerlessCompu,ngControlFlow
Upload your function to the
serverless computing platform
and register for event-based
triggers
Execution is triggered when an
event occurs
Platform runs your function
ONLY when triggered
Pay just for the computation time
ServerlessCompu,ngBuildingBlocks
Func,onScheduler
f()KeyValueStore
BlobStore
ServerlessFunc,onsare
Stateless!
ServerlessCompu,ngPlaSorms
UW-Madison
Amazon Google MicrosoL IBM
VMware
ResearchonServerlessCompu,ng
• VideoProcessingApplica,ons– ExCamera(NSDI’17)
• DistributedCompu,ngApplica,ons– PyWren(SoCC’17)
• NetworkIntensiveApplica,ons->NetworkFunc,ons– OurWork(HotNets‘17)
NetworkFunc,ons
• Examineandperformstatefulac,onsonpackets/flows
• Ensuresecurity,improveperformanceandprovideothernetwork-relatedfunc,onality
• Lieinthecri,calpathbetweensourceanddes,na,on
• Shouldbecapableofhandlingpacketburstsandfailures
CacheIDSFirewall LoadBalancer
NetworkFunc,onsStateTaxonomy
StatecreatedorupdatedbyanNFappliestoeitherasinglefloworacollec,onofflows
Connec,on
Connec,on
TcpAnalyzer
HbpAnalyzer
TcpAnalyzer
HbpAnalyzer
Per-flowstate
ConnCount
Cross-flowstate
Intrusiondetec,on
system(IDS)
Cachingproxy
NetworkFunc,onsVirtualiza,on
• Leveragecloudcompu,ngandSDNinTelcoinfrastructures– U,lizecommodityhardware– Reducecosts– DynamicallyallocateNFinstances– Introducenewservicesfast
Hypervisor
WhyNetworkFunc,ons?
• NetworkFunc,onsareademandingclassofapplica,ons
• TrendofpushingNetworkFunc,onstothecloud– APLOMB(SIGCOMM‘12),EMBARK(NSDI‘16),AT&TDomain2.0
• Inthefuture,ifserverlesscompu,ngbecomesthede-factocloudstandard
Whyisitchallengingtorunnetworkfunc,onsatopserverless
compu,ngplaSorms?
Short-lived
Stateless
Nosupportforefficientchaining
NoQoS
guarantees
Long-lived
Stateful
Needsefficientchaining
NeedQoSguarantees
ServerlessCompu,ng NetworkFunc,ons
Foes?
Whatopportuni,esdoserverlesscompu,ngplaSormsprovideto
runnetworkfunc,ons?
• NetworkFunc,onsVision–Micro-servicebasedarchitecturethatscalesdynamically– Beberresourceu,liza,on– Scalecomponentsindependently– Reuseacrosschains– Reducethecosts
• ServerlessCompu,ngprovidesthebuildingblocks– Hasthecapabilitytoscalebasedonload– Encouragesdeveloperstodesigntheirapplica,onsintermsofmicro-services
– Reducesthecosts
Friends?
40Gbps
Firewall
HourlyCost
$8
60¢
ServerlessPacketProcessingDesign
• Whatisthegranularityatwhichwewanttolaunchlambdas?
LambdaScheduler
• NotviableCostPerformance
Per-packet
ServerlessPacketProcessingDesign
• Whatisthegranularityatwhichwewanttolaunchlambdas?Per-flow
LambdaScheduler
Packets flow
Processes Packets
Coordinator
Gateways
RemoteDatastore
Per-flowVs.Per-packet• Pros–
– Costeffec,ve– Statemanagementeasier
• Cons–– Needsaddi,onalinfrastructuretocoordinatelaunchingofnewlambdas
– Cannotna,velyleveragewhatserverlessplaSormsprovides
AWSLambdaBenchmarkingStudy
• WithinanAWSregion• EC2VMsactasTCPtrafficsourcesandsinks• ThreeClick-basedNFs–
– PacketCounter– Firewall– IntrusionDetec,onSystem
AWSLambda–NetworkProvisioning
128M 256M 512M 1GB 1.5GLambda Memory Size
400420440460480500520540560
Band
widt
h (M
bps)
OutboundInbound
Bidirec,onalBandwidthofaround500Mbps
VM
1 2 3 4 5 6 7 8Simultaneous Request Count
500
1000
1500
2000
2500Th
roug
hput
(Mbp
s)
• Bandwidthdoesnotscalelinearly• Noperlambdarequestnetworkguarantees
AWSLambda–NetworkProvisioning
AWSLambda–ChainingOverhead
Highchainingoverheadobserved
1 2 3 4Lambda Chain Length
0
100
200
300
400
500
600
Ove
rhea
d (m
s)
AWSLambda–NFFramework
Modestresults;butgiveusahopeastowhatfutureserverlessplaSormsmayenable
SourceGateway
SinkGateway
Conclusion
• ServerlessCompu,ngPlaSormsarenotperfectyet–arecon,nuouslyevolving!
• Packetprocessingapplica,onsarenotanaturalfit;need–– Efficientin-networktriggers– Efficientchainingsupport– Bandwidthguarantees
OpenQues,ons
• Scalableremotestorageservicethatmeetsourrequirements?
• Beberfaulttolerancesupport?• Fastercontrolplanedecisions?• Andmanymore…Howtoeffec:velysupportdemandingstateful
applica:onsatopserverlesspla@orms?