SlideShare une entreprise Scribd logo
1  sur  83
Télécharger pour lire hors ligne
Achieving Rapid Response Times in
                               Large Online Services
                                     Jeff Dean
                                   Google Fellow
                                 jeff@google.com




Monday, March 26, 2012
Faster Is Better




Monday, March 26, 2012
Faster Is Better




Monday, March 26, 2012
Large Fanout Services
                                             query

                 Ad	 System          Frontend	 Web	 Server


                                          Super	 root                Cache	 servers




                                   News
                         Local
                                                             Video
       Images                                                        Blogs
                                                                                      Books

                                              Web




Monday, March 26, 2012
Why Does Fanout Make Things Harder?
        • Overall latency ≥ latency of slowest component
              – small blips on individual machines cause delays
              – touching more machines increases likelihood of delays


        • Server with 1 ms avg. but 1 sec 99%ile latency
          – touch 1 of these: 1% of requests take ≥1 sec
          – touch 100 of these: 63% of requests take ≥1 sec




Monday, March 26, 2012
One Approach: Squash All Variability
        • Careful engineering all components of system

        • Possible at small scale
              – dedicated resources
              – complete control over whole system
              – careful understanding of all background activities
              – less likely to have hardware fail in bizarre ways

        • System changes are difficult
              – software or hardware changes affect delicate balance

               Not tenable at large scale: need to share resources


Monday, March 26, 2012
Shared Environment
        • Huge benefit: greatly increased utilization

        • ... but hard to predict effects increase variability
             – network congestion
             – background activities
             – bursts of foreground activity
             – not just your jobs, but everyone else’s jobs, too


        • Exacerbated by large fanout systems




Monday, March 26, 2012
Shared Environment




                                Linux


Monday, March 26, 2012
Shared Environment




                          file system
                         chunkserver
                                   Linux


Monday, March 26, 2012
Shared Environment




                          file system   scheduling
                         chunkserver      system
                                   Linux


Monday, March 26, 2012
Shared Environment




                               various other
                              system services
                          file system   scheduling
                         chunkserver      system
                                   Linux


Monday, March 26, 2012
Shared Environment




                                          Bigtable
                                        tablet server

                               various other
                              system services
                          file system   scheduling
                         chunkserver      system
                                   Linux


Monday, March 26, 2012
Shared Environment



                           cpu intensive
                                job
                                             Bigtable
                                           tablet server

                               various other
                              system services
                          file system      scheduling
                         chunkserver         system
                                    Linux


Monday, March 26, 2012
Shared Environment



                           cpu intensive
                                job
                            random           Bigtable
                         MapReduce #1      tablet server

                               various other
                              system services
                          file system      scheduling
                         chunkserver         system
                                    Linux


Monday, March 26, 2012
Shared Environment


                                   random
                                   app #2
                           cpu intensive        random
                                job               app
                            random           Bigtable
                         MapReduce #1      tablet server

                               various other
                              system services
                          file system      scheduling
                         chunkserver         system
                                    Linux


Monday, March 26, 2012
Basic Latency Reduction Techniques
        • Differentiated service classes
              – prioritized request queues in servers
              – prioritized network traffic


        • Reduce head-of-line blocking
              – break large requests into sequence of small requests


        • Manage expensive background activities
              – e.g. log compaction in distributed storage systems
              – rate limit activity
              – defer expensive activity until load is lower


Monday, March 26, 2012
Synchronized Disruption
        • Large systems often have background daemons
              – various monitoring and system maintenance tasks


        • Initial intuition: randomize when each machine
          performs these tasks
              – actually a very bad idea for high fanout services
                    • at any given moment, at least one or a few machines are slow


        • Better to actually synchronize the disruptions
              – run every five minutes “on the dot”
              – one synchronized blip better than unsynchronized



Monday, March 26, 2012
Tolerating Faults vs. Tolerating Variability
        • Tolerating faults:
              – rely on extra resources
                    • RAIDed disks, ECC memory, dist. system components, etc.
              – make a reliable whole out of unreliable parts


        • Tolerating variability:
              – use these same extra resources
              – make a predictable whole out of unpredictable parts


        • Times scales are very different:
              – variability: 1000s of disruptions/sec, scale of milliseconds
              – faults: 10s of failures per day, scale of tens of seconds



Monday, March 26, 2012
Latency Tolerating Techniques
        • Cross request adaptation
              – examine recent behavior
              – take action to improve latency of future requests
              – typically relate to balancing load across set of servers
              – time scale: 10s of seconds to minutes


        • Within request adaptation
              – cope with slow subsystems in context of higher level
                request
              – time scale: right now, while user is waiting




Monday, March 26, 2012
Fine-Grained Dynamic Partitioning
        • Partition large datasets/computations
              – more than 1 partition per machine (often 10-100/machine)
              – e.g. BigTable, query serving systems, GFS, ...




            Master

                           17         9

                           1          3    2           8         4   12         7
                                ...            ...         ...            ...
                          Machine 1       Machine 2   Machine 3      Machine N



Monday, March 26, 2012
Load Balancing
        • Can shed load in few percent increments
             – prioritize shifting load when imbalance is more severe




            Master

                         17         9

                         1          3    2         8         4   12         7
                              ...            ...       ...            ...



Monday, March 26, 2012
Load Balancing
        • Can shed load in few percent increments
             – prioritize shifting load when imbalance is more severe




            Master

                          17         9

                           1         3    2         8         4   12         7
                               ...            ...       ...            ...
                         Overloaded!



Monday, March 26, 2012
Load Balancing
        • Can shed load in few percent increments
             – prioritize shifting load when imbalance is more severe




            Master

                          17

                           1         3    2         9   8         4   12         7
                               ...            ...           ...            ...
                         Overloaded!



Monday, March 26, 2012
Load Balancing
        • Can shed load in few percent increments
             – prioritize shifting load when imbalance is more severe




            Master

                         17

                         1          3    2         9   8         4   12         7
                              ...            ...           ...            ...



Monday, March 26, 2012
Speeds Failure Recovery
        • Many machines each recover one or a few partition
             – e.g. BigTable tablets, GFS chunks, query serving shards




            Master

                         17

                         1          3   2         9   8         4   12         7
                              ...           ...           ...            ...



Monday, March 26, 2012
Speeds Failure Recovery
        • Many machines each recover one or a few partition
             – e.g. BigTable tablets, GFS chunks, query serving shards




            Master



                                2         9   8         4   12         7
                                    ...           ...            ...



Monday, March 26, 2012
Speeds Failure Recovery
        • Many machines each recover one or a few partition
             – e.g. BigTable tablets, GFS chunks, query serving shards




            Master

                                1             3             17

                                2         9   8         4   12         7
                                    ...           ...            ...



Monday, March 26, 2012
Selective Replication
        • Find heavily used items and make more replicas
              – can be static or dynamic

        • Example: Query serving system
              – static: more replicas of important docs
              – dynamic: more replicas of Chinese documents as
                Chinese query load increases
            Master




                         ...        ...      ...       ...


Monday, March 26, 2012
Selective Replication
        • Find heavily used items and make more replicas
              – can be static or dynamic

        • Example: Query serving system
              – static: more replicas of important docs
              – dynamic: more replicas of Chinese documents as
                Chinese query load increases
            Master




                         ...        ...      ...       ...


Monday, March 26, 2012
Selective Replication
        • Find heavily used items and make more replicas
              – can be static or dynamic

        • Example: Query serving system
              – static: more replicas of important docs
              – dynamic: more replicas of Chinese documents as
                Chinese query load increases
            Master




                         ...        ...      ...       ...


Monday, March 26, 2012
Latency-Induced Probation
        • Servers sometimes become slow to respond
              – could be data dependent, but...
              – often due to interference effects
                    • e.g. CPU or network spike for other jobs running on shared server


        • Non-intuitive: remove capacity under load to
          improve latency (?!)
        • Initiate corrective action
              – e.g. make copies of partitions on other servers
              – continue sending shadow stream of requests to server
                    • keep measuring latency
                    • return to service when latency back down for long enough



Monday, March 26, 2012
Handling Within-Request Variability
        • Take action within single high-level request

        • Goals:
             – reduce overall latency
             – don’t increase resource use too much
             – keep serving systems safe




Monday, March 26, 2012
Data Independent Failures

                                    query




Monday, March 26, 2012
Data Independent Failures

                                    query




Monday, March 26, 2012
Data Independent Failures

                                    query




Monday, March 26, 2012
Canary Requests (2)

                                 query




Monday, March 26, 2012
Canary Requests (2)

                                 query




Monday, March 26, 2012
Canary Requests (2)

                                 query




Monday, March 26, 2012
Backup Requests
                          req 3             req 5        req 8
                          req 6




                         Replica 1        Replica 2    Replica 3




                                          Client




Monday, March 26, 2012
Backup Requests
                          req 3             req 5        req 8
                          req 6




                         Replica 1        Replica 2    Replica 3




                                          Client9
                                           req




Monday, March 26, 2012
Backup Requests
                          req 3             req 5        req 8
                          req 6
                          req 9



                         Replica 1        Replica 2    Replica 3




                                          Client




Monday, March 26, 2012
Backup Requests
                          req 3             req 5        req 8
                          req 6             req 9
                          req 9



                         Replica 1        Replica 2    Replica 3




                                          Client




Monday, March 26, 2012
Backup Requests
                          req 3                          req 8
                          req 6             req 9
                          req 9



                         Replica 1        Replica 2    Replica 3




                                          Client




Monday, March 26, 2012
Backup Requests
                          req 3                          req 8
                          req 6
                          req 9



                         Replica 1         reply
                                          Replica 2    Replica 3




                                          Client




Monday, March 26, 2012
Backup Requests
                          req 3                          req 8
                          req 6
                          req 9



                         Replica 1        Replica 2    Replica 3




                                           reply
                                          Client




Monday, March 26, 2012
Backup Requests
                          req 3                            req 8
                          req 6
                          req 9



                         Replica 1         Replica 2     Replica 3


                                        “Cancel req 9”

                                            reply
                                           Client




Monday, March 26, 2012
Backup Requests
                            req 3                             req 8
                            req 6
                            req 9

                         “Cancel req 9”

                          Replica 1            Replica 2    Replica 3




                                                reply
                                               Client




Monday, March 26, 2012
Backup Requests
                          req 3                          req 8
                          req 6




                         Replica 1        Replica 2    Replica 3




                                           reply
                                          Client




Monday, March 26, 2012
Backup Requests Effects

        • In-memory BigTable lookups
             – data replicated in two in-memory tables
             – issue requests for 1000 keys spread across 100 tablets
             – measure elapsed time until data for last key arrives




Monday, March 26, 2012
Backup Requests Effects

        • In-memory BigTable lookups
             – data replicated in two in-memory tables
             – issue requests for 1000 keys spread across 100 tablets
             – measure elapsed time until data for last key arrives

                              Avg    Std Dev   95%ile   99%ile   99.9%ile
          No backups        33 ms    1524 ms   24 ms    52 ms    994 ms
          Backup after 10 ms 14 ms      4 ms   20 ms    23 ms     50 ms
          Backup after 50 ms 16 ms     12 ms   57 ms    63 ms     68 ms




Monday, March 26, 2012
Backup Requests Effects

        • In-memory BigTable lookups
             – data replicated in two in-memory tables
             – issue requests for 1000 keys spread across 100 tablets
             – measure elapsed time until data for last key arrives

                              Avg    Std Dev   95%ile   99%ile   99.9%ile
          No backups        33 ms    1524 ms   24 ms    52 ms    994 ms
          Backup after 10 ms 14 ms      4 ms   20 ms    23 ms     50 ms
          Backup after 50 ms 16 ms     12 ms   57 ms    63 ms     68 ms



     • Modest increase in request load:
     – 10 ms delay: <5% extra requests; 50 ms delay: <1%


Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                           req 3               req 5
                           req 6




                         Server 1            Server 2




                                    Client




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                           req 3               req 5
                           req 6




                         Server 1            Server 2




                                    req 9
                                    Client




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                               req 3                                req 5
                               req 6

                               req 9
                           also: server 2

                            Server 1                              Server 2




                                                 req 9
                                                 Client

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                               req 3                                req 5
                               req 6                                req 9
                                                                also: server 1
                               req 9
                           also: server 2

                            Server 1                              Server 2




                                                 Client

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                               req 3
                               req 6                                req 9
                                                                also: server 1
                               req 9
                           also: server 2

                            Server 1                              Server 2




                                                 Client

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                               req 3
                               req 6                                 req 9
                                                                 also: server 1
                               req 9
                           also: server 2

                            Server 1                               Server 2
                                                              “Server 2: Starting req 9”




                                                 Client

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                                  req 3
                                  req 6                             req 9
                                                                also: server 1
                                req 9
                            also: server 2

                              Server 1                            Server 2
                         “Server 2: Starting req 9”




                                                      Client

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                                  req 3
                                  req 6                             req 9
                                                                also: server 1



                              Server 1                            Server 2
                         “Server 2: Starting req 9”




                                                      Client

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                               req 3
                               req 6                                req 9
                                                                also: server 1



                            Server 1                              Server 2
                                                                   reply




                                                 Client

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation


                               req 3
                               req 6                                req 9
                                                                also: server 1



                            Server 1                              Server 2




                                                 Client
                                                  reply

                Each request identifies other server(s) to which request might be sent




Monday, March 26, 2012
Backup Requests: Bad Case


                           req 3               req 5




                         Server 1            Server 2




                                    Client




Monday, March 26, 2012
Backup Requests: Bad Case


                           req 3               req 5




                         Server 1            Server 2




                                    req 9
                                    Client




Monday, March 26, 2012
Backup Requests: Bad Case


                             req 3                   req 5

                             req 9
                         also: server 2



                          Server 1                 Server 2




                                          req 9
                                          Client




Monday, March 26, 2012
Backup Requests: Bad Case


                             req 3                     req 5

                             req 9                     req 9
                         also: server 2            also: server 1



                          Server 1                  Server 2




                                          Client




Monday, March 26, 2012
Backup Requests: Bad Case



                             req 9                     req 9
                         also: server 2            also: server 1



                          Server 1                  Server 2




                                          Client




Monday, March 26, 2012
Backup Requests: Bad Case



                                req 9                                 req 9
                            also: server 2                        also: server 1



                              Server 1                              Server 2
                                                               “Server 2: Starting req 9”
                         “Server 1: Starting req 9”




                                                      Client




Monday, March 26, 2012
Backup Requests: Bad Case



                                req 9                                 req 9
                            also: server 2                        also: server 1



                              Server 1                              Server 2
                         “Server 2: Starting req 9”
                                                               “Server 1: Starting req 9”




                                                      Client




Monday, March 26, 2012
Backup Requests: Bad Case



                             req 9                     req 9
                         also: server 2            also: server 1



                          Server 1                  Server 2
                                                      reply




                                          Client




Monday, March 26, 2012
Backup Requests: Bad Case



                             req 9                     req 9
                         also: server 2            also: server 1



                          Server 1                  Server 2




                                          Client
                                           reply




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk

        Cluster state    Policy              50%ile   90%ile   99%ile   99.9%ile
        Mostly idle      No backups          19 ms    38 ms    67 ms     98 ms
                         Backup after 2 ms   16 ms    28 ms    38 ms     51 ms




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk       -43%

        Cluster state    Policy              50%ile   90%ile   99%ile   99.9%ile
        Mostly idle      No backups          19 ms    38 ms    67 ms     98 ms
                         Backup after 2 ms   16 ms    28 ms    38 ms     51 ms




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk

        Cluster state    Policy              50%ile   90%ile   99%ile   99.9%ile
        Mostly idle      No backups          19 ms    38 ms     67 ms    98 ms
                         Backup after 2 ms   16 ms    28 ms     38 ms    51 ms

        +Terasort        No backups          24 ms    56 ms    108 ms   159 ms
                         Backup after 2 ms   19 ms    35 ms     67 ms   108 ms




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk       -38%

        Cluster state    Policy              50%ile   90%ile   99%ile   99.9%ile
        Mostly idle      No backups          19 ms    38 ms     67 ms    98 ms
                         Backup after 2 ms   16 ms    28 ms     38 ms    51 ms

        +Terasort        No backups          24 ms    56 ms    108 ms   159 ms
                         Backup after 2 ms   19 ms    35 ms     67 ms   108 ms




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk

        Cluster state    Policy               50%ile    90%ile        99%ile   99.9%ile
        Mostly idle      No backups           19 ms     38 ms         67 ms     98 ms
                         Backup after 2 ms    16 ms     28 ms         38 ms     51 ms

        +Terasort        No backups           24 ms     56 ms     108 ms       159 ms
                         Backup after 2 ms    19 ms     35 ms         67 ms    108 ms

                           Backups cause about ~1% extra disk reads



Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk

        Cluster state    Policy              50%ile   90%ile   99%ile   99.9%ile
        Mostly idle      No backups          19 ms    38 ms     67 ms    98 ms
                         Backup after 2 ms   16 ms    28 ms     38 ms    51 ms

        +Terasort        No backups          24 ms    56 ms    108 ms   159 ms
                         Backup after 2 ms   19 ms    35 ms     67 ms   108 ms




Monday, March 26, 2012
Backup Requests w/ Cross-Server Cancellation

        • Read operations in distributed file system client
          – send request to first replica
          – wait 2 ms, and send to second replica
          – servers cancel request on other replica when starting read
        • Time for bigtable monitoring ops that touch disk

        Cluster state     Policy                  50%ile     90%ile      99%ile    99.9%ile
        Mostly idle       No backups              19 ms      38 ms       67 ms        98 ms
                          Backup after 2 ms       16 ms      28 ms       38 ms        51 ms

        +Terasort         No backups              24 ms      56 ms      108 ms      159 ms
                          Backup after 2 ms       19 ms      35 ms       67 ms      108 ms

            Backups w/big sort job gives same read latencies as no backups w/ idle cluster!



Monday, March 26, 2012
Backup Request Variants

        • Many variants possible:

        • Send to third replica after longer delay
             – sending to two gives almost all the benefit, however.


        • Keep requests in other queues, but reduce priority

        • Can handle Reed-Solomon reconstruction similarly




Monday, March 26, 2012
Tainted Partial Results

        • Many systems can tolerate inexact results
              – information retrieval systems
                    • search 99.9% of docs in 200ms better than 100% in 1000ms
              – complex web pages with many sub-components
                    • e.g. okay to skip spelling correction service if it is slow


        • Design to proactively abandon slow subsystems
              – set cutoffs dynamically based on recent measurements
                    • can tradeoff completeness vs. responsiveness
              – important to mark such results as tainted in caches




Monday, March 26, 2012
Hardware Trends

        • Some good:
              – lower latency networks make things like backup request
                cancellations work better


        • Some not so good:
              – plethora of CPU and device sleep modes save power,
                but add latency variability
              – higher number of “wimpy” cores => higher fanout =>
                more variability


        • Software techniques can reduce variability despite
          increasing variability in underlying hardware

Monday, March 26, 2012
Conclusions

        • Tolerating variability
             – important for large-scale online services
             – large fanout magnifies importance
             – makes services more responsive
             – saves significant computing resources

        • Collection of techniques
             – general good engineering practices
                   • prioritized server queues, careful management of background activities
             – cross-request adaptation
                   • load balancing, micro-partitioning
             – within-request adaptation
                   • backup requests, backup requests w/ cancellation, tainted results


Monday, March 26, 2012
Thanks

        • Joint work with Luiz Barroso and many others at
          Google

        • Questions?




Monday, March 26, 2012

Contenu connexe

Tendances

Lecture 10 the user experience (1)
Lecture 10   the user experience (1)Lecture 10   the user experience (1)
Lecture 10 the user experience (1)Wiliam Ferraciolli
 
A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...BouchraBourass
 
Operating System Simple Introduction
Operating System Simple IntroductionOperating System Simple Introduction
Operating System Simple IntroductionDiwash Sapkota
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwahaOperating system by aman kr kushwaha
Operating system by aman kr kushwahaAMAN KUMAR KUSHWAHA
 
Distributed computing
Distributed computingDistributed computing
Distributed computingDeepak John
 
Steps Printer Sco ..
Steps Printer   Sco ..Steps Printer   Sco ..
Steps Printer Sco ..guest47e021
 
Massively Distributed Systems: Design Issues and Challenge
Massively Distributed Systems: Design Issues and ChallengeMassively Distributed Systems: Design Issues and Challenge
Massively Distributed Systems: Design Issues and ChallengeDarcyzz
 
Analysis of Embedded Linux Literature Review Report
Analysis of Embedded Linux Literature Review ReportAnalysis of Embedded Linux Literature Review Report
Analysis of Embedded Linux Literature Review ReportSitakanta Mishra
 
Virtualization And Disk Performance
Virtualization And Disk PerformanceVirtualization And Disk Performance
Virtualization And Disk PerformanceDiskeeper
 
Advanced Operating System- Introduction
Advanced Operating System- IntroductionAdvanced Operating System- Introduction
Advanced Operating System- IntroductionDebasis Das
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systemskaran2190
 

Tendances (13)

Lecture 10 the user experience (1)
Lecture 10   the user experience (1)Lecture 10   the user experience (1)
Lecture 10 the user experience (1)
 
A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...
 
Operating System Simple Introduction
Operating System Simple IntroductionOperating System Simple Introduction
Operating System Simple Introduction
 
Oct2009
Oct2009Oct2009
Oct2009
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwahaOperating system by aman kr kushwaha
Operating system by aman kr kushwaha
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
Lecture 8 permissions
Lecture 8   permissionsLecture 8   permissions
Lecture 8 permissions
 
Steps Printer Sco ..
Steps Printer   Sco ..Steps Printer   Sco ..
Steps Printer Sco ..
 
Massively Distributed Systems: Design Issues and Challenge
Massively Distributed Systems: Design Issues and ChallengeMassively Distributed Systems: Design Issues and Challenge
Massively Distributed Systems: Design Issues and Challenge
 
Analysis of Embedded Linux Literature Review Report
Analysis of Embedded Linux Literature Review ReportAnalysis of Embedded Linux Literature Review Report
Analysis of Embedded Linux Literature Review Report
 
Virtualization And Disk Performance
Virtualization And Disk PerformanceVirtualization And Disk Performance
Virtualization And Disk Performance
 
Advanced Operating System- Introduction
Advanced Operating System- IntroductionAdvanced Operating System- Introduction
Advanced Operating System- Introduction
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 

En vedette

Top100summit 秀野堂主-做最好的html5游戏 copy
Top100summit 秀野堂主-做最好的html5游戏 copyTop100summit 秀野堂主-做最好的html5游戏 copy
Top100summit 秀野堂主-做最好的html5游戏 copydrewz lin
 
陈竞凯 透过历史看未来
陈竞凯 透过历史看未来陈竞凯 透过历史看未来
陈竞凯 透过历史看未来drewz lin
 
How to change the world v2.0 (usa)
How to change the world v2.0 (usa)How to change the world v2.0 (usa)
How to change the world v2.0 (usa)drewz lin
 
测试向前一步
测试向前一步测试向前一步
测试向前一步drewz lin
 
Brain science
Brain scienceBrain science
Brain sciencedrewz lin
 
七天基于风险测试—Chinatest
七天基于风险测试—Chinatest七天基于风险测试—Chinatest
七天基于风险测试—Chinatestdrewz lin
 
Can laughing at our problems actually help us solve them
Can laughing at our problems actually help us solve them Can laughing at our problems actually help us solve them
Can laughing at our problems actually help us solve them drewz lin
 
Ambler agile ea
Ambler agile eaAmbler agile ea
Ambler agile eadrewz lin
 

En vedette (8)

Top100summit 秀野堂主-做最好的html5游戏 copy
Top100summit 秀野堂主-做最好的html5游戏 copyTop100summit 秀野堂主-做最好的html5游戏 copy
Top100summit 秀野堂主-做最好的html5游戏 copy
 
陈竞凯 透过历史看未来
陈竞凯 透过历史看未来陈竞凯 透过历史看未来
陈竞凯 透过历史看未来
 
How to change the world v2.0 (usa)
How to change the world v2.0 (usa)How to change the world v2.0 (usa)
How to change the world v2.0 (usa)
 
测试向前一步
测试向前一步测试向前一步
测试向前一步
 
Brain science
Brain scienceBrain science
Brain science
 
七天基于风险测试—Chinatest
七天基于风险测试—Chinatest七天基于风险测试—Chinatest
七天基于风险测试—Chinatest
 
Can laughing at our problems actually help us solve them
Can laughing at our problems actually help us solve them Can laughing at our problems actually help us solve them
Can laughing at our problems actually help us solve them
 
Ambler agile ea
Ambler agile eaAmbler agile ea
Ambler agile ea
 

Similaire à Berkeley latency-mar2012

Linux Performance Analysis and Tools
Linux Performance Analysis and ToolsLinux Performance Analysis and Tools
Linux Performance Analysis and ToolsBrendan Gregg
 
Preventing serversickness
Preventing serversicknessPreventing serversickness
Preventing serversicknessGabriella Davis
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptxHashirAhmad19
 
CS197OSTYPES.pdf
CS197OSTYPES.pdfCS197OSTYPES.pdf
CS197OSTYPES.pdfOmid695066
 
Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...
Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...
Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...Maciek Jozwiak
 
Hadoop installation by santosh nage
Hadoop installation by santosh nageHadoop installation by santosh nage
Hadoop installation by santosh nageSantosh Nage
 
Platform Technologies Report (1).pptx
Platform Technologies Report (1).pptxPlatform Technologies Report (1).pptx
Platform Technologies Report (1).pptxBeviljeanCharcos
 
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.pptunit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.pptvmuniraja
 
chapter1-introduction-to-operating-system.pdf
chapter1-introduction-to-operating-system.pdfchapter1-introduction-to-operating-system.pdf
chapter1-introduction-to-operating-system.pdfMuhammedAyman10
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentationwebhostingguy
 
EMBEDDED OS
EMBEDDED OSEMBEDDED OS
EMBEDDED OSAJAL A J
 
Adbms 23 distributed database design
Adbms 23 distributed database designAdbms 23 distributed database design
Adbms 23 distributed database designVaibhav Khanna
 

Similaire à Berkeley latency-mar2012 (20)

Linux Performance Analysis and Tools
Linux Performance Analysis and ToolsLinux Performance Analysis and Tools
Linux Performance Analysis and Tools
 
Preventing serversickness
Preventing serversicknessPreventing serversickness
Preventing serversickness
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
chap-0 .ppt
chap-0 .pptchap-0 .ppt
chap-0 .ppt
 
Database System Architecture
Database System ArchitectureDatabase System Architecture
Database System Architecture
 
Quals
QualsQuals
Quals
 
CS197OSTYPES.pdf
CS197OSTYPES.pdfCS197OSTYPES.pdf
CS197OSTYPES.pdf
 
Google
GoogleGoogle
Google
 
Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...
Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...
Google Spanner - Synchronously-Replicated, Globally-Distributed, Multi-Versio...
 
Operating System
Operating SystemOperating System
Operating System
 
Hadoop installation by santosh nage
Hadoop installation by santosh nageHadoop installation by santosh nage
Hadoop installation by santosh nage
 
Platform Technologies Report (1).pptx
Platform Technologies Report (1).pptxPlatform Technologies Report (1).pptx
Platform Technologies Report (1).pptx
 
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.pptunit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
 
chapter1-introduction-to-operating-system.pdf
chapter1-introduction-to-operating-system.pdfchapter1-introduction-to-operating-system.pdf
chapter1-introduction-to-operating-system.pdf
 
Introduction
IntroductionIntroduction
Introduction
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentation
 
Clusters
ClustersClusters
Clusters
 
EMBEDDED OS
EMBEDDED OSEMBEDDED OS
EMBEDDED OS
 
Adbms 23 distributed database design
Adbms 23 distributed database designAdbms 23 distributed database design
Adbms 23 distributed database design
 
Rtos
RtosRtos
Rtos
 

Plus de drewz lin

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearydrewz lin
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013drewz lin
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13drewz lin
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrichdrewz lin
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2drewz lin
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2drewz lin
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfdrewz lin
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equaldrewz lin
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21drewz lin
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansendrewz lin
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaoladrewz lin
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsdrewz lin
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentationdrewz lin
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsdrewz lin
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martindrewz lin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowaspdrewz lin
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usadrewz lin
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013drewz lin
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架drewz lin
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈drewz lin
 

Plus de drewz lin (20)

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Berkeley latency-mar2012

  • 1. Achieving Rapid Response Times in Large Online Services Jeff Dean Google Fellow jeff@google.com Monday, March 26, 2012
  • 2. Faster Is Better Monday, March 26, 2012
  • 3. Faster Is Better Monday, March 26, 2012
  • 4. Large Fanout Services query Ad System Frontend Web Server Super root Cache servers News Local Video Images Blogs Books Web Monday, March 26, 2012
  • 5. Why Does Fanout Make Things Harder? • Overall latency ≥ latency of slowest component – small blips on individual machines cause delays – touching more machines increases likelihood of delays • Server with 1 ms avg. but 1 sec 99%ile latency – touch 1 of these: 1% of requests take ≥1 sec – touch 100 of these: 63% of requests take ≥1 sec Monday, March 26, 2012
  • 6. One Approach: Squash All Variability • Careful engineering all components of system • Possible at small scale – dedicated resources – complete control over whole system – careful understanding of all background activities – less likely to have hardware fail in bizarre ways • System changes are difficult – software or hardware changes affect delicate balance Not tenable at large scale: need to share resources Monday, March 26, 2012
  • 7. Shared Environment • Huge benefit: greatly increased utilization • ... but hard to predict effects increase variability – network congestion – background activities – bursts of foreground activity – not just your jobs, but everyone else’s jobs, too • Exacerbated by large fanout systems Monday, March 26, 2012
  • 8. Shared Environment Linux Monday, March 26, 2012
  • 9. Shared Environment file system chunkserver Linux Monday, March 26, 2012
  • 10. Shared Environment file system scheduling chunkserver system Linux Monday, March 26, 2012
  • 11. Shared Environment various other system services file system scheduling chunkserver system Linux Monday, March 26, 2012
  • 12. Shared Environment Bigtable tablet server various other system services file system scheduling chunkserver system Linux Monday, March 26, 2012
  • 13. Shared Environment cpu intensive job Bigtable tablet server various other system services file system scheduling chunkserver system Linux Monday, March 26, 2012
  • 14. Shared Environment cpu intensive job random Bigtable MapReduce #1 tablet server various other system services file system scheduling chunkserver system Linux Monday, March 26, 2012
  • 15. Shared Environment random app #2 cpu intensive random job app random Bigtable MapReduce #1 tablet server various other system services file system scheduling chunkserver system Linux Monday, March 26, 2012
  • 16. Basic Latency Reduction Techniques • Differentiated service classes – prioritized request queues in servers – prioritized network traffic • Reduce head-of-line blocking – break large requests into sequence of small requests • Manage expensive background activities – e.g. log compaction in distributed storage systems – rate limit activity – defer expensive activity until load is lower Monday, March 26, 2012
  • 17. Synchronized Disruption • Large systems often have background daemons – various monitoring and system maintenance tasks • Initial intuition: randomize when each machine performs these tasks – actually a very bad idea for high fanout services • at any given moment, at least one or a few machines are slow • Better to actually synchronize the disruptions – run every five minutes “on the dot” – one synchronized blip better than unsynchronized Monday, March 26, 2012
  • 18. Tolerating Faults vs. Tolerating Variability • Tolerating faults: – rely on extra resources • RAIDed disks, ECC memory, dist. system components, etc. – make a reliable whole out of unreliable parts • Tolerating variability: – use these same extra resources – make a predictable whole out of unpredictable parts • Times scales are very different: – variability: 1000s of disruptions/sec, scale of milliseconds – faults: 10s of failures per day, scale of tens of seconds Monday, March 26, 2012
  • 19. Latency Tolerating Techniques • Cross request adaptation – examine recent behavior – take action to improve latency of future requests – typically relate to balancing load across set of servers – time scale: 10s of seconds to minutes • Within request adaptation – cope with slow subsystems in context of higher level request – time scale: right now, while user is waiting Monday, March 26, 2012
  • 20. Fine-Grained Dynamic Partitioning • Partition large datasets/computations – more than 1 partition per machine (often 10-100/machine) – e.g. BigTable, query serving systems, GFS, ... Master 17 9 1 3 2 8 4 12 7 ... ... ... ... Machine 1 Machine 2 Machine 3 Machine N Monday, March 26, 2012
  • 21. Load Balancing • Can shed load in few percent increments – prioritize shifting load when imbalance is more severe Master 17 9 1 3 2 8 4 12 7 ... ... ... ... Monday, March 26, 2012
  • 22. Load Balancing • Can shed load in few percent increments – prioritize shifting load when imbalance is more severe Master 17 9 1 3 2 8 4 12 7 ... ... ... ... Overloaded! Monday, March 26, 2012
  • 23. Load Balancing • Can shed load in few percent increments – prioritize shifting load when imbalance is more severe Master 17 1 3 2 9 8 4 12 7 ... ... ... ... Overloaded! Monday, March 26, 2012
  • 24. Load Balancing • Can shed load in few percent increments – prioritize shifting load when imbalance is more severe Master 17 1 3 2 9 8 4 12 7 ... ... ... ... Monday, March 26, 2012
  • 25. Speeds Failure Recovery • Many machines each recover one or a few partition – e.g. BigTable tablets, GFS chunks, query serving shards Master 17 1 3 2 9 8 4 12 7 ... ... ... ... Monday, March 26, 2012
  • 26. Speeds Failure Recovery • Many machines each recover one or a few partition – e.g. BigTable tablets, GFS chunks, query serving shards Master 2 9 8 4 12 7 ... ... ... Monday, March 26, 2012
  • 27. Speeds Failure Recovery • Many machines each recover one or a few partition – e.g. BigTable tablets, GFS chunks, query serving shards Master 1 3 17 2 9 8 4 12 7 ... ... ... Monday, March 26, 2012
  • 28. Selective Replication • Find heavily used items and make more replicas – can be static or dynamic • Example: Query serving system – static: more replicas of important docs – dynamic: more replicas of Chinese documents as Chinese query load increases Master ... ... ... ... Monday, March 26, 2012
  • 29. Selective Replication • Find heavily used items and make more replicas – can be static or dynamic • Example: Query serving system – static: more replicas of important docs – dynamic: more replicas of Chinese documents as Chinese query load increases Master ... ... ... ... Monday, March 26, 2012
  • 30. Selective Replication • Find heavily used items and make more replicas – can be static or dynamic • Example: Query serving system – static: more replicas of important docs – dynamic: more replicas of Chinese documents as Chinese query load increases Master ... ... ... ... Monday, March 26, 2012
  • 31. Latency-Induced Probation • Servers sometimes become slow to respond – could be data dependent, but... – often due to interference effects • e.g. CPU or network spike for other jobs running on shared server • Non-intuitive: remove capacity under load to improve latency (?!) • Initiate corrective action – e.g. make copies of partitions on other servers – continue sending shadow stream of requests to server • keep measuring latency • return to service when latency back down for long enough Monday, March 26, 2012
  • 32. Handling Within-Request Variability • Take action within single high-level request • Goals: – reduce overall latency – don’t increase resource use too much – keep serving systems safe Monday, March 26, 2012
  • 33. Data Independent Failures query Monday, March 26, 2012
  • 34. Data Independent Failures query Monday, March 26, 2012
  • 35. Data Independent Failures query Monday, March 26, 2012
  • 36. Canary Requests (2) query Monday, March 26, 2012
  • 37. Canary Requests (2) query Monday, March 26, 2012
  • 38. Canary Requests (2) query Monday, March 26, 2012
  • 39. Backup Requests req 3 req 5 req 8 req 6 Replica 1 Replica 2 Replica 3 Client Monday, March 26, 2012
  • 40. Backup Requests req 3 req 5 req 8 req 6 Replica 1 Replica 2 Replica 3 Client9 req Monday, March 26, 2012
  • 41. Backup Requests req 3 req 5 req 8 req 6 req 9 Replica 1 Replica 2 Replica 3 Client Monday, March 26, 2012
  • 42. Backup Requests req 3 req 5 req 8 req 6 req 9 req 9 Replica 1 Replica 2 Replica 3 Client Monday, March 26, 2012
  • 43. Backup Requests req 3 req 8 req 6 req 9 req 9 Replica 1 Replica 2 Replica 3 Client Monday, March 26, 2012
  • 44. Backup Requests req 3 req 8 req 6 req 9 Replica 1 reply Replica 2 Replica 3 Client Monday, March 26, 2012
  • 45. Backup Requests req 3 req 8 req 6 req 9 Replica 1 Replica 2 Replica 3 reply Client Monday, March 26, 2012
  • 46. Backup Requests req 3 req 8 req 6 req 9 Replica 1 Replica 2 Replica 3 “Cancel req 9” reply Client Monday, March 26, 2012
  • 47. Backup Requests req 3 req 8 req 6 req 9 “Cancel req 9” Replica 1 Replica 2 Replica 3 reply Client Monday, March 26, 2012
  • 48. Backup Requests req 3 req 8 req 6 Replica 1 Replica 2 Replica 3 reply Client Monday, March 26, 2012
  • 49. Backup Requests Effects • In-memory BigTable lookups – data replicated in two in-memory tables – issue requests for 1000 keys spread across 100 tablets – measure elapsed time until data for last key arrives Monday, March 26, 2012
  • 50. Backup Requests Effects • In-memory BigTable lookups – data replicated in two in-memory tables – issue requests for 1000 keys spread across 100 tablets – measure elapsed time until data for last key arrives Avg Std Dev 95%ile 99%ile 99.9%ile No backups 33 ms 1524 ms 24 ms 52 ms 994 ms Backup after 10 ms 14 ms 4 ms 20 ms 23 ms 50 ms Backup after 50 ms 16 ms 12 ms 57 ms 63 ms 68 ms Monday, March 26, 2012
  • 51. Backup Requests Effects • In-memory BigTable lookups – data replicated in two in-memory tables – issue requests for 1000 keys spread across 100 tablets – measure elapsed time until data for last key arrives Avg Std Dev 95%ile 99%ile 99.9%ile No backups 33 ms 1524 ms 24 ms 52 ms 994 ms Backup after 10 ms 14 ms 4 ms 20 ms 23 ms 50 ms Backup after 50 ms 16 ms 12 ms 57 ms 63 ms 68 ms • Modest increase in request load: – 10 ms delay: <5% extra requests; 50 ms delay: <1% Monday, March 26, 2012
  • 52. Backup Requests w/ Cross-Server Cancellation req 3 req 5 req 6 Server 1 Server 2 Client Monday, March 26, 2012
  • 53. Backup Requests w/ Cross-Server Cancellation req 3 req 5 req 6 Server 1 Server 2 req 9 Client Monday, March 26, 2012
  • 54. Backup Requests w/ Cross-Server Cancellation req 3 req 5 req 6 req 9 also: server 2 Server 1 Server 2 req 9 Client Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 55. Backup Requests w/ Cross-Server Cancellation req 3 req 5 req 6 req 9 also: server 1 req 9 also: server 2 Server 1 Server 2 Client Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 56. Backup Requests w/ Cross-Server Cancellation req 3 req 6 req 9 also: server 1 req 9 also: server 2 Server 1 Server 2 Client Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 57. Backup Requests w/ Cross-Server Cancellation req 3 req 6 req 9 also: server 1 req 9 also: server 2 Server 1 Server 2 “Server 2: Starting req 9” Client Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 58. Backup Requests w/ Cross-Server Cancellation req 3 req 6 req 9 also: server 1 req 9 also: server 2 Server 1 Server 2 “Server 2: Starting req 9” Client Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 59. Backup Requests w/ Cross-Server Cancellation req 3 req 6 req 9 also: server 1 Server 1 Server 2 “Server 2: Starting req 9” Client Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 60. Backup Requests w/ Cross-Server Cancellation req 3 req 6 req 9 also: server 1 Server 1 Server 2 reply Client Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 61. Backup Requests w/ Cross-Server Cancellation req 3 req 6 req 9 also: server 1 Server 1 Server 2 Client reply Each request identifies other server(s) to which request might be sent Monday, March 26, 2012
  • 62. Backup Requests: Bad Case req 3 req 5 Server 1 Server 2 Client Monday, March 26, 2012
  • 63. Backup Requests: Bad Case req 3 req 5 Server 1 Server 2 req 9 Client Monday, March 26, 2012
  • 64. Backup Requests: Bad Case req 3 req 5 req 9 also: server 2 Server 1 Server 2 req 9 Client Monday, March 26, 2012
  • 65. Backup Requests: Bad Case req 3 req 5 req 9 req 9 also: server 2 also: server 1 Server 1 Server 2 Client Monday, March 26, 2012
  • 66. Backup Requests: Bad Case req 9 req 9 also: server 2 also: server 1 Server 1 Server 2 Client Monday, March 26, 2012
  • 67. Backup Requests: Bad Case req 9 req 9 also: server 2 also: server 1 Server 1 Server 2 “Server 2: Starting req 9” “Server 1: Starting req 9” Client Monday, March 26, 2012
  • 68. Backup Requests: Bad Case req 9 req 9 also: server 2 also: server 1 Server 1 Server 2 “Server 2: Starting req 9” “Server 1: Starting req 9” Client Monday, March 26, 2012
  • 69. Backup Requests: Bad Case req 9 req 9 also: server 2 also: server 1 Server 1 Server 2 reply Client Monday, March 26, 2012
  • 70. Backup Requests: Bad Case req 9 req 9 also: server 2 also: server 1 Server 1 Server 2 Client reply Monday, March 26, 2012
  • 71. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk Monday, March 26, 2012
  • 72. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk Cluster state Policy 50%ile 90%ile 99%ile 99.9%ile Mostly idle No backups 19 ms 38 ms 67 ms 98 ms Backup after 2 ms 16 ms 28 ms 38 ms 51 ms Monday, March 26, 2012
  • 73. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk -43% Cluster state Policy 50%ile 90%ile 99%ile 99.9%ile Mostly idle No backups 19 ms 38 ms 67 ms 98 ms Backup after 2 ms 16 ms 28 ms 38 ms 51 ms Monday, March 26, 2012
  • 74. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk Cluster state Policy 50%ile 90%ile 99%ile 99.9%ile Mostly idle No backups 19 ms 38 ms 67 ms 98 ms Backup after 2 ms 16 ms 28 ms 38 ms 51 ms +Terasort No backups 24 ms 56 ms 108 ms 159 ms Backup after 2 ms 19 ms 35 ms 67 ms 108 ms Monday, March 26, 2012
  • 75. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk -38% Cluster state Policy 50%ile 90%ile 99%ile 99.9%ile Mostly idle No backups 19 ms 38 ms 67 ms 98 ms Backup after 2 ms 16 ms 28 ms 38 ms 51 ms +Terasort No backups 24 ms 56 ms 108 ms 159 ms Backup after 2 ms 19 ms 35 ms 67 ms 108 ms Monday, March 26, 2012
  • 76. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk Cluster state Policy 50%ile 90%ile 99%ile 99.9%ile Mostly idle No backups 19 ms 38 ms 67 ms 98 ms Backup after 2 ms 16 ms 28 ms 38 ms 51 ms +Terasort No backups 24 ms 56 ms 108 ms 159 ms Backup after 2 ms 19 ms 35 ms 67 ms 108 ms Backups cause about ~1% extra disk reads Monday, March 26, 2012
  • 77. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk Cluster state Policy 50%ile 90%ile 99%ile 99.9%ile Mostly idle No backups 19 ms 38 ms 67 ms 98 ms Backup after 2 ms 16 ms 28 ms 38 ms 51 ms +Terasort No backups 24 ms 56 ms 108 ms 159 ms Backup after 2 ms 19 ms 35 ms 67 ms 108 ms Monday, March 26, 2012
  • 78. Backup Requests w/ Cross-Server Cancellation • Read operations in distributed file system client – send request to first replica – wait 2 ms, and send to second replica – servers cancel request on other replica when starting read • Time for bigtable monitoring ops that touch disk Cluster state Policy 50%ile 90%ile 99%ile 99.9%ile Mostly idle No backups 19 ms 38 ms 67 ms 98 ms Backup after 2 ms 16 ms 28 ms 38 ms 51 ms +Terasort No backups 24 ms 56 ms 108 ms 159 ms Backup after 2 ms 19 ms 35 ms 67 ms 108 ms Backups w/big sort job gives same read latencies as no backups w/ idle cluster! Monday, March 26, 2012
  • 79. Backup Request Variants • Many variants possible: • Send to third replica after longer delay – sending to two gives almost all the benefit, however. • Keep requests in other queues, but reduce priority • Can handle Reed-Solomon reconstruction similarly Monday, March 26, 2012
  • 80. Tainted Partial Results • Many systems can tolerate inexact results – information retrieval systems • search 99.9% of docs in 200ms better than 100% in 1000ms – complex web pages with many sub-components • e.g. okay to skip spelling correction service if it is slow • Design to proactively abandon slow subsystems – set cutoffs dynamically based on recent measurements • can tradeoff completeness vs. responsiveness – important to mark such results as tainted in caches Monday, March 26, 2012
  • 81. Hardware Trends • Some good: – lower latency networks make things like backup request cancellations work better • Some not so good: – plethora of CPU and device sleep modes save power, but add latency variability – higher number of “wimpy” cores => higher fanout => more variability • Software techniques can reduce variability despite increasing variability in underlying hardware Monday, March 26, 2012
  • 82. Conclusions • Tolerating variability – important for large-scale online services – large fanout magnifies importance – makes services more responsive – saves significant computing resources • Collection of techniques – general good engineering practices • prioritized server queues, careful management of background activities – cross-request adaptation • load balancing, micro-partitioning – within-request adaptation • backup requests, backup requests w/ cancellation, tainted results Monday, March 26, 2012
  • 83. Thanks • Joint work with Luiz Barroso and many others at Google • Questions? Monday, March 26, 2012