qos for web applications velocity eu 2011
play

QoS for (Web) Applications Velocity EU 2011 Intelligent Self - PowerPoint PPT Presentation

QoS for (Web) Applications Velocity EU 2011 Intelligent Self Activity Regulated Metering Software Signals & Control william.louth@jinspired.com Self Adaptive Software Self Adaptive Software evaluates its own behavior and changes


  1. QoS for (Web) Applications Velocity EU 2011 Intelligent Self Activity Regulated Metering Software Signals & Control william.louth@jinspired.com

  2. Self Adaptive Software “Self Adaptive Software evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible.” DARPA

  3. Feedback Loops Evidence Observation 1 Self Regulated 4 2 Action Feedback Loop Relevance Reaction Judgement 3 Consequence Evidence, Relevance, Conseqence, Action

  4. Self Observation Observe & Optimize Control & Collect Measure Observe, Optimize, Control, Collect

  5. Self Control Disturbances Goals Tolerance Threshold Metering AutoTune AutoTune Control Process Controller Probe Run Reading AutoTune Sensor Monitor Control, Process, Sensor

  6. DIRT - Data in Realtime Local Past Predicted Remote Present Remote, Past, Local, Present, Predicted

  7. 99.9999% => PP.PPPP Profile Protect Police Prioritize Predict Provision Profile,Protect,Police,Prioritize,Predict,Provide

  8. Profile instrument, measure, and collect performance data for a significant portion of an application code base

  9. Protect supervisory routines that are embedded into the runtime to govern the execution flow & consumption of resources

  10. Police watching for non-compliant behavior & taking corrective measures to enforce call flow contracts and agreements

  11. Prioritize differentiating the quality of service that is offered to applications, activities and actors

  12. Predict controllers that use past & current in-flight data & models to predict behavior & consumption and then to optimize

  13. Provide resource capacity planning based on inflight activities & predicted their predicted requirements - in internet time

  14. QoS for Networks “The ability of the network to provide better or “special” service to a set of packets/dataflows to the detriment of other packets/dataflows”

  15. Traffic Characteristics Bandwidth the number of bits per second that can be expected to be transmitted Delay the elapse time between when a packet is first sent and when it arrives Jitter the variation in the arrival rate, or delay introduced, of packets sent at a uniform rate Packet loss all routers lose, drop of discard packets for a number of reasons

  16. Traffic Planning Identify traffic and its requirements in terms of service levels Divide and Associate traffic into classes of service levels Define policies for each class of service level which cause some change in the traffic characteristic mentioned previously

  17. Traffic Service Classification differentiating one packet from another by examining fields inside of the packet’s header in some cases this classification is performed automatically and adaptively based on traffic patterns and resource consumption behavior

  18. Traffic Congestion Management using queues and schedulers which split traffic across queues and schedulers based on service classification associated with a packet or flow

  19. Traffic Policing and Shaping Policing traffic contracts which define how much data can be sent Shaping smoothing the peaks & troughs of data transmission in order to optimize or guarantee performance & bandwidth.

  20. QoS for Applications “The ability of the runtime to provide better or “special” service to a set of calls/threads to the detriment of other calls/threads”.

  21. Call Characteristics Throughput the number of requests/calls per second that can expect to receive a valid response Response Time the time between a request/call is sent (received) & when it’s response is received (sent) Response Time Variation the variation in the response time of requests/calls Exceptions & Errors faults can occur in runtimes such as timeouts caused by contention and corruption

  22. Call Planning Identify request/call patterns and their requirements in terms of service levels Divide and Associate request/call patterns into classes of service levels. Define policies for each class of service level which cause some change in the request/call characteristic mentioned previously

  23. Call Service Classification differentiation is typically done by examining the execution context associated with a request/call

  24. Call Congestion Management managed using concurrency and control constructs such as semaphores/latches/locks which are generally backed by implicit or explicit queues consisting of parked threads during contention

  25. Call Policing & Shaping Policing call contracts which define how many calls can be sent Shaping it tries to conform the call rate to the call contract using some form of delay mechanism such as waiting and parking

  26. Network-to-Application Mapping Network Application Packet Call Flow Thread Router Method Datalink Call Site Buffer Resource Queue Semaphore

  27. The Application is the Network code execution point (method, call site, activity) bottleneck point (consumption, coordination, contention) code execution flow path QoS service (re-)classification point QoS reservation extension or (re-)prioritization point QoS queuing, prioritization, rate limiting

  28. Activity Based (Resource) Metering metering has the potential to revolutionize the software design, development, testing, and management a metering standard would define a model, concepts and mechanism which can be used across languages and processing boundaries to control and cost consumption

  29. Methods of Measurement Method Metering Metric Analysis Causality Correlation Accuracy Event Sampled Allocation Thread Process Assignment Direct Apportioned

  30. Metering Measurement Model Model Activity Resource Device Probe Meter Develop Code Counter Design Behavior Usage Data Group Metering

  31. QoS Enablement public int func(...) { QoS Resource ...... reserve(func) ........ ......... Rate ......... ...... Limiting ........ ... Priority ..... Queueing release(units) ... } Reservation Lanes

  32. Demo: Prioritization Ln: Pool L4: L3: L2: L1:

  33. Demo: Resource Reservation Give Take Permit Pool

  34. Demo: Rate Limiting “Leaky” Bucket

  35. QoS Reservation Lanes lane #1 within range priority not in range level capacity limit resource lane #2 pool within range not in range within range lane #N

  36. Fairer Web Page Servicing with Performance Credits User WebPage Resource

  37. Fairer Web Page Servicing with Performance Credits

  38. A Cloud Cortex PaaS Application Open API Chargeback Context APM Open Open Extensions CARS Metering BI Plugins API API QoS Open Consumption Control API PaaS Runtime APM: Application Performance Management CARS: Cost Aware Runtimes & Services BI: Business Intelligence QoS: Quality of Service

  39. ☁ ☁ ☁ ☁ ☁ Cloud Services Response Client salesforce.com cl ☁ sf sf:clock.time= sf:cpu.time= sf:io.bytes= sf:charge.unit= db sf:db.time= sf:db.count= s3:clock.time= sf://.......... s3:io.bytes= s3:charge.unit= cl:clock.time= Response sf:clock.time= s3:clock.time= sf:cpu.time= s3:io.bytes= sf:io.bytes= s3:charge.unit= sf:charge.unit= s3 sf:db.time= sf:db.count= s3:clock.time= aws.amazon.com s3:io.bytes= s3:charge.unit= Metering Management Service

  40. More Information http://opencore.jinspired.com

Recommend


More recommend