0% found this document useful (0 votes)
15 views36 pages

Week 1

Computer System Design (CSD) is the process of creating a computer system architecture that integrates hardware, software, and networking components to meet specific requirements and ensure optimal performance. Key challenges in CSD include managing complexity, balancing performance and cost, and ensuring compatibility among components. Understanding the systems perspective is essential for addressing issues such as fault tolerance, resource utilization, and security in computer systems.

Uploaded by

lalosamal666
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views36 pages

Week 1

Computer System Design (CSD) is the process of creating a computer system architecture that integrates hardware, software, and networking components to meet specific requirements and ensure optimal performance. Key challenges in CSD include managing complexity, balancing performance and cost, and ensuring compatibility among components. Understanding the systems perspective is essential for addressing issues such as fault tolerance, resource utilization, and security in computer systems.

Uploaded by

lalosamal666
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Computer System Design

Ms. Sara A.Ahmed


Lecture 1
Overview

2
Cont.
• In this course we clarify a concept called “systems perspective”.

• Systems Perspective a way of thinking about systems in general and comprehensive


manner rather than focused on particular issues.

• The subjects of computer science and engineering begins with description of computational
constructs (software) and physical constructs (hardware) for realizing computations and
then branch to focus on details (e.g., Networking, security).

3
What is Computer System Design?

Computer System Design (CSD) refers to the process of creating and implementing a
computer system architecture that meets specific requirement. It involves designing
the hardware, software, and networking components of a computer system to
ensure its optimal performance and functionality.

4
Cont.
• Most of professional computers applications require the following characteristics:

− Fault tolerance

− Coordination of concurrent activities To develop applications that have these


requirements, the designer/developer must
− Geographically separated but linked data look beyond the software and hardware and
look at the computer system as a whole.
− Vast quantities of stored information

− Protection from mistakes and intentional attacks

− Interactions with many people 5


CSD is Important, Why?

CSD plays a crucial role in determining the overall performance and efficiency of a
computer system. A well defined system ensures that the hardware and software
components work seamlessly together, resulting improved productivity.

Note: Design principles are not fix laws. They are just guidelines that capture knowledge
and experience and that can help a designer avoid making mistakes.

6
CSD Key Component's
1. Hardware design: involves selecting and configuring the appropriate hardware
components such as; processor, memory, etc.

2. Software design: involves developing the necessary software applications and


operating systems.

3. Network design: involves designing the network infrastructure and connectivity for
the system.

7
How Does CSD Impact Performance?
• A well designed system:

− Minimizes bottlenecks.

− Maximizes resource utilization.

− Reduces latency.

− Improved performance and response times.

8
CSD Problems
• There are two ways in which computer systems face problems:

1. Systems and Complexity

a. Common Problems of Systems

b. Systems, Components, Interfaces, and Environments

c. Complexity

2. Sources of Complexity

a. Cascading and Interacting Requirements

b. Maintaining High Utilization


9
1. Systems and Complexity
Systems and complexity play a fundamental role in computer system design. Computer
systems are complicated arrangements of hardware and software components, and their
effectiveness relies on how well these components interact and cooperate to perform tasks
efficiently.

• Complexity arises from the interdependence of components and the need to manage
various resources, such as memory, processing power, and network connections.

10
a. Common Problems of Systems
There are four common problems of systems in Many Fields:

− Emergent properties

− Propagation of effects

− Incommensurate (Inappropriate) scaling

− Trade-offs

11
Cont.
• Emergent properties: refer to unexpected or unintended characteristics, behaviors, or
phenomena that arise from the interactions and combinations of individual components or
subsystems within a complex system.

• Emergent properties are features of a system that "emerge" or become apparent when you
study the system as a whole.

12
Cont.
• Propagation of effects: In this situation what looks at first to be a small disruption or a local
change but could have effects that reach from one end of a system to another.

• Example: Consider an automobile designer’s decision to change the tire size on a


production model car from 13 to 15 inches to improve the ride. On further analysis, this
change leads to many other changes: redesigning the wheel, enlarging the spare tire space,
rearranging the trunk that holds the spare tire, and moving the back seat forward.

13
Cont.
• Incommensurate (Inappropriate) scaling: as a system increases in size or speed, not all parts
of it follow the same scaling rules, so things stop working.

• Different parts of the system exhibit different orders of growth.

• Examples: memory consumption grows with volume of data, but the hardware capacity is
limited.

• Incommensurate scaling is available in most systems. It is usually the factor that limits the
size or speed range that a single system design can handle.
14
Cont.
• Trade-offs: Many constraints present themselves as trade-offs.

• The general model of a trade-off begins with the observation that there is a limited amount
of resources, and the design challenges are:

− First to maximize the efficiency usage of those resources.

− Second to avoid wasting resources.

− Third to allocate resources to the places where it will help the most.

15
Further Problems in Trade-offs (1)
• Waterbed effect: is one common form of trade-off and it is pushing down on a problem at
one point causes another problem to pop up somewhere else.

• Example: we can push a hardware circuit to run at a higher clock rate, but that change
increases both power consumption and the risk of timing errors. It is possible to reduce the
risk of timing errors by making the circuit physically smaller, but then less area will be
available to handle the heat caused by the increased power consumption.

16
Further Problems in Trade-offs (2)
• Trade-off appears in binary classification: classify a set of things into two categories based
on the presence or absence of some property, but with a lack a direct measure of that
property.

• Example: spam (unwanted commercial e-mail message) filters, database queries, and
authentication devices.

17
b. Systems, Components, Interfaces, and
Environments

• Computer System is a “complex unity” formed of many different parts/components to serve


a purpose.

• Each system contains the interconnections of the components and a system present a
certain behavior cross its interface with its environment.

• There are always interactions (interface) between a system and its environment.

18
Cont.
• Identifying the components has two aspects, purpose and granularity.

• The different ways that designers look at the system can effect the design of system and
identifying the components:

− First view; different purposes in mind.

− Second view choose any of several different granularities.

• These choices affects in identifying the components of the system.

19
Purpose
• To see how point of view can depend on purpose, consider two points of view of a jet
aircraft as a system.

1. The first view point looks at the aircraft as a flying System, in which:

• Components of the system include the body, wings, control surfaces, and engines.

• Interfaces consisting of gravity, engine thrust, and air drag.

• Environment is the atmosphere and the earth.

20
Cont.
2. The second view point looks at the aircraft as a passenger-handling system.

• Components of the system include seats, flight attendants, and the air conditioning.

• Interfaces consisting of softness of the seats, meals, and the air flowing from the air
conditioning system.

• Environment is group of passengers.

✓Thus, depending on point of view, we may choose to ignore or solidify certain system
components or interfaces.
21
Granularity
• Granularity: The ability to choose granularity means that a component in one context may
be an entire system in another.

• Example: From an aircraft designer’s view point, a jet engine is a component that
contributes weight, thrust, and drag.

• From a manufacturer of the engine’s view point, a jet engine is a component that
contributes turbines, hydraulic pumps, bearings, and afterburners.

22
Purpose and Granularity Summery
• In summary, to analyze a system we need to determine:

− Which things to consider as components?

− What the granularity of those components should be?

− Where the boundary of the system lies?

− Which interfaces between the system and its environment are of interest?

➢According to the above questions, a computer system is a system intended to store, process, or
communicate information under automatic control, and furthermore, are digital.

23
c. Complexity
• Complex means “difficult to understand”, and “Complexity” will be occurred due to the lack
of systematic understanding.

• Complexity is both a subjective (components) and a relative (observers) concept, means


one can argue that a system is more complex than another, or more easy than other, due to
lack of a unified measure we can not measure well.

• So, there is no unified measure.

24
Cont.
• There are five signs of complexity:

1. Large number of components: The size certainly affects the view of whether or not a
system is “complex”.

2. Large number of interconnections: A few components may be interconnected in an


unmanageably ways.

3. Lack of regularity: Complex systems are characterized by their intricacy, diversity, and the
potential for unexpected behaviors. The presence of exceptions and non-repetitive
interconnection arrangements in a system strongly suggests complexity
25
Cont.

4. Long description. Having a long list of properties rather than a short, systematic
specification that explains every aspect.

5. A team of designers, implementers, or maintainers: Several people are required to


understand, construct, or maintain the system.

26
2. Sources of Complexity
Complexity in computer system design can arise from various sources, making it essential to
identify and manage these factors effectively. Here are some common sources of complexity
in computer system design:

• Hardware Diversity

• Software Interactions

• Security Concerns… etc

27
a. Cascading and Interacting Requirements

• A primary source of complexity is just the list of requirements for a system.

• Each requirement, viewed by itself, may seem straightforward, and add tolerable
complexity to an existing list of requirements.

• However, the problem is that the accumulation of many requirements adds not only their
individual complexities but also complexities for their interactions.

28
Each of these requirements adds
complexity of its own, and the
interactions among them add more
Cont. complexity.

• Example: The manufacture has released a new version of a program, and the new release has some features
that seems important or useful.

− Upon trying to install it, the new release requires a newer version of some shared library package.

− Then the library package requires a newer version of the operating system.

− After installing the operating system, the add-on hard disk begins to act flaky.

• So, the PC has been designed to meet many requirements: a well-organized, file system, expandability of
storage, ability to attach a variety of I/O devices, connection to a network, protection from malevolent
persons elsewhere in the network, usability, reliability, low cost—the list goes on and on.

29
Cont.
• Principle of Increasing Complexity: The principles of
cascading and interacting the growing requirements are
subjective because complexity itself is subjective.

• We can represent graphical interpretation of the principle.

• As the number of requirements grows, so the number of


exceptions and thus the complications will grow.

• Meeting many requirements with a single design is


sometimes expressed as a need for generality.

30
What is Generality?
• Generality: is defined as “applying to a variety of circumstances” which contributes to
complexity, so it comes with a trade-off, and the designer must use good judgment to
decide how much of the generality is actually wanted.

• Example: Design a vehicle that one can drive on the highway, fly, and use as a boat, but the
result of such a general design does not seem to work well in any of the intended modes of
transport.

• Part of the art is designing a subsystem to make its features general enough to minimize the
number of exceptions that must be handled as special cases.
31
Cont.

Note: The major source of complexity is that requirements change. System designs that are
successful usually remain in use for a long time, during which the environment of the system
changes.
32
b. Maintaining High Utilization
• Maintaining High Utilization: It starts with a desire for high performance or high efficiency.

• Example: The train in the canyon is a good illustration of how efforts to increase utilization
can increase complexity.

• The more completely we try to use rare resources, the greater the complexity of the
strategies for use, allocation, and distribution.

33
Cont.
• As a general rule, the more one tries to increase utilization of a limited resource, the
greater the complexity.

34
An example of complexity grows with increasing utilization.
Challenges in CSD
• Balancing performance and cost.

• Compatibility and interoperability between different components.

• Scalability and flexibility for future upgrades.

• Security concerns

• Accommodating diverse user requirements.

35
Any Questions

36

You might also like