Search code examples
computer-sciencecpu-architecture

Book for computer structure for beginners, for clusters / parallel systems


currently I am working on a cluster and encounter a lot of phrases like "threads", "hosts", "MPI", "cores", "processes" , "compute nodes".

Do you have an advice for a book which explains very basically the computer structure (basically how a computer is build) from scratch and then also goes into detail for larger computing structures, i.e. clusters? Or do I need two books, one for the basics of computer structure and the other one for larger structures?

I would like to welcome all suggestions and I would like to outline that it would be nice if it would start from scratch and is suited for beginners. I'm Master in physics, but don't have much knowledge about computer structure yet, which I would like to change in the future.


Solution

  • I ll try to analyze every term you wrote and explain the connections between them but very briefly.

    Here is some very good source about paralle computing and all the terms you are referring.

    1. Computer nodes are devices on a larger network ,practically is everything that has an IP adress.These devices are capable of either sending, receiving, or forwarding information and sometimes all three together.Here is a photo to explain visual the term: enter image description here

    2. Threads and Processes are connected .A thread is a component of a process. In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.Threads also called light-weight processes.

    enter image description here

    1. Message Passing Interface (MPI) is used in parallel computing architectures.MPI is a specification for the developers and users of message passing libraries. By itself, it is NOT a library - but rather the specification of what such a library should be.Today, MPI runs on virtually any hardware platform:
      • Distributed Memory
      • Shared Memory
      • Hybrid

    4.In relation to computer processors, a core is the processing unit that receives instructions and performs calculations, or actions, based on those instructions. A set of instructions can allow a software program perform a specific function.

    Processors can have a single core or multiple cores. A processor with two cores is called a dual-core processor and four cores is called a quad-core processor. Processors for home computers can even have six or eight cores. The more cores a processor has, the more sets of instructions the processor can receive and process at the same time, which makes the computer faster.