Computing Architecture terms

Reading Time: 2 minutes

Process — an instance of a computer program that is being executed. It has its own set of resources (e.g. memory) that are not shared with other processes.

Thread — a process may run multiple threads to perform instructions in parallel. Threads within a process share resources (e.g. memory).

Server — a program running to serve the requests of other programs. The term is also used to refer to a physical computer dedicated to run one or more services.

Multi-Process — adding more throughput by running multiple instances of a process or service. These can be on a single server or can be distributed across multiple servers.

Multi-Threaded — within a process, being able to perform multiple tasks simultaneously across multiple CPUs.

Scalability — scalability is about supporting multiple simultaneous actions, not about making a single action faster.

Availability — the ability of a solution to be resistant to component failures. Increasing the availability of a solution will increase the cost.

Scale Up vs Scale Out

Scale Up — adding more resources (CPU, RAM, etc) to a single server.

Scale Out — adding more resources (CPU, RAM, etc) by adding more servers in a “cluster”.

Single Point of Failure – within a solution, a component that if it fails will cause the solution to fail as a whole.

Active/Active – when all instances of a multi-process service will process requests.

Active/Passive – when only some instances of a multi- process service will process requests and the other instances are only activated in the event of a component failure. Hardware Architecture Terminology