system design
play

System Design An Engineering Approach to Computer Networking An - PowerPoint PPT Presentation

System Design An Engineering Approach to Computer Networking An Engineering Approach to Computer Networking What is system design? A computer network provides computation, storage and A computer network provides computation, storage and


  1. System Design An Engineering Approach to Computer Networking An Engineering Approach to Computer Networking

  2. What is system design? A computer network provides computation, storage and A computer network provides computation, storage and ■ ■ transmission resources transmission resources System design is the art and science of putting together these System design is the art and science of putting together these ■ ■ resources into a harmonious whole resources into a harmonious whole Extract the most from what you have Extract the most from what you have ■ ■

  3. Goal In any system, some resources are more freely available than In any system, some resources are more freely available than ■ ■ others others ◆ high-end PC connected to Internet by a 28.8 modem high-end PC connected to Internet by a 28.8 modem ◆ ◆ constrained constrained resource is link bandwidth resource is link bandwidth ◆ ◆ PC CPU and and memory are PC CPU and and memory are unconstrained unconstrained ◆ Maximize a set of performance metrics given a set of resource Maximize a set of performance metrics given a set of resource ■ ■ constraints constraints Explicitly identifying constraints and metrics helps in designing Explicitly identifying constraints and metrics helps in designing ■ ■ efficient systems efficient systems Example Example ■ ■ ◆ maximize reliability and MPG for a car that costs less than $10,000 maximize reliability and MPG for a car that costs less than $10,000 ◆ to manufacture to manufacture

  4. System design in real life Can’t always quantify and control all aspects of a system Can’t always quantify and control all aspects of a system ■ ■ Criteria such as scalability, modularity, extensibility, and Criteria such as scalability, modularity, extensibility, and ■ ■ elegance are important, but unquantifiable elegance are important, but unquantifiable Rapid technological change can add or remove resource Rapid technological change can add or remove resource ■ ■ constraints (example?) constraints (example?) ◆ an ideal design is ‘future proof’ an ideal design is ‘future proof’ ◆ Market conditions may dictate changes to design halfway Market conditions may dictate changes to design halfway ■ ■ through the process through the process International standards, which themselves change, also impose International standards, which themselves change, also impose ■ ■ constraints constraints Nevertheless, still possible to identify some principles Nevertheless, still possible to identify some principles ■ ■

  5. Some common resources Most resources are a combination of Most resources are a combination of ■ ■ ◆ time time ◆ ◆ space space ◆ ◆ computation computation ◆ ◆ money money ◆ ◆ labor labor ◆

  6. Time Shows up in many constraints Shows up in many constraints ■ ■ ◆ deadline for task completion deadline for task completion ◆ ◆ time to market time to market ◆ ◆ mean time between failures mean time between failures ◆ Metrics Metrics ■ ■ ◆ response time response time : mean time to complete a task : mean time to complete a task ◆ ◆ throughput throughput : number of tasks completed per unit time : number of tasks completed per unit time ◆ ◆ degree of parallelism degree of parallelism = response time * throughput = response time * throughput ◆ ✦ 20 tasks complete in 10 seconds, and each task takes 3 20 tasks complete in 10 seconds, and each task takes 3 ✦ seconds seconds ✦ => degree of parallelism = 3 * 20/10 = 6 => degree of parallelism = 3 * 20/10 = 6 ✦

  7. Space Shows up as Shows up as ■ ■ ◆ limit to available memory (kilobytes) limit to available memory (kilobytes) ◆ ◆ bandwidth (kilobits) bandwidth (kilobits) ◆ ✦ 1 kilobit/s = 1000 bits/sec, but 1 kilobyte/s = 1024 bits/sec! 1 kilobit/s = 1000 bits/sec, but 1 kilobyte/s = 1024 bits/sec! ✦

  8. Computation Amount of processing that can be done in unit time Amount of processing that can be done in unit time ■ ■ Can increase computing power by Can increase computing power by ■ ■ ◆ using more processors using more processors ◆ ◆ waiting for a while! waiting for a while! ◆

  9. Money Constrains Constrains ■ ■ ◆ what components can be used what components can be used ◆ ◆ what price users are willing to pay for a service what price users are willing to pay for a service ◆ ◆ the number of engineers available to complete a task the number of engineers available to complete a task ◆

  10. Labor Human effort required to design and build a system Human effort required to design and build a system ■ ■ Constrains what can be done, and how fast Constrains what can be done, and how fast ■ ■

  11. Social constraints Standards Standards ■ ■ ◆ force design to conform to requirements that may or may not make force design to conform to requirements that may or may not make ◆ sense sense ◆ underspecified standard can faulty and non-interoperable underspecified standard can faulty and non-interoperable ◆ implementations implementations Market requirements Market requirements ■ ■ ◆ products may need to be backwards compatible products may need to be backwards compatible ◆ ◆ may need to use a particular operating system may need to use a particular operating system ◆ ◆ example example ◆ ✦ GUI-centric design GUI-centric design ✦

  12. Scaling A design constraint, rather than a resource constraint A design constraint, rather than a resource constraint ■ ■ Can use any centralized elements in the design Can use any centralized elements in the design ■ ■ ◆ forces the use of complicated distributed algorithms forces the use of complicated distributed algorithms ◆ Hard to measure Hard to measure ■ ■ ◆ but necessary for success but necessary for success ◆

  13. Common design techniques Key concept: bottleneck bottleneck Key concept: ■ ■ ◆ the most constrained element in a system the most constrained element in a system ◆ System performance improves by removing bottleneck System performance improves by removing bottleneck ■ ■ ◆ but creates new bottlenecks but creates new bottlenecks ◆ In a balanced balanced system, all resources are simultaneously system, all resources are simultaneously In a ■ ■ bottlenecked bottlenecked ◆ this is optimal this is optimal ◆ ◆ but nearly impossible to achieve but nearly impossible to achieve ◆ ◆ in practice, bottlenecks move from one part of the system to in practice, bottlenecks move from one part of the system to ◆ another another ◆ example: Ford Model T example: Ford Model T ◆

  14. Top level goal Use unconstrained resources to alleviate bottleneck Use unconstrained resources to alleviate bottleneck ■ ■ How to do this? How to do this? ■ ■ Several standard techniques allow us to trade off one resource Several standard techniques allow us to trade off one resource ■ ■ for another for another

  15. Multiplexing Another word for sharing Another word for sharing ■ ■ Trades time and space for money Trades time and space for money ■ ■ Users see an increased response time, and take up space when Users see an increased response time, and take up space when ■ ■ waiting, but the system costs less waiting, but the system costs less ◆ economies of scale economies of scale ◆

  16. Multiplexing (contd.) Examples Examples ■ ■ ◆ multiplexed links multiplexed links ◆ ◆ shared memory shared memory ◆ Another way to look at a shared resource Another way to look at a shared resource ■ ■ ◆ unshared virtual resource unshared virtual resource ◆ Server controls access to the shared resource controls access to the shared resource Server ■ ■ ◆ uses a uses a schedule schedule to resolve contention to resolve contention ◆ ◆ choice of scheduling critical in proving quality of service guarantees choice of scheduling critical in proving quality of service guarantees ◆

  17. Statistical multiplexing Suppose resource has capacity C Suppose resource has capacity C ■ ■ Shared by N identical tasks Shared by N identical tasks ■ ■ Each task requires capacity c Each task requires capacity c ■ ■ If Nc <= C, then the resource is underloaded If Nc <= C, then the resource is underloaded ■ ■ If at most 10% of tasks active, then C >= Nc/10 is enough If at most 10% of tasks active, then C >= Nc/10 is enough ■ ■ ◆ we have used statistical knowledge of users to reduce system cost we have used statistical knowledge of users to reduce system cost ◆ ◆ this is this is statistical multiplexing gain statistical multiplexing gain ◆

  18. Statistical multiplexing (contd.) Two types: spatial and temporal Two types: spatial and temporal ■ ■ Spatial Spatial ■ ■ ◆ we expect only a fraction of tasks to be simultaneously active we expect only a fraction of tasks to be simultaneously active ◆ Temporal Temporal ■ ■ ◆ we expect a task to be active only part of the time we expect a task to be active only part of the time ◆ ✦ e.g silence periods during a voice call e.g silence periods during a voice call ✦

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend