Week 1
Week 1
2
Cont.
• In this course we clarify a concept called “systems perspective”.
• 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
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.
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.
− Reduces latency.
8
CSD Problems
• There are two ways in which computer systems face problems:
c. Complexity
2. Sources of Complexity
• 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
− 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.
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.
• 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:
− 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
• 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:
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.
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.
✓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 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.
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”.
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.
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
27
a. Cascading and Interacting Requirements
• 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.
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.
• Security concerns
35
Any Questions
36