|
|
|
@ -0,0 +1,215 @@
|
|
|
|
|
# Computer Organization - Lecture 0
|
|
|
|
|
|
|
|
|
|
**Welcome note**: [Alexndru saying computer](https://www.youtube.com/watch?v=13-roELn-ZE&pp=ygUYYWxleGFuZHJ1IGlvc3VwIGNvbXB1dGVy) 😂
|
|
|
|
|
|
|
|
|
|
## Rules of engagement
|
|
|
|
|
|
|
|
|
|
- [Mentimeter](https://www.menti.com/)
|
|
|
|
|
- Open Discussion
|
|
|
|
|
- Volume-first, first-served
|
|
|
|
|
- Message responsibly, _menti messages are verified by TAs_
|
|
|
|
|
- Arriving late is not a problem, enter through the back door
|
|
|
|
|
- **GOOD**: About tech issues, questions and answers about the topics
|
|
|
|
|
- **NOT GOOD**: Unrelated to the lecture
|
|
|
|
|
- **BAD**: About a colleague
|
|
|
|
|
- **VERY BAD**: Abuse of colleagues
|
|
|
|
|
|
|
|
|
|
## Massivizing computer systems
|
|
|
|
|
|
|
|
|
|
[@L Research](https://atlarge.science/about.html)
|
|
|
|
|
|
|
|
|
|
1. Improve the ives of millions through impactful research
|
|
|
|
|
2. Educate the new generation of top-quality, socially responsible professionals
|
|
|
|
|
3. Make innovation available to society and industry
|
|
|
|
|
|
|
|
|
|
## Golden age of massive computer systems
|
|
|
|
|
|
|
|
|
|
We live in the golden age of massive computer systems. The world is changing at an unprecedented pace, and the digital
|
|
|
|
|
revolution is at the core of this change.
|
|
|
|
|
|
|
|
|
|
### Generality of massive computer systems
|
|
|
|
|
|
|
|
|
|
Everything depends on massive computer systems (networks). Massive computer systems touch every field of human activity.
|
|
|
|
|
|
|
|
|
|
- **Healthcare**: From the moment you are born, your health is monitored by massive computer systems.
|
|
|
|
|
- **Transportation**: Even checking in with [NS](https://www.ns.nl/en) to see if the train is on time is dependent on
|
|
|
|
|
massive computer
|
|
|
|
|
systems.
|
|
|
|
|
- **Finance**
|
|
|
|
|
|
|
|
|
|
## Decision-making (AI)
|
|
|
|
|
|
|
|
|
|
AI based approaches (ML, LLM etc.) are used to make decisions for us. We need large computer systems to make these
|
|
|
|
|
decisions for us.
|
|
|
|
|
|
|
|
|
|
- **AI**: Massive computer systems are used to make decisions for us.
|
|
|
|
|
|
|
|
|
|
Throw a lot of data to science and technology, as well as to datacenters and supercomputers.
|
|
|
|
|
|
|
|
|
|
## Example: PokemonGO
|
|
|
|
|
|
|
|
|
|
What is the software stack behind PokemonGO? Why does it rely on a server infrastructure instead of just running on your
|
|
|
|
|
phone.
|
|
|
|
|
|
|
|
|
|
- **Server**: The server is the one that tells you where the Pokemon are.
|
|
|
|
|
- **Resource Manager and Scheduler**: Software that handles client connections.
|
|
|
|
|
- **Database**: Stores the state of the game.
|
|
|
|
|
- **Datacenter efficiency**: The game is played by millions of people, so the datacenter has to be efficient. The server
|
|
|
|
|
uses more electricity than your laptop could ever handle.
|
|
|
|
|
|
|
|
|
|
## Using reproducible, complex workflows
|
|
|
|
|
|
|
|
|
|
A workflow is a set of tasks with a specific goal. We only now start to understand how to build such workflows such that
|
|
|
|
|
they are reproducible and efficient.
|
|
|
|
|
|
|
|
|
|
## Delivering serverless computing properties
|
|
|
|
|
|
|
|
|
|
Automation (aka serverless) is the future of computing. We are moving towards a world where we don't have to worry about
|
|
|
|
|
the infrastructure.
|
|
|
|
|
|
|
|
|
|
## Downsides of "The Golden Age of Computer Systems"
|
|
|
|
|
|
|
|
|
|
- **Energy consumption**: The energy consumption of datacenters is a big problem.
|
|
|
|
|
- **Jevons paradox**: The more efficient we make datacenters, the more we use them.
|
|
|
|
|
<br>Power consumption of datacenters is growing at an alarming rate. **>1% -> >3%**
|
|
|
|
|
<br>Everyone wants to use powerful, cheap computer systems, but we cannot afford them.
|
|
|
|
|
|
|
|
|
|
## Teaching team
|
|
|
|
|
|
|
|
|
|
- **Lecturer**: Alexandru Iosup
|
|
|
|
|
- **Course coordinator**: Tiziano De Matteis
|
|
|
|
|
- **TA 2**: Radu Nicolae
|
|
|
|
|
|
|
|
|
|
## Principles and methods discussed in this course
|
|
|
|
|
|
|
|
|
|
- **CPU (Central Processing Unit)**
|
|
|
|
|
|
|
|
|
|
**Extra lectures:** (not part of the exam)
|
|
|
|
|
|
|
|
|
|
- GPU (Graphics Processing Unit)
|
|
|
|
|
- FPGA (Field Programmable Gate Array)
|
|
|
|
|
- Domain Specific Architectures
|
|
|
|
|
- DPU (Data Processing Unit)
|
|
|
|
|
|
|
|
|
|
## Moore's Law
|
|
|
|
|
|
|
|
|
|
- **Moore's Law**: The number of transistors in a dense integrated circuit doubles about every two years.
|
|
|
|
|
- We estimated that Moore's Law will end in 2025, but it seems that it will end sooner.
|
|
|
|
|
|
|
|
|
|
## Complexity grows
|
|
|
|
|
|
|
|
|
|
Complex, distributed ecosystems do not act like regular computer systems.
|
|
|
|
|
|
|
|
|
|
**Ecosystems don't have easily**
|
|
|
|
|
|
|
|
|
|
- Simplicity
|
|
|
|
|
- Maintainability
|
|
|
|
|
- Responsibility
|
|
|
|
|
- Sustainability
|
|
|
|
|
- Usability
|
|
|
|
|
|
|
|
|
|
**which includes**:
|
|
|
|
|
|
|
|
|
|
- Synchronization
|
|
|
|
|
- Consistency, consensus
|
|
|
|
|
- Performance
|
|
|
|
|
- Scalability, elasticity
|
|
|
|
|
- Availability, reliability
|
|
|
|
|
- Energy efficiency
|
|
|
|
|
|
|
|
|
|
Operational goals are becoming more complex.
|
|
|
|
|
|
|
|
|
|
## Course goals
|
|
|
|
|
|
|
|
|
|
Gain fundamental knowledge about the **organization** and **architecture** of computer systems.
|
|
|
|
|
|
|
|
|
|
- **Architecture**: The _what?_ = all high-level design aspects
|
|
|
|
|
- Lets programmers interact with the system
|
|
|
|
|
- Lets system designers explain what the system components do
|
|
|
|
|
- **Organization**: The _how?_ = all low-level design aspects
|
|
|
|
|
- How to design and make the system components that implement an architecture
|
|
|
|
|
- Circuits, memory types, signals, making things tick
|
|
|
|
|
|
|
|
|
|
_**Reality is the ultimate check**_.
|
|
|
|
|
|
|
|
|
|
## Part of the Course Goals
|
|
|
|
|
|
|
|
|
|
- **Performance** = how well does the system work?
|
|
|
|
|
- **Sustainability** = how much can the system do with a limited energy stream?
|
|
|
|
|
- **Scalability** = what is the performance limit **wrt / users**, workload, etc.?
|
|
|
|
|
- **Elasticity** = how to scale elastically with the need for performance?
|
|
|
|
|
|
|
|
|
|
## Gamification
|
|
|
|
|
|
|
|
|
|
Take any path that you want. The more you learn, the more points you get.
|
|
|
|
|
|
|
|
|
|
- Lectures
|
|
|
|
|
- Tutorials
|
|
|
|
|
- Golden Exercises (before and after tutorials)
|
|
|
|
|
- Self-Study (**1-6** people)
|
|
|
|
|
- (Many) Quizzes
|
|
|
|
|
- Labs (Assembly)
|
|
|
|
|
- Exams (Mandatory)
|
|
|
|
|
|
|
|
|
|
### Points
|
|
|
|
|
|
|
|
|
|
**Total**: 17850 points
|
|
|
|
|
|
|
|
|
|
To pass the course, you need **5500 points**. To excel, you need 9750 points.
|
|
|
|
|
|
|
|
|
|
| Topic | Points |
|
|
|
|
|
| :--------------: | :----: |
|
|
|
|
|
| Lecture Activity | 700p |
|
|
|
|
|
| Golden Exercises | 500p |
|
|
|
|
|
| Self-Study | 1500p |
|
|
|
|
|
| Labs (Assembly) | 4900p |
|
|
|
|
|
| Surprise Quizzes | |
|
|
|
|
|
| Exams | 8000p |
|
|
|
|
|
|
|
|
|
|
### Concept
|
|
|
|
|
|
|
|
|
|
After you solve mandatory assignments, you have access to _bonus lab assignments_.
|
|
|
|
|
If you have more than **10000 points** you get invited to extra lectures.
|
|
|
|
|
|
|
|
|
|
Good academic behaviour is rewarded.
|
|
|
|
|
|
|
|
|
|
### Tutorials
|
|
|
|
|
|
|
|
|
|
(500+) points
|
|
|
|
|
|
|
|
|
|
- 5-10 minutes / exercise - try to solve individually
|
|
|
|
|
- Golden exercise: 50 points each, 1 before and 1 after the tutorial
|
|
|
|
|
|
|
|
|
|
### Self-Study
|
|
|
|
|
|
|
|
|
|
(1500+) points
|
|
|
|
|
|
|
|
|
|
- Solving exercises from the course book (A or B)
|
|
|
|
|
- Points per completed Chapter
|
|
|
|
|
|
|
|
|
|
## Tutorial & Self Study - Sneak Peek
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
Constructing an OR with NANDs
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Assembly Labs
|
|
|
|
|
|
|
|
|
|
Why assembly? **Mandatory**
|
|
|
|
|
|
|
|
|
|
- You do not really apply theoretical concepts that much in practice, so we will do that with assembly.
|
|
|
|
|
- You will learn how to write assembly code.
|
|
|
|
|
- It's not only about assembly programming, it's also about understanding how to solve complex problems with simple (
|
|
|
|
|
simples) building blocks.
|
|
|
|
|
|
|
|
|
|
Why is assembly still relevant?
|
|
|
|
|
|
|
|
|
|
- Performance 7 Predictability
|
|
|
|
|
- Security
|
|
|
|
|
- Operating Systems / Device drivers
|
|
|
|
|
|
|
|
|
|
### Formalities
|
|
|
|
|
|
|
|
|
|
- **When?**: Starting Week 3
|
|
|
|
|
- **What?**: x86-64 Assembly Programming, 4 mandatory labs (500 points), 6 Extra Assignments (4150 points)
|
|
|
|
|
- **How?**: In groups of 1-2 students. Automated tests on CodeGrade. In person hand-in - explain your code
|