Routing and Computing

Routing and Computing
Devadharson Sasikumar, Sri Surapaneni,Soham Kulkarni, Jonathan Liu: 11/30/23

Fault Tolerance
Sri Surapaneni

Routing, also known as Fault Tolerance is the practice of connecting devices together and the ability to share data between them.

In this representation, each computer will be represented by a letter and each connection between them being a line.

A fault is an obstruction of one of the lines seen in the image, in literal terms an obstruction and loss of connection and communication between the computers.
Fault tolerance is what will happen to the network if one of those lines are shut down.

Do you know why the top image is not fault tolerant?

How Redundancy Helps Fault Tolerance

In this diagram, each computer is linked to another computer multiple times.

In this representation if one of the computer's communication lines is severed, it is more fault tolerant for it has other routes it can take to reach the same computer.
If a computer has multiple routes to the same computer it is conisdered "redundant"; however, that is not a bad thing, because with only one route the network may be slower, and it is safer.

In this diagram, is the network fault tolerant if we broke one communication line in any location?


In this diagram, is the network fault tolerant if one of any of the lines break


All of this represents the network and internet, the letters represent devices such as our computers in class right now, and the wires are inside of our computer, redundancy increases reliability on the internet and scales it to more people.
As a matter of fact: your room probably has 2 doors to exit

Fault Tolerance Continued
Soham Kulkarni

So if you remove a line, then we know that the network breaks, and it says that if a device or connection fails, then the data will be sent through another route. We also learned that fault tolerant networks are reliable and strong. So here are hacks:

Which of the following is NOT a fault-tolerant network?

A. Data has more than one path to travel from one device to another.

B.If part of the network fails, the network sitll functions via alternative path

C.Data will only take one route from one device to another, no matter the number of routes available.

D. More devices creates more connections and makes the network stronger.

Here is another example, what would make this network fault-tolerant?

      A, because if you remove the wire, then there will be no connection, but if you add it, there are multiple paths and you would create a strong, fast network

Fault tolerance is a really important thing in the internet as it creates multiple paths and connects all of us to it. If a connection fails, there are multiple other paths.

    

Computing
Jonathan Liu and Deva Sasikumar

Parallel and Distrubuted Computing

What is it?

Why use it? Types of Parallelism Challenges of parallel computing Applications of parllalel and distibuted computing Sequential Computing
        Parallel Computing:
        Code gets broken into small sequential operations performed simultaneously
        Parallel computing schedules tasks that get executed at the same time
        Done on the same computer
        Parallel consists of parallel portion and sequential portion
        Comparing efficiency = comparing the time it takes to perform the task
        
      
        Why:
        Hardware driven: multiple processors
        Link hundreds of cpu together 
        Data: lot of data gets processed same way (SIMD) (Single Instruction Multiple Data)
        Solutions use parall computing scale effectively
      

Quick Question:

    Assuming there are 4 cores,
    Core 1's task takes 45ms
    Core 2's tasks takes 50ms
    Core 3's tasks take 30ms
    Core 4's tasks take 40ms,

    How long will the program take to run?
   

Distributed computing:
Google web search: google sends request to thousands of servers
Web services: (protocols like soap rss rest)
Beowolf clusters: special software to group different computers together

Distributed:
Uses more than one computer
Needs network
Is a mix of seq and par
Takes longer based no network
   

Homework:

  Question 1: What is parallel computing?
  Question 2: If there is a computer with 3 cores that can each take one task, and the tasks are 25ms, 632ms and 100ms in run time respectively, how long will the program take to run?
  Question 3: Is sequential or parallel computing more efficient, and why?
  Question 4: What is the term called when a network has multiple paths leading up to one destination? (Used in fault-tolerant systems)
  
  Question 5: Using the image above, is this fault tolerant?
Due Dec 5th (Tuesday), at 8:30 AM, submit your answers to us on Slack