System Design — Other Topics

Concepts and considerations for some topics in System Design

Larry | Peng Yang
Computer Science Fundamentals

--

Table of Contents

  1. Concurrency
  2. Networking
  3. Abstraction
  4. Read-world performance and estimation
  5. Map-reduce
  6. Hadoop and Spark

❤️ Thank you for reading! Looking for a comprehensive system design course? check out Educative and Design Gurus!

1. Concurrency

1.1 Threads and processes

  • A thread is a basic unit of CPU utilization. It is also referred to as a “lightweight process”.
  • A process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system, a process may be made up of multiple threads of execution that execute instructions concurrently.
  • CPU is not required when a process is handling the IO request.

1.2 Concurrency and parallelism

  • Concurrency means executing multiple tasks at the same time but not necessarily simultaneously. In a single-core environment, concurrency is achieved via a process called…

--

--