ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Parallel & Distributed Computing
    COMP3139
    Progress0 / 33 topics
    Topics
    1. Introduction to Parallel and Distributed Systems2. Why Use Parallel and Distributed Systems?3. Speedup and Amdahl's Law4. Hardware Architectures: Multi Processors (Shared Memory)5. Hardware Architectures: Networks of Workstations (Distributed Memory)6. Hardware Architectures: Clusters (Latest Variation)7. Software Architectures: Threads and Shared Memory8. Software Architectures: Processes and Message Passing9. Software Architectures: Distributed Shared Memory (DSM)10. Software Architectures: Distributed Shared Data (DSD)11. Parallel Algorithms12. Concurrency and Synchronization13. Data and Work Partitioning14. Common Parallelization Strategies15. Granularity16. Load Balancing17. Examples of Parallel Algorithms: Parallel Search18. Examples of Parallel Algorithms: Parallel Sorting19. Shared-Memory Programming20. Threads in Shared-Memory Programming21. P Threads22. Locks and Semaphores23. Distributed-Memory Programming24. Message Passing25. Map Reduce26. Distributed-Memory Programming with PI27. Google's Map Reduce28. Hadoop29. Other Parallel Programming Systems30. Tread Marks31. Distributed Shared Memory32. Aurora: Scoped Behavior and Abstract Data Types33. S Enterprise: Process Templates
    COMP3139›Hardware Architectures: Networks of Workstations (Distributed Memory)
    Parallel & Distributed ComputingTopic 5 of 33

    Hardware Architectures: Networks of Workstations (Distributed Memory)

    8 minread
    1,369words
    Intermediatelevel

    Hardware Architectures: Networks of Workstations (Distributed Memory)

    In computing, distributed systems use multiple computers or workstations to solve a common problem, but these systems are connected over a network. Networks of Workstations (NOW) are one such architecture where many individual computers (workstations) are connected via a network to work together on a task. This model is based on distributed memory systems, where each workstation has its own local memory, and processors communicate by sending messages over the network.

    Let’s explore the concepts of Networks of Workstations (NOW) in detail.


    1. What is a Network of Workstations (NOW)?

    A Network of Workstations (NOW) is an architecture where multiple independent workstations (usually desktop or server computers) are connected through a network (such as Ethernet, InfiniBand, or other communication protocols). These workstations are distributed and typically have their own local memory, which they do not directly share with other workstations. Communication between these workstations happens through message passing over the network.

    Key Characteristics:

    • Distributed Memory: Each workstation has its own memory, and there is no shared memory across workstations (in contrast to shared memory architectures like SMP).
    • Interconnected by a Network: Workstations communicate with each other through a network connection (e.g., local area network or LAN).
    • Independence: Each workstation is an independent computer with its own processor and memory.
    • Scalability: The system can scale easily by adding more workstations to the network, without significant changes to the hardware or software.

    2. Distributed Memory vs. Shared Memory

    In a shared memory system, multiple processors access a common memory space, which is shared across all the processors. This allows for easy communication between processors, as they can directly read and write to the same memory locations.

    In a distributed memory system like NOW:

    • Each processor (workstation) has its own private memory. No processor directly accesses the memory of another.
    • To share data or synchronize, processors must send messages across the network, which involves message passing.

    Thus, distributed memory systems require explicit communication between processors, which can add overhead but can also provide benefits in terms of scalability and fault tolerance.


    3. How Do Networks of Workstations Work?

    In a NOW, workstations (which are individual nodes in the system) can communicate by sending messages over the network. Each workstation performs its own part of the computation and, when needed, sends data to other workstations.

    Here’s a step-by-step outline of how NOW systems work:

    1. Task Partitioning: A large computation is divided into smaller subtasks. Each workstation is assigned a subtask to perform. These subtasks can run in parallel.
    2. Local Memory: Each workstation has its own memory where it stores data for the computation it is working on.
    3. Message Passing: When one workstation needs data from another (for example, to combine results or to continue the computation), it sends a message over the network. This could be data, instructions, or results of computation.
    4. Synchronization: If the tasks depend on each other, the workstations may need to synchronize their execution. This could involve waiting for results from other workstations or coordinating shared steps.

    4. Advantages of Networks of Workstations (NOW)

    1. Scalability:

      • Easy Expansion: You can add more workstations to the network without changing the existing system. Each new workstation simply connects to the network and starts sharing the computational load.
      • Flexible Growth: You can scale the system depending on your needs, adding more computational power when required by increasing the number of workstations in the network.
    2. Cost-Effectiveness:

      • Using Existing Hardware: NOW systems often use existing workstations or personal computers connected through the network, which makes the system relatively cheap compared to building a large, centralized supercomputer.
      • Commodity Hardware: Since the workstations are typically off-the-shelf computers, they don’t require specialized hardware like custom interconnects, which can make the system affordable for organizations or research teams.
    3. Fault Tolerance:

      • Redundancy: Since each workstation is independent, a failure in one workstation does not necessarily affect the others. The system can continue to operate even if some workstations fail.
      • Distributed nature: If one workstation goes down, other workstations can potentially take over its work, or the tasks can be rerouted to other available workstations.
    4. Flexibility:

      • Variety of Tasks: NOWs can run different types of tasks on different workstations, allowing for a variety of applications to be processed in parallel.
      • Geographical Distribution: Workstations can be distributed geographically, connected over the internet or local networks, which is beneficial in distributed computing applications like grid computing or cloud computing.

    5. Challenges of Networks of Workstations (NOW)

    1. Communication Overhead:

      • Message Passing: Since the memory is distributed, workstations must rely on message passing to exchange data. This introduces latency and overhead compared to shared memory systems where data can be directly accessed by all processors.
      • Network Latency: Communication between workstations is subject to network delays, which can become a bottleneck, especially when large amounts of data need to be transferred between workstations.
    2. Synchronization:

      • Complex Coordination: Since there’s no global memory, synchronizing operations across multiple workstations can be complex. Algorithms need to handle situations where workstations must wait for others to finish certain computations.
      • Distributed Locks: Ensuring data consistency in a distributed memory system often requires implementing complex synchronization mechanisms, like distributed locks or consensus protocols.
    3. Programming Complexity:

      • Message Passing Interface (MPI): To program for NOW systems, developers need to explicitly manage communication between workstations, often using tools like MPI (Message Passing Interface). This adds complexity compared to shared-memory systems where the operating system handles much of the communication and synchronization.
      • Data Partitioning: Effective partitioning of tasks across workstations is critical. If data isn’t partitioned effectively, it can lead to unbalanced workloads and idle processors, reducing performance.
    4. Network Congestion:

      • Bandwidth Limitations: The performance of a NOW system can be limited by the available network bandwidth. If many workstations need to communicate frequently, the network may become congested, leading to delays in message passing.

    6. Examples of Networks of Workstations (NOW)

    1. Cluster Computing:

      • In a cluster computing environment, a set of workstations (or nodes) are connected via a network to form a high-performance computing cluster. This type of setup is common in scientific research and simulation tasks, where large computations can be divided into smaller subtasks across many nodes.
    2. Grid Computing:

      • Grid computing involves connecting geographically dispersed computers across a network to solve complex problems collaboratively. Each workstation in the grid has its own local memory and contributes to the computation by passing messages over the network.
      • Example: SETI@home, where idle personal computers participate in the processing of radio signals from space by joining a distributed network.
    3. Cloud Computing:

      • While cloud computing usually abstracts the underlying hardware, it often involves a network of distributed workstations (or servers) working together to handle computational tasks. Each server has its own memory, and they communicate over a network to complete tasks, such as web hosting or large-scale data processing.
    4. Beowulf Clusters:

      • A Beowulf cluster is a popular type of NOW system in scientific and academic computing. It consists of a collection of standard desktop computers connected via Ethernet, which work together as a unified system to solve computational problems. These clusters are typically programmed using message passing (MPI) or similar technologies.

    7. Conclusion

    Networks of Workstations (NOW) are an efficient and flexible way to build distributed systems with distributed memory. By connecting independent workstations over a network, this architecture provides high scalability and cost-effectiveness for solving large problems. However, it also comes with challenges such as communication overhead, synchronization issues, and programming complexity due to the need for explicit message passing and coordination.

    NOW systems are ideal for environments where tasks can be divided into independent subtasks, and where resources can be easily added or removed from the network. They are used in a variety of fields, including scientific research, grid computing, cloud computing, and high-performance computing clusters.

    As with any distributed system, the efficiency of a NOW system depends on how well the tasks are partitioned and how effectively the communication overhead is managed. Despite these challenges, the NOW architecture remains a powerful tool for solving complex, large-scale problems in modern computing.

    Previous topic 4
    Hardware Architectures: Multi Processors (Shared Memory)
    Next topic 6
    Hardware Architectures: Clusters (Latest Variation)

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time8 min
      Word count1,369
      Code examples0
      DifficultyIntermediate