CSE Lec1
CSE Lec1
Lecture 0: Introduction
1
Course Information
o Instructor
n Dr. Nguyen Minh Son ([email protected])
Reading references
2
Objectives – To Learn
Recent trends of architectural features in high-performance
computer systems
o Week 1,2: Elements of Computer System Organization (Ch2)
o Week 3,4: Performance – Term project assignment (Ch6)
o Week 5,6: Virtualization (Ch5)
o Week 7: Fault tolerance (Ch8)
o Week 8: Mid-Term Exam
o Week 9,15: Term Projects
o Week 16: Final Exam
o Week 17: Submission Deadline of Term project Report
3
Course evaluation
o Grading policy:
n Quizzes (attendance) + Term Project: 30%
o Problem Solving: 4 Quizzes
o Presentation: W2 – W4
n Midterm exam + Term Project : 20%
o Problem Solving: 1 exam
o Report: W2 – W4 – W7
o Presentation: W7/8
n Final exam + Term Project : 50%
o Problem Solving: 1 exam
o Report: W9 – W11 – W14
o Presentation: W14/15
o No cheating ?!
4
Computer System Engineering
5
Agenda
o Problem Statement
o System and Complexity
o The Three Fundamental Abstractions
o Naming in Computer Systems
o Organizing Computer Systems with Names and
Layers
o Summary
Industrial Revolution
8
Internet of Things
9
Problem Stament
What will the average score in “math exam” in a
class having 4 students, whose names & scores
are as follows:John,80 Katie,70 Jane,65
John 80 Bob,79
--------------
Katie 70
-----
--------------
---
------
Jane 65 Brain
Bob 79
Averaging
Technique
Average=73.5
Problem Stament: Computer
Average=73.5
John 80
Katie 70
Jane 65
Bob 79
Averaging Technique
(Computer Software)
Computer System Engineering
o Computer System Engineering is a problem-solving activity.
n Itemize desired system functions
n Analyze them
n Allocate functions to individual system elements
o Systems Analyst (computer systems engineer)
n Start with customer-defined goals and constraints
n Derive a representation of function, performance, interfaces,
design constraints, and information structure
n That can be allocated to each of the generic system elements
(i.e., Software, Hardware, People, Database, Documentation,
Procedures)
o Focus on WHAT, NOT how.
12
Criteria for System Configuration: Technical
Criteria for allocation of function and performance to generic system
elements:
o Technical Analysis: (existence of necessary technology,
function and performance assured, maintainability)
o Environmental Interfaces: (proposed configuration integrate with
external environment, interoperability)
o Off-the-shelf options must be considered.
o Manufacturing evaluation: (facilities and equipment available,
quality assured?)
13
Software Engineering
CSE470: Cheng
Criteria for System Configuration: Business Issues
14
Software Engineering
CSE470: Cheng
Hardware and Hardware Engineering
o Characteristics:
n Components are packaged as individual building blocks
n Standardized interfaces among components
n Large number of off-the-shelf components
n Performance, cost, and availability easily
determined/measured
o Hardware configuration built from a hierarchy of
"building blocks."
15
Software Engineering
CSE470: Cheng
Hardware Engineering
16
Software Engineering
CSE470: Cheng
Software and Software Engineering
o Function may be the implementation of a sequential procedure
for data manipulation
o Performance may not be explicitly defined (exception is real-time
systems)
o Software element of computer-based system consists of two
classes of programs, data, and documentation
n Application_Software:
o implements the procedure that is required to accommodate information
processing functions
n System Software:
o implements control functions that enable application software to
interface with other system elements
17
Software Engineering
CSE470: Cheng
CSE: Design Phase
Maintenance Definition
• Operation?
• What?
• Managing?
Development
• How?
18
Definition
o Application domain
o Required functionality
o Required performance
o User interface
19
Software Engineering
CSE470: Cheng
Definition (cont.)
20
Software Engineering
CSE470: Cheng
Development
o System design
n User interface design
n High-level design
o Define modular components
o Define major data structures
n Detailed design
o Define algorithms and procedural detail
n HW design
o Blocks/Subblock
o Interaction
21
Software Engineering
CSE470: Cheng
Development (cont.)
o Coding o Integration
n Develop code for each n Combine modules
module n System testing
n Unit testing
22
Software Engineering
CSE470: Cheng
Maintenance
o Correction - Fix software defects
o Adaptation - Accommodate changes
n New hardware
n New company policies
o Enhancement - Add functionality
o Prevention - make more maintainable
23
Software Engineering
CSE470: Cheng
Umbrella Activities
24
Software Engineering
CSE470: Cheng
Agenda
o Problem Statement
o System and Complexity
o The Three Fundamental Abstractions
o Naming in Computer Systems
o Organizing Computer Systems with Names and
Layers
o Summary
System and Complexity
27
System and Complexity
o Complexity
n Complex means “difficult to understand”
n Underlying feature of complexity – a lack of systematic
understanding
n Complexity is both subjective and relative
n No unified measure of complexity – so describe it!
n Five signs of complexity
o Large number of components
o Large number of interconnections (interfaces)
o Irregularity
o Lack of a methodical description
o Team of size N > 1
28
System DESIGN
o Symbol
29
System DESIGN
o Example
30
System DESIGN
o Example
31
Read and Q&A
o Problem Statement
o System and Complexity
o The Three Fundamental Abstractions
o Naming in Computer Systems
o Organizing Computer Systems with Names and
Layers
o Summary
The Three Fundamental Abstractions
o Memory
n Data items that must be remembered
o Interpreters
n Steps that must be executed
o Communication Links
n Messages that must be communicated
o Goals
n What do the abstractions do?
n How does it do it?
n What are the interfaces?
n What are the ways names are used for interconnection?
Memory
Q&A
47