Computer System Design Intro

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Listen to an AI-generated conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Which of the following best describes the 'systems perspective' in computer system design?

  • Adopting a global, holistic view of systems rather than concentrating on specific parts. (correct)
  • Analyzing the latest trends in user interface design.
  • Prioritizing hardware configurations over software design.
  • Focusing on the detailed implementation of individual software components.

Why is understanding system design principles important in computer science and engineering?

  • They provide a strict set of immutable laws that must be followed to avoid penalties.
  • They offer guidelines based on wisdom and experience for avoiding common design mistakes. (correct)
  • They eliminate the need for software and hardware testing, reducing development time.
  • They guarantee optimal performance in all computing systems, regardless of scale.

Which of the following is the MOST accurate definition of a system in the context of computer system design?

  • A single computer operating system.
  • A set of interconnected computers functioning independently.
  • A collection of elements organized for a common purpose. (correct)
  • A collection of random computer parts connected without purpose.

What distinguishes a 'linear system' from a 'nonlinear system'?

<p>A linear system's output change is proportional to its input change, while a nonlinear system's is not. (B)</p>
Signup and view all the answers

Which of the following scenarios exemplifies an 'emergent property' in system design?

<p>A social media platform unexpectedly becomes a primary source of news. (C)</p>
Signup and view all the answers

What strategy can BEST mitigate the 'propagation of effects' in a large software system?

<p>Designing loosely coupled modules with well-defined interfaces. (C)</p>
Signup and view all the answers

In the context of system scaling, what does 'incommensurate scaling' refer to?

<p>Components of the system do not scale uniformly, leading to bottlenecks. (D)</p>
Signup and view all the answers

What does the design challenge of 'trade-offs' involve in computer systems?

<p>Balancing competing design constraints and allocating resources effectively. (C)</p>
Signup and view all the answers

Which of the following is the MOST accurate description of an 'interface' in system design?

<p>The point of interaction between a system and its environment. (B)</p>
Signup and view all the answers

From an engineering point of view, what comprises the 'system' of a jet aircraft?

<p>The body, wings, control surfaces, and engines. (B)</p>
Signup and view all the answers

What indicates that a system is becoming increasingly complex?

<p>An increase in the number of exceptions and non-repetitive interconnection arrangements. (D)</p>
Signup and view all the answers

A primary source of complexity in system design arises from:

<p>The accumulation of individual complexities and their interactions. (B)</p>
Signup and view all the answers

Which of the following is a valid strategy for mitigating the complexity introduced by numerous requirements?

<p>Meeting many requirements with a single design which leads to generality. (D)</p>
Signup and view all the answers

What is a potential drawback of designing a system with excessive generality?

<p>It can contribute to complexity and may not work well in any specific mode. (A)</p>
Signup and view all the answers

How might the introduction of 'patches' to a deployed system affect complexity?

<p>Patches may introduce new complexities because of difficulties in changing the deployed system architecture. (B)</p>
Signup and view all the answers

How does maintaining high resource utilization impact system complexity?

<p>Attempting to maximize resource utilization often leads to increased system complexity. (D)</p>
Signup and view all the answers

What is Modularity primarily used for?

<p>Reducing system complexity. (A)</p>
Signup and view all the answers

If a program is divided into K modules, what impact does this have on debugging time, according to the principles of modularity?

<p>Debugging time is reduced because smaller modules can be debugged faster with fewer bugs. (C)</p>
Signup and view all the answers

What is the feature of modularity that allows incremental improvement of a system.

<p>It is easy to replace an inferior module with an improved one. (C)</p>
Signup and view all the answers

What does 'abstraction' primarily achieve in system design?

<p>It separates the interface from the implementation. (B)</p>
Signup and view all the answers

What represents abstraction in low level circuit design?

<p>Hiding detailed logic gate operations by using abstracted symbols. (C)</p>
Signup and view all the answers

How can layering reduce module interconnections?

<p>By organizing modules into distinct levels with specific interaction rules. (D)</p>
Signup and view all the answers

How does hierarchy contribute to managing system complexity?

<p>By creating specialized, small subsystems. (B)</p>
Signup and view all the answers

What role do 'names' play in connecting modules within a complex system?

<p>Names enable one module to reference and use another. (D)</p>
Signup and view all the answers

Why computer systems are different than every other king of system?

<p>The complexity of a computer system is not limited by physical laws. The rate of change of computer system technology is unprecedented. (B)</p>
Signup and view all the answers

What allows complex digital systems to grow limitlessly??

<p>digital systems are noise-free (A)</p>
Signup and view all the answers

Which technique is required to cope with the complexity?

<p>iteration (C)</p>
Signup and view all the answers

What is the initial stages called?

<p>Prototype (C)</p>
Signup and view all the answers

What is one of Iteration design principles?

<p>Take small steps (D)</p>
Signup and view all the answers

Which design principle improves systems?

<p>Plan for feedback. (A)</p>
Signup and view all the answers

What goal is important to do so problems aren't blamed on workers?

<p>Study failures (C)</p>
Signup and view all the answers

What does computer system design accomplish?

<p>Introduces the vocabulary and concepts used in designing computer systems. (D)</p>
Signup and view all the answers

What is the assumption of a computer science student?

<p>The student has completed the introductory courses on software and hardware. (B)</p>
Signup and view all the answers

What is one of the interesting applications of computers?

<p>Fault tolerance. (A)</p>
Signup and view all the answers

How does the designer view the computer system?

<p>Views the computer system as a whole. (C)</p>
Signup and view all the answers

What are the two types of mathematical complexity?

<p>Linear Systems. Nonlinear System (A)</p>
Signup and view all the answers

What does linear system satisfy?

<p>superposition principle (D)</p>
Signup and view all the answers

What are engineer interested in?

<p>Nonlinear problems (C)</p>
Signup and view all the answers

What are examples of common problems of systems?

<p>Emergent properties. propagation of effects. (A)</p>
Signup and view all the answers

Flashcards

CSD's Main Focus?

Introduces vocabulary and concepts for designing computer systems, focusing on a global systems perspective.

What is a Linear System?

A system where the change in output is proportional to the change in input, following the superposition principle.

What is a Nonlinear System?

A system where the change in output is not proportional to the change in the input, leading to potentially chaotic behavior.

What are Emergent Properties?

Properties not evident in individual components but emerge when combined.

Signup and view all the flashcards

What is Propagation of Effects?

A small disruption causes effects that reach across the entire system.

Signup and view all the flashcards

What is Incommensurate Scaling?

Not all system parts scale the same way, creating design challenges.

Signup and view all the flashcards

What are Trade-offs?

Balancing conflicting 'goodness' (e.g., speed, cost, power) within limitations.

Signup and view all the flashcards

What is a System?

A set of interconnected components with expected behavior at the interface with its environment.

Signup and view all the flashcards

System Components

Individual parts make of system.

Signup and view all the flashcards

What is an Interface?

Connection between system and environment.

Signup and view all the flashcards

What is the Environment?

Everything existing outside the system boundary affecting the system.

Signup and view all the flashcards

What indicates Complexity?

Having many components, interconnections, irregularities, long descriptions, and needing a team.

Signup and view all the flashcards

Cascading Requirements

Number of requirements that the designer expects a system to meet.

Signup and view all the flashcards

High Utilization

Maintaining resources at maximum level.

Signup and view all the flashcards

What is Modularity?

Design system as a collection of interacting subsystems (modules).

Signup and view all the flashcards

What is Abstraction?

Separation of interface from internals.

Signup and view all the flashcards

What is Layering?

Module organization known as layering.

Signup and view all the flashcards

What is Hierarchy?

Reduces interconnections among modules.

Signup and view all the flashcards

What is Iteration?

Start with building a simple system, evolve system in small steps.

Signup and view all the flashcards

Computer System Uniqueness

Computer system complexity isn't limited by physical laws.

Signup and view all the flashcards

Digital Systems: Composition

Software and digital nature allow nearly limitless complexity growth.

Signup and view all the flashcards

Tech Change Rate

Computer tech changes at an unprecedented rate.

Signup and view all the flashcards

Modularity Improvement

Design principle to allow faster debugging.

Signup and view all the flashcards

Iteration Design Principle

Successful iteration requires considerable foresight.

Signup and view all the flashcards

Study Notes

Computer System Design Introduction

  • Introduces vocabulary and concepts for designing computer systems
  • Introduces a "systems perspective" considering global rather than particular issues

What Computer System Design is about

  • Focuses on both computations (software) and physical constructs (hardware)
  • Covers areas like theory of computation, AI, computer architecture, software engineering, compilers, networks, and security
  • Assumes students have introductory courses on software and hardware completed
  • Begins a broad study of computer systems that supports the entire range of systems specialties

Why Computer System Design

  • Required for interesting computer applications
  • Needed for fault tolerance, coordination of concurrent activities, geographically separated but linked data, vast information storage, protection, and interactions with many people
  • Designers must look beyond software and hardware, viewing the entire computer system as a whole

System Design Principles

  • Applications should be developed with these requirements in mind with a view to the overall computer system including Software and Hardware
  • Design principles are guidelines to avoid making mistakes

Systems

  • Defined as collections of elements/components organized for a common purpose
  • Classification based on mathematical complexity: linear and nonlinear

Linear Systems

  • Output change is proportional to input change
  • Satisfies the superposition principle, including additivity and homogeneity
  • Additivity examples: F(x1) = Y1, F(x2) = Y2, F(x1 + x2) = Y1 + Y2
  • Homogeneity examples: F(x) = y, F(ax) = ay ("a" is a scaler)
  • Generally simple and do not change over time

Nonlinear Systems

  • Output change is not proportional to input change
  • Of interest to engineers, biologists, physicists, and mathematicians
  • Commonly nonlinear in nature
  • Dynamical examples exhibit chaotic, unpredictable, or counterintuitive behavior

Systems And Complexity

  • Encompasses common problems, systems, components, interfaces, environments and complexity

Common Problems of Systems

  • Can be divided into emergent properties, propagation of effects, incommensurate scaling, and trade-offs

Emergent Properties

  • Properties that are not evident in individual components alone; also called "surprises"
  • e.g., Committee behavior, electric power distribution failures

Propagation of Effects

  • Small disruptions or local changes that affect the entire system
  • e.g., Domino chain falling, tree falling on a power line in Oregon causing lights to go out in New Mexico
  • Systems must be designed to limit the impact of failures

Incommensurate Scaling

  • Not all parts of a system follow similar scaling rules
  • Different system parts exhibit different orders of growth
  • Scaling a mouse to elephant size will cause it to collapse under its weight
  • Supertankers take 12 miles to stop, going beyond the horizon view from the bridge

Trade-Offs

  • Limited resources in the universe (system) leads to design challenges
  • Aim is to maximize usefulness, avoid waste and allocate appropriately
  • Pushing hardware circuit clock rates increases power consumption, heat, and timing errors

Systems, Components, Interfaces, and Environments

  • Systems: Interconnected components with an expected behavior at the interface with its environment
  • Components: Individual parts that make system
  • Interfaces: Provide interactions between the system and environment
  • Environment: Everything outside the system boundary, affecting it.
  • PC interfaces: display, keyboard, network connection, power cord, atmospheric pressure, ambient temperature, humidity, electromagnetic noise

Views of a Jet Aircraft as a System

  • Engineer view: System includes body, wings, control surfaces, and engines, environment is the atmosphere and earth while interfaces include gravity, thrust, and air drag
  • Company/Passenger view: System includes seats, flight attendants, and air conditioning; the environment is the passengers and the interfaces include soft seats, meals, and air quality

Complexity

  • Defined as "difficult to understand"
  • Signs that a system is complex is having a large number of components, large number of interconnections, many irregularities, long descriptions or a team of designers, implementers, or maintainers

Sources of Complexity

  • Two primary sources include cascading/interacting requirements and maintaining high utilization

Cascading and Interacting Requirements

  • The list of requirements for a system becomes a complexity source
  • The accumulation of many requirements adds their complexities and the complexities from their interactions

Maintaining High Utilization

  • Starts with a desire for high performance or efficiency using limited resources

Utilizing Railroad as an example

  • A single-track railroad line passes through a long canyon
  • Improving single-track usage means trains run both ways
  • To achieve it installing a switch and a short side track helps one way traffic flow at one time

Reducing Complexity

  • Modularity, abstraction, layering, and hierarchy are common techniques

Modularity

  • Design system as interacting subsystems or modules
  • Debugging a large program takes an amount of time, and dividing the program into modules debug time is reduced
  • Modularity allows for easy replacement of an inferior module
  • Modular programs also allow incremental system improvements
  • It is easier to change a module than to change the modularity

Abstraction

  • Separate interface from internals and specifications from implementation
  • Often paired with modularity
  • Functional modularity is a term used for modularity with abstraction

Abstraction Examples

  • DVD Player: If one needed to know the details of a television set to choose a compatible DVD Player
  • Delivery Company: Delivers without needing to know vehicle types or routes

Abstraction Examples In the Computer World

  • Flip-flops: We intentionally hide all the details
  • Design: Hides details of complex data structures and detail
  • Users interact with simple button-pushing interfaces and do not manage processor, memory, and comms

Layering

  • Reduces module interconnections
  • Systems use good abstractions to minimize interconnections

Hierarchy

  • Technique which reduces interconnections in a different, specialized way
  • Assemble modules into stable, self-contained subsystem with a well-defined interface
  • Group subsystems become larger subsystems

Hierarchy examples

  • Corporations have managers supervise 5~10 employees
  • And OOP - Object Oriented Programming

Connection thru Names:

  • Modularity, abstraction, layering and hierarchy divide things into modules
  • A way of connecting these modules

Digital Systems primary Connection:

  • One module names another module

Computer Systems, same but different

  • Computer Systems Designer can investigate techniques from other fields that may also apply to computer systems
  • The complexity of a computer system is not limited by physical laws
  • The rate of change of computer system technology is unprecedented

Computer Systems have no Nearby Bounds on Composition

  • Computer systems are mostly digital, controlled by software
  • Limits on complexity are relaxed compared to systems limited by physical laws
  • Analog systems, each component contributes noise whereas digital are noise free, so complexity can grow freely

Reducing Complexity via Iteration

  • Major help from Modularity, Abstraction Layering and Hierarchy that are insufficient to control resulting complexity
  • iteration developed to cope with more complex computer systems

Iteration

  • Starts with simple working subset of requirements (prototype) -> evolve via small steps to encompass more requirements
  • Release indicators like "release 4.301"

Iteration Design Principles

  • Requires considerable foresight and involves elements found during iteration such as taking small steps and not rushing
  • Smaller steps help discover design defects and bad ideas
  • Steps must also be well-planned, avoiding the temptation to rush implementation

Iteration Design

  • Feedback should be planned
  • Feedbacks from multiple people can refine a design
  • Success starts with failures. and studying them
  • It is key to focus on failures that must be studied, avoided and planned for

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser