logging in or signing up cyclone wing2000 Janelle Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 117 Category: Entertainment License: All Rights Reserved Like it (1) Dislike it (0) Added: October 04, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Cyclone ServerArchitecture: Cyclone Server Architecture Streamlining Delivery of Popular Content Stanislav Rost • John Byers • Azer BestavrosPOPULARITY: POPULARITY Major focus in Web traffic studies Sudden drastic surges Drives the need for server optimization Results in high loads on the serverDEALING WITH POPULARITY: DEALING WITH POPULARITY Minimize resource consumption necessary for file delivery In-server caching/prefetching: “cache popular content” Out-of-server caching/replication: proxies, Content Delivery Networks Reliable multicast: near-optimalCONSEQUENCES OFPOPULARITY: CONSEQUENCES OF POPULARITY High degree of concurrency Per-file concurrency Inefficiency arises from separation of state “Service threads” delivering the same file to multiple clients could share state Server application and the kernel subsystems could share stateOBJECTIVE: OBJECTIVE Our solution: (Almost) perfect sharing of state among service threads interested in same content (Almost) stateless network stack Two statements of the same goal: eliminate the marginal cost of serving the same file to additional clients reduce the cost of serving a massive number of requests for the same content to a constantCACHE MEMORY: CONSTRAINTS AND CONSEQUENCES: CACHE MEMORY: CONSTRAINTS AND CONSEQUENCES Typically, size of a working set far exceeds the capacity of cache memory Methods of delivery of uncached files are particularly inefficient. Data not cached cannot be shared Additional objective: cache compactness Make the performance benefits of caching/sharing available to more filesCACHE COMPACTNESS: CACHE COMPACTNESS Conventional method: “sliding buffer” Not efficient: opening the file impacts start-up latency, frequent I/O blocking Not scalable: memory usage grows with clients Difficult to share: asynchronous requests, heterogeneous rates service threads need data from different positions in fileSLIDING BUFFER SHARING ILLUSTRATED: SLIDING BUFFER SHARING ILLUSTRATED File blocks on disk Clients Sliding buffer ?IDEAL SOLUTION: IDEAL SOLUTION Objectives: (Almost) perfect sharing of state among service threads interested in same content (Almost) stateless network stack Compact caching with conventional caching-like performance benefits All can be achieved if the sliding buffer is globally useful. Contents of the buffer always contribute to the transfer progress of all clients downloading the file whose data is in the bufferGLOBAL USEFULNESS: GLOBAL USEFULNESS Impossible in general, but can be approximated using a FEC/erasure encoding Our solution approximates global usefulness of the sliding buffer using Tornado codesTORNADO CODES: TORNADO CODES Original file, n blocks Tornado encoding, k·n blocks Receiver can reconstruct the original file from any n+e distinct blocks e~0.03n linear decoding time ENCODE TRANSMIT/DECODEDESIGN OVERVIEW: DESIGN OVERVIEW The Tornado encoding of the file is stored on disk A single sliding buffer needed to serve a particular file to any group of clients: Traverses the encoding of the file at the speed of the fastest client Slower clients reconstruct data from the missed blocks from redundant blocks transmitted later Global usefulness allows relaxation of the in-order delivery constraint: Delivery of the file can begin immediately from the current position of the sliding buffer No need for transmission/retransmission queues: when need to transmit arises, simply transmit the next unsent block from the sliding bufferCYCLONE CLIENT/SERVER ARCHITECTURE: CYCLONE CLIENT/SERVER ARCHITECTURECYCLONE SUBSYSTEM: CYCLONE SUBSYSTEMIMPLEMENTATION IN LINUX KERNEL: IMPLEMENTATION IN LINUX KERNEL Bulk of work Integration with TCP/IP stack Modular architecture/easy integration Ensuring TCP correctness Synchronization Imposing blocking semantics on network processing that cannot be blocked APIs for client and serverCONCLUSION: CONCLUSION A novel, fundamentally different, highly efficient method for file delivery Can be extended to delivery of streaming content using more suitable codes Paves way to other interesting research Stateless network stack=easy migration Lower memory/CPU demands=suitable for underpowered mobile devices Others… You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
cyclone wing2000 Janelle Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 117 Category: Entertainment License: All Rights Reserved Like it (1) Dislike it (0) Added: October 04, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Cyclone ServerArchitecture: Cyclone Server Architecture Streamlining Delivery of Popular Content Stanislav Rost • John Byers • Azer BestavrosPOPULARITY: POPULARITY Major focus in Web traffic studies Sudden drastic surges Drives the need for server optimization Results in high loads on the serverDEALING WITH POPULARITY: DEALING WITH POPULARITY Minimize resource consumption necessary for file delivery In-server caching/prefetching: “cache popular content” Out-of-server caching/replication: proxies, Content Delivery Networks Reliable multicast: near-optimalCONSEQUENCES OFPOPULARITY: CONSEQUENCES OF POPULARITY High degree of concurrency Per-file concurrency Inefficiency arises from separation of state “Service threads” delivering the same file to multiple clients could share state Server application and the kernel subsystems could share stateOBJECTIVE: OBJECTIVE Our solution: (Almost) perfect sharing of state among service threads interested in same content (Almost) stateless network stack Two statements of the same goal: eliminate the marginal cost of serving the same file to additional clients reduce the cost of serving a massive number of requests for the same content to a constantCACHE MEMORY: CONSTRAINTS AND CONSEQUENCES: CACHE MEMORY: CONSTRAINTS AND CONSEQUENCES Typically, size of a working set far exceeds the capacity of cache memory Methods of delivery of uncached files are particularly inefficient. Data not cached cannot be shared Additional objective: cache compactness Make the performance benefits of caching/sharing available to more filesCACHE COMPACTNESS: CACHE COMPACTNESS Conventional method: “sliding buffer” Not efficient: opening the file impacts start-up latency, frequent I/O blocking Not scalable: memory usage grows with clients Difficult to share: asynchronous requests, heterogeneous rates service threads need data from different positions in fileSLIDING BUFFER SHARING ILLUSTRATED: SLIDING BUFFER SHARING ILLUSTRATED File blocks on disk Clients Sliding buffer ?IDEAL SOLUTION: IDEAL SOLUTION Objectives: (Almost) perfect sharing of state among service threads interested in same content (Almost) stateless network stack Compact caching with conventional caching-like performance benefits All can be achieved if the sliding buffer is globally useful. Contents of the buffer always contribute to the transfer progress of all clients downloading the file whose data is in the bufferGLOBAL USEFULNESS: GLOBAL USEFULNESS Impossible in general, but can be approximated using a FEC/erasure encoding Our solution approximates global usefulness of the sliding buffer using Tornado codesTORNADO CODES: TORNADO CODES Original file, n blocks Tornado encoding, k·n blocks Receiver can reconstruct the original file from any n+e distinct blocks e~0.03n linear decoding time ENCODE TRANSMIT/DECODEDESIGN OVERVIEW: DESIGN OVERVIEW The Tornado encoding of the file is stored on disk A single sliding buffer needed to serve a particular file to any group of clients: Traverses the encoding of the file at the speed of the fastest client Slower clients reconstruct data from the missed blocks from redundant blocks transmitted later Global usefulness allows relaxation of the in-order delivery constraint: Delivery of the file can begin immediately from the current position of the sliding buffer No need for transmission/retransmission queues: when need to transmit arises, simply transmit the next unsent block from the sliding bufferCYCLONE CLIENT/SERVER ARCHITECTURE: CYCLONE CLIENT/SERVER ARCHITECTURECYCLONE SUBSYSTEM: CYCLONE SUBSYSTEMIMPLEMENTATION IN LINUX KERNEL: IMPLEMENTATION IN LINUX KERNEL Bulk of work Integration with TCP/IP stack Modular architecture/easy integration Ensuring TCP correctness Synchronization Imposing blocking semantics on network processing that cannot be blocked APIs for client and serverCONCLUSION: CONCLUSION A novel, fundamentally different, highly efficient method for file delivery Can be extended to delivery of streaming content using more suitable codes Paves way to other interesting research Stateless network stack=easy migration Lower memory/CPU demands=suitable for underpowered mobile devices Others…