Lecture 2

Clustered Systems

Defining Clustered Systems

What are Clustered Systems?

  • Cluster systems are multiple independent computer systems working in tandem

  • Cluster systems are connected to a shared storage called the storage-area network (SAN)

    • This format has high-availability, meaning it's designed in a way which survives failures.

Types of Clustered Systems

Types of Clustered Systems

  • Asymmetric Clustering System:

    • One system is on hot standby mode.

    • This system on standby will monitor the other systems and will take the place of another system if failure occurs on a system

  • Symmetric Clustering System: multiple nodes run applications while monitoring each other

Distributed vs Parallel

  • Some clusters are created for high-performance computing (HPC) and these must be written in parallelization

      • Parallelization: the computer breaks down problems into small pieces to be solve by independently completed thus considerably faster then normal means

  • Some clustered systems use a distributed lock manager (DLM) in order to avoid conflicting operations

Operating System Structure

  • Multiprogramming (Batch System); helps efficiency

    • Impossible for one users to have a CPU and Input/Output, I/O, devices always running

    • To keep the system always running multiprogramming organizes the jobs, code and data, to maintain a constantly running CPU

    • Parts of all the jobs are kept in memory

    • Job scheduling describes the process of selecting and queuing up job to maintain a CPU

    • Instead of the CPU waiting when needed (like getting an I/O) the Operating System instead switches it to another Job while waiting to keep the CPU running

Memory Layout for Multiprogrammed System

Multiprogrammed Layout

  • Multitasking (Time sharing)

    • Job switching the CPU so much it allows users to interact with running jobs thus interactive computing

    • Requires a response time of <1 second to be consider multitasking

  • Process: programs executing in memory from the user

  • CPU scheduling: selects which queued process to be done by the CPU and allocates the CPU to that process

  • Processes that are too big for memory are swapped in and out to be run

  • Uses Virtual Memory to execute processes not all the way in memory

Operating-System Operations

  • Operations are interruption driven by hardware and software

    • Kinda of like getting any work done in life- constant interruptions

    • Hardware interruption comes from the device aka hardware

    • Software interruption come as either an exception or a trap caused by:

      • Software errors( e.g. anything/0)

      • Requesting for the operating system service

      • Any other process problems like logic errors or modifying another process/operating system

        • Like deleting System 32?

  • There is Dual-mode operation creating protection for the OS, Operating System, and other system components

    • The modes are User mod and Kernel mode

    • Then there is mode bit provided by hardware to switch between the two

      • This mode bit shows the system us the code is user or kernel code

      • Some code however is designated douches who are privileged thus only accept running in the kernel mode and not the plebeian user mode that the commoners use

      • For this code the mode bit is used to dip into kernel mode run the privileged aspects and before the code is returned to user to work through the rest of the peasant code.

    • Because down with the monarchy CPU's support multi-mode operations showing that privileged code is not really special

      • For example there is a virtual machine manager of guest virtual machines ????

  • Example of using mode bit:

  • The system uses a timer to prevent infinite loops/ and resource hogging

    • Interrupts the computer after set time period

    • keeps a counter that uses a physical clock

    • the OS, operating system, sets the count using privileged instructions

    • When the countdown ends it sends an interrupt

    • This is set up before the scheduling process to regain control of the computer or terminating programs that have been alive for two long, like zombies?

Process Management

  • More like resource management, for this is managing the resources for the passive entities, programs, and mainly the active entities, processes.

  • For the main management of a process it needs numerous resources:

    • CPU, memory, I/O, files

    • also Initialization data

  • For process termination it requires reclaim the reusable resources from the process

  • For a typical system the are many processes including user and OS, operating systems, running at the same time one or more CPU by multiple the CPU among the processes/threads

  • Activities this is responsible for:

    • Creating and deleting both user and system processes

    • Suspending and resuming processes

    • Providing mechanisms for process synchronization

    • providing mechanism for process communication

    • Providing mechanisms for deadlock handling