What is Distributed Systems?

 


Distributed Systems

Almost all of the software we use today is distributed in some way or involves distributed computing. These are only a few instances of distributed systems or distributed computing that we see every day. Google's search engine, Amazon's platforms, Netflix's blockchain, online gambling money transfers, and internet banking, to name a few, are just a few examples. The client-server approach is perhaps the most basic example of distributed systems. A distributed system is a collection of separate and independent software or hardware components called nodes that are connected via a network and work together to achieve a common objective by coordinating and communicating through message passing or events. Depending on the system's needs, nodes of the system might be unstructured or highly organized. In either instance, the system's complexity is concealed from the end-user, whether a person or a computer and the entire system appears to its users as a single computer. So, it's a group of separate computers working together to solve a problem. Even if two programs interact with each other on the same computer and work together to achieve the same objective, a client-server architecture that uses the same machine is not always a distributed system.

Characteristics of distributed systems :

  • No shared clock: Computers contain clocks, also known as timers, which are important electrical devices that keep track of oscillations and assist the computer to maintain track of time. This, in turn, aids in determining the sequence of events and controls the timing and pace of computer processes. The clocks of two programs communicating on the same machine are the same. Another need for distribution systems is that each component of the system must have its CPU. Coordination and synchronization are key to achieving harmony.
  • No shared memory: This is yet another important characteristic of distributed systems. This means that virtually every process has its memory to deal with, and states are dispersed across the system.
  • Concurrency: Another key feature of distributed systems is that the system's software and hardware components, often known as processes, are independent and perform tasks concurrently.
  • Heterogeneity and loose coupling: It denotes that the processors are autonomous and distinct from one another, as well as having various speeds. Even though heterogeneity in loose coupling is not required, nodes in distributed systems almost always run different operating
  • systems. Components can be built using a variety of technologies and run on a variety of platforms.
  • Fault tolerance: Ability to function correctly even if faults occur.
  • Openness: Easily extended and modified.
  • Scalability: Possibility of adding new hosts.
  • A distributed system is a dynamic system that allows computers or nodes to join and leave at well. Nearly all existing large distributed systems, especially modern ones are overlaying networks.

Centralized Systems

A centralized system is one in which all or almost all of the processing and calculation takes place on a single server. The deployment of all computer resources, as well as the administration and management of a central server, are all possible with centralized computing. The central server, in turn, is responsible for delivering application logic, processing, and computing resources to the client PCs. A centralized system is similar to a client/server architecture, in which one or more client PCs are connected directly to a central server. Typically, each client PC is a thin client with little or no computing power. Common characteristics include a visual display, basic input devices, and a small CPU with networking capabilities. Client PCs connect through the internet to a central server, which does the computations. On the central server, the primary program, massive processing resources, storage, and other high-end computer-intensive elements are all installed. All client nodes rely on the central server for application access, processing, storage, Internet connectivity, and security. In addition, in centralized computer architecture, the administrator manages all client nodes from a single-server interface.

Characteristics of centralized systems :

  • The centralized system is made up of a huge number of sites, each with its domain controller, exchange server, and global catalogue server.
  • There is a single point of failure and control, whether they operate or not.
  • In general, the computer system office locations have fewer or changing numbers of users.
  • In most cases, the connectivity is organized as a data centre or central hub.
  • New connections between the computer system's office locations and the data centre are typically limited capacity, have a brief latency, or are insecure.
  • All users have access to the components at all times.
  • All resources and methods are available.
  • All elements of the construction utilize the same programming language and compiler.
Massive Multiplayer Online Games

Massive Multiplayer Online Games (MMOGs) are games that are played online by a large number of people at the same time. These games are defined by two key features. In a single gaming environment, the ability to handle a high number of players at once generally varies from 1000 to 10000. Have a gaming world that lasts. This implies that the game environment is constantly maintained and created; it cannot be interrupted, halted, or reset. It will continue even if some players are not there. Furthermore, every action and modification made to characters or things has a long-term consequence that cannot be undone.
Massive Multiplayer Online Games evolved from Multi-User Dungeons, which were relatively restricted text-based games. The first Multi-User Dungeons arose on university networks and later bulletin boards in the late 1970s. Because bandwidth and processing capacity were restricted at the time, these were extremely rudimentary text-oriented games. Massive Multiplayer Online Games evolved into graphical games with more and more options as computer technology advanced in the 1980s and 1990s. However, there are no major commercials. Massive Multiplayer Online Games (MMOGs) had been produced until the late 1990s when Ultima Online, Lineage, and Everquest took the genre into the mainstream. Massive Multiplayer Online Games (MMOGs) today provide players with sophisticated 3D graphics and a vast virtual environment to explore. Although player interaction is an important component of these games, they do not centre entirely around it; computer-controlled characters and other computer-controlled things frequently play a significant role.
Early Multi-User Dungeons were basic client-server programs that ran on university mainframes and bulletin boards. As the games' sophistication and capabilities grow, so does the burden they place on the servers that power them. Despite the constant development of faster and more powerful computers, the resources necessary to operate these games are just too much for a single machine to manage. Today's Massive Multiplayer Online Games, like the early Multi-User Dungeons, employ client-server architectures, but the servers are large clusters ranging from 10 to 100 state-of-the-art machines.
These are some of the potential issues that might arise with a big distributed computing system. The first problem that arises is that bandwidth constraints make it difficult for users to send and receive all updates from and to all other users. In most cases, the participants in a Massive Multiplayer Online Game do not have the type of high-speed connections that would be required
for it. Thankfully, most gamers aren't interested in the entire game universe. Because the characters' sensing abilities and movement speed are limited, they only require knowledge about a tiny portion of the environment in their immediate area. This may be used in a variety of ways with interest management. The globe is frequently split into areas, similar to how client-server architectures use zoning.
The game environment must be consistent for all players for them to play together and interact with one another. If player A, for example, opens a chest and picks up its contents, the chest must be empty when player B comes later.
Massive Multiplayer Online Games include four main sorts of components in their gaming worlds: static scenery, intractable items, player-controlled characters, and computer-controlled characters. All of the static items and terrains that will not change during the game are included in the landscape. It is generally part of the client software since it is always the same for everyone and does not contribute to the game state that must be shared and preserved across peers. The intractable items, as well as both player-controlled and computer-controlled characters, make up the ever-changing dynamic game state. This game state must be constant for all players, but they do not need to be aware of the status of every object in the game environment at all times. To have every participant continually maintain track of the whole game state and get every update would require much too much memory, processing power, and internet use.
Peers, however, do not always quit the game in the manner that you would want. They can simply crash or disconnect without turning over their duties or game state to the rest of the network, thereby causing game state loss. When a coordinator of a region crashes in the game state distribution system, the state of that entire area is lost.
When a player has high latency, it will take longer to transmit and receive updates, thereby affecting playability. The high latency of this one player, on the other hand, has no effect on the game for the other players; they may still send and receive updates from the server without delay. Even interactions with players with excessive latency will not be a problem because the server manages their state and can still make adjustments.

Comments

Popular posts from this blog

Programming Using GNU Octave

Library Problem

What Is A Gamma Ray Burst?