HARDWARE AND SOFTWARE CONCEPTS
Hardware concepts :-
Hardware in Distributed Systems can be organized in several different ways:
- Shared Memory (Multiprocessors , which have a single address space).
- Private Memory (Multicomputers, each CPU has a direct connection to its local memory).
Multiprocessors – Bus Based
- Have limited scalability
- Cache Memory help avoid bus overloading.
Multiprocessors – Switch Based
- Different CPUs can access different memories simultaneously
- The number of switches limits the number of CPUs that can access memory simultaneously
a) A crossbar switch
b) An omega switching network
- All CPUs and memory are identical;
- Connected through a broadcast shared multi access network (like Ethernet) in bus based systems;
- Messages routed through an interconnectionn network in switch-based multicomputers (e.g., grids, hipercubes…).
- The most usual topology;
- Computers may vary widely with respect to processor type, memory size, I/O bandwidth;
- Connections are also diverse (a single multicomputer can simultaneously use LANs, Wide Area ATM, and frame relay networks);
- Sophisticated software is needed to build applications due to the inherent heterogeneity;
- Examples: SETI@home, WWW…
Software Concepts :-
Uniprocessor Operating Systems
- An OS acts as a resource manager or an arbitrator : Manages CPU, I/O devices, memory
- OS provides a virtual interface that is easier to use than hardware
- Structure of uniprocessor operating systems: Monolithic (e.g., MS-DOS, early UNIX)
- One large kernel that handles everything: Layered design
- Functionality is decomposed into N layers
- Each layer uses services of layer N-1 and implements new service(s) for layer N+1