0% found this document useful (0 votes)
17 views12 pages

Issues in Distributed Computing Systems

The document describes issues in distributed systems and computer networks. Common issues include interdependency, security, and increased costs with scalability. Unique distributed system issues include interference and lack of concurrency, intercommunication challenges, expensive processing due to more resources used, and data redundancy from multiple cached copies. The document also provides a detailed explanation of how internet routing works, including routing tables, algorithms, metrics, and switching to determine optimal paths despite routers not having full routing information for the entire internet.

Uploaded by

Waqar Ahmad
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views12 pages

Issues in Distributed Computing Systems

The document describes issues in distributed systems and computer networks. Common issues include interdependency, security, and increased costs with scalability. Unique distributed system issues include interference and lack of concurrency, intercommunication challenges, expensive processing due to more resources used, and data redundancy from multiple cached copies. The document also provides a detailed explanation of how internet routing works, including routing tables, algorithms, metrics, and switching to determine optimal paths despite routers not having full routing information for the entire internet.

Uploaded by

Waqar Ahmad
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

TEXAS STATE UNIVERSITY

Assignment 1
Distributed Computing
Harshit Pandey 6/19/2010

ID- 589246

1. (15 pts) (1) Describe two issues that are common to both distributed systems and computer networks. (2) Describe two issues that exist only in distributed system.

SOLUTION: ANSWER 1 As the definition says, the distributed computing comprise of multiple autonomous computers that communicate through networks. These computers communicate with each other to achieve the common goal. Hence distributed computing and computer networks most of the common problems altogether. 1. Some of the issues that are common to both distributed computing and computer networks are enlisted below (a) Interdependency and loosely coupled system. Loosely coupled systems (system with least interdepency among components) ensure efficient and healthy system state. The low interdepency among components mitigates the risk of complete system failure. In general, the bigger the network or DS, the higher the resources required to manage and hence increased complexity. Furthermore, in a tightly- coupled system, one component failure could significantly affect the working of the other part of system or end up with complete failure of system. (b) Security Issues: Security is the prime issue in both the Distributed Computing (DS) and computer networks. Considering the situation that require transfer of confidential information (example: Financial Information, Personal Information, Official Information) needs a suitable system that ensure safe and secured data movement across the system. Failing to provide required security anticipate crucial loss of information among the system. Integrity of the information which covers information alteration or un-authorized access is the major possible flaw. (c) Increased cost with the scalable system: The cost of setting up large network of distributed system requires more consumption of resources and hence significant increase setup cost and maintenance. Large network requires move investment of time and money for wear-tear and maintenance of the system and expensive the process gets into. Scalable system requires effective processing state even on significant increment of resources involved. 2. The issues that are specific to Distributed Computing are discussed here: (a) Interference & lack of concurrency: In the case of the distributed computing the individual components should be well under stood and the combinational behavior requires proper coordination. The interface of one component interfering onto the task assigned to other component could result into halting of the system. Similarly, the data transmission in the large

network required well-coordinated structure. Increased network size brings more complexity in data communication and message exchange. Each thread and process has to have an access clock to synchronize the procedural working of system. (b) Intercommunication: The intercommunication among the distributed components plays prime importance to maintain healthy and effective state of the system. The intercommunication require rigorously worked algorithm which ensure the loosely coupled system each working individually and helping corresponding bit for problem resolution. Bottlenecks, thread locking, halting, catch22 are often seen in resolving a common problem while using distributed system.

(c) Expensive Processing: Due the large level engagement of systems, the more processers are involved to resolve a problem. Increased involvement of resources forestalls complexity and brings increased maintenance cost. (d) Data Redundancy: Since the satellite processors work remotely, so each process (proxies) possibly own its personalized cached copy of shared data. The multiple cached copies can result in clustering of dataset and un-organized data replication problem.

Question 2: (15 pts.) For the transaction shown in Figure 1 please write a program that uses fork and join constructs to implement the transaction.

ANSWER 2 :
cnt6:= cnt6-1; if cnt6 !=0 then quit; cnt7:=cnt7-1; if cnt7 !=0 then quit; cnt6:=2; cnt7:=2; S1; FORK (L1); S2; S4; FORK (L6); GOTO L5; L1:S3; L6: JOIN (cnt6); S6; GOTO L7; L5: S5; L7: JOIN (cnt7); S7;

3. (15 pts. Problem 3.2, p.128) The Internet is far too large for any router to hold routing information for all destinations. How does the Internet routing scheme deal with this issue?
ANSWER: 3 To answer this question let us discuss in brief detail about how routing is made through Router. WHAT IS ROUTING? Routing is the act of moving information across an internetwork from a source to a destination. Along the way, at least one intermediate node typically is encountered. Routing is often contrasted with bridging, which might seem to accomplish precisely the same thing to the casual observer. The primary difference between the two is that bridging occurs at Layer 2 (the link layer) of the OSI reference model, whereas routing occurs at Layer 3 (the network layer). This distinction provides routing and bridging with different information to use in the process of moving information from source to destination, so the two functions accomplish their tasks in different ways. ROUTING COMPONENTS Routing involves two basic activities: determining optimal routing paths and transporting information groups (typically called packets) through an internetwork. In the context of the routing process, the latter of these is referred to as switching. Although switching is relatively straightforward, path determination can be very complex. PATH DETERMINATION A metric is a standard of measurement, such as path length, that is used by routing algorithms to determine the optimal path to a destination. To aid the process of path determination, routing algorithms initialize and maintain routing tables, which contain route information. Route information varies depending on the routing algorithm used.

ROUTING ALGORITHMS Routing algorithms ll routing tables with a variety of information. Destination/next hop associations tell a router that a particular destination can be gained optimally by sending the packet to a particular router representing the next hop on the way to the nal destination. When a router receives an incoming packet, it checks the destination address and attempts to associate this address with a next hop. Figure 1 depicts a sample destination/next hop routing table.

FIGURE 1: DESTINATION/NEXT HOP ASSOCIATIONS DETERMINE THE DATA S OPTIMAL PATH .

Routing tables also can contain other information, such as data about the desirability of a path. Routers compare metrics to determine optimal routes, and these metrics differ depending on the design of the routing algorithm used. A variety of common metrics will be introduced and described later in this chapter. Routers communicate with one another and maintain their routing tables through the transmission of a variety of messages. The routing update message is one such message that generally consists of all or a portion of a routing table. By analyzing routing updates from all other routers, a router can build a detailed picture of network topology. A link-state advertisement, another example of a message sent between routers, informs other routers of the state of the senders links. Link information also can be used to build a complete picture of topology to enable routers to determine optimal routes to network destinations. SWITCHING Switching algorithms are relatively simple and are basically the same for most routing protocols. In most cases, a host determines that it must send a packet to another host. Having acquired a routers address by some means, the source host sends a packet addressed specically to a routers physical (Media Access Control [MAC]-layer) address, this time with the protocol (network layer) address of the destination host. As it examines the packets destination protocol address, the router determines that it either knows or does not know how to forward the packet to the next hop. If the router does not know how to forward the packet, it typically drops the packet. If the router knows how to forward the packet, it changes the destination physical address to that of the next hop and transmits the packet. The next hop may, in fact, be the ultimate destination host. If not, the next hop is usually another router, which

executes the same switching decision process. As the packet moves through the internetwork, its physical address changes, but its protocol address remains constant, as illustrated in Figure 2.

ROUTING ALGORITHMS Routing algorithms can be differentiated based on several key characteristics. First, the particular goals of the algorithm designer affect the operation of the resulting routing protocol. Second, various types of routing algorithms exist, and each algorithm has a different impact on network and router resources. Finally, routing algorithms use a variety of metrics that affect calculation of optimal routes. The following sections analyze these routing algorithm attributes.

DESIGN GOALS Routing algorithms often have one or more of the following design goals: Optimality Simplicity and low overhead Robustness and stability Rapid convergence Flexibility Optimality refers to the capability of the routing algorithm to select the best route, which depends on the metrics and metric weightings used to make the calculation. For example, one routing algorithm may use a number of hops and delays, but it may weigh delay more heavily in the calculation. Naturally, routing protocols must define their metric calculation algorithms strictly. Routing algorithms also are designed to be as simple as possible. In other words, the routing algorithm must offer its functionality efficiently, with a minimum of software and utilization overhead. Efficiency is particularly important when the software implementing the routing algorithm must run on a computer with limited physical resources. Routing algorithms must be robust, which means that they should perform correctly in the face of unusual or unforeseen circumstances, such as hardware failures, high load conditions, and incorrect implementations. Because routers are located at network junction points, they can cause considerable problems when they fail. The best routing algorithms are often those that have withstood the test of time and that have proven stable under a variety of network conditions.

In the routing loop displayed in Figure 3, a packet arrives at Router 1 at time t1. Router 1 already has been updated and thus knows that the optimal route to the destination calls for Router 2 to be the next stop. Router 1 therefore forwards the packet to Router 2, but because this router has not yet been updated, it believes that the optimal next hop is Router 1. Router 2 therefore forwards the packet back to Router 1, and the packet continues to bounce back and forth between the two routers until Router 2 receives its routing update or until the packet has been switched the maximum number of times allowed.

FIGURE 3 SLOW CONVERGENCES AND ROUTING LOOPS CAN HINDER PROGRESS Routing algorithms should also be flexible, which means that they should quickly and accurately adapt to a variety of network circumstances. Assume, for example, that a network segment has gone down. As many routing algorithms become aware of the problem, they will quickly select the next-best path for all routes normally using that segment. Routing algorithms can be programmed to adapt to changes in network bandwidth, router queue size, and network delay, among other variables. ALGORITHM TYPES Routing algorithms can be classified by type. Key differentiators include these: Static versus dynamic Single-path versus multipath Flat versus hierarchical Host-intelligent versus router-intelligent Intradomain versus interdomain Link-state versus distance vector

ROUTING METRICS Routing tables contain information used by switching software to select the best route. Routing algorithms have used many different metrics to determine the best route. All the following metrics have been used: Path length

Reliability Delay Bandwidth Load Communication cost I find that all these are the important factors taken in consideration while making routing decision that help intelligently and efficiently routing which worry about all the information of destination addresses.

4. (10 + 20 = 30 pts) (1) What is the most important factor that acts the accuracy of Christians Algorithm? Explain your answer. (2) provide two examples that show how Christians algorithm works.

(3) Will Christians algorithm work in asynchronous distributed environment? Please briefly justify your answer

ANSWER: 4 (A) CHRISTIAN ALGORITHM: It is used to synchronize the local clock with an external authoritative time source (server). The accuracy of the synchronization depends on the message transmission delay and how it is handled. If the transmission delay is large, it is hard to have an accurate synchronization. Thus it is more suitable to be used in LAN

F ACTORS

AFFECTING ACC URACY :

1. Suppose in a message passed by server at particular time t then to ensure


precision the server will insert addition time x_t in the give time, when in the last instantiation is made. The time at which the server inserts the value t into message is the most important factor.

2. The total round trip time (Tround as declared above) which stands for time
required for request to response, if the request and response is made on same server which mean to same LAN, the higher accuracy can be achieved else if heterogeneous or remote networks comes into th e scene the higher imprecision could be anticipated.

(B) E XAMPLES OF W ORKING

OF

C HRISTIAN A LGORITHM

I.

Christians algorithm is well suited to systems in which one machine (time server) has a WWV receiver and other machines stay synchronized with it. For every /2p seconds, clients send request to time servers asking for current time and when the servers respond, the clients adjust their timings.

II.

As an example given the class, in general the make command used by UNIX systems uses the clock to determine the source which is supposed to be compiled. In case, if the source file is not on the same LAN or server, the make program may produce in correct results.

III.

Christians Algorithm is a method for clock synchronization which can be used in many fields of distributive computer science but is primarily used in low-latency intranets. Cristian observed that this simple algorithm is probabilistic, in that it only achieves synchronization if the roundtrip time (RTT) of the request is short compared to required accuracy. It also suffers in implementations using a single server, making it unsuitable for many distributive applications where redundancy may be crucial.

5. (25 pts. Problem 11.4, p.465) A client attempts to synchronize with a time server. It records the round-trip times and timestamps returned by the server in the table below. Which of these items should it use to set its clock? To what time should it set it? Estimate the accuracy of the setting with respect to the server's clock. If it is known that the time between sending and receiving a message in the system concerned is at least 8 ms, do your an swers change? Round-trip (ms) Time (hr:min:sec) ___________________________ 22 10:54:23.674 25 10:54:25.450 20 10:54:28.342

ANSWER: 5 (a) Clearly according to question given in the table Since the systems are remotely connected then as discussed in the previous question we consider the round trip time as one of the primary issue for the measuring the accuracy of the clock. Now according the table, first column indicated the round trip time while the other time is the time stamp. Furthermore, The least round is taken into the consideration for measuring the accuracy.

When P receives the message, it should set its time to t+Ttrans, where Ttrans is the time to transmit the message. Ttrans Tround /2, where Tround is the round-trip time ACCURACY Let min be the minimum time to transmit a message one-way. Then P could receive Ss message any time between [t+min, t+ Tround - min]

So accuracy is (Tround /2 - min)

Now considering the third attempt, we notice that the round-trip time is reduced to minimum that is (20 secs) which make it obvious to be taken into consideration. Also according the formula We have, Accuracy factor as: (Tround /2 - min) Therefore, the accuracy of the setting is: +/- (20/2-min) = +/- (10-min)

(b). Looking at the answer 4, we discussed that the time at which server enter the value in message play one of the primary role in effecting the delay and here in the question as given that if it is known that the time between sending and receiving a message in the system concerned is at least 8 ms. Then it is clear and obvious that my answer will change.

Common questions

Powered by AI

To manage the cost and complexity of scalable distributed systems, implementing loosely coupled architectures can minimize interdependency and mitigate failures . Effective algorithms for intercommunication and coordination can reduce bottlenecks and facilitate smooth operations across expanded networks. Reducing data redundancy and organizing data replication effectively can alleviate costs related to storage and processing . Automating monitoring and maintenance processes helps handle the increased demands of scalability without proportionally increasing resource consumption or operational costs.

Distributed computing systems face unique challenges, such as interference and lack of concurrency. Individual components need proper coordination, and interference among components can halt the system . Intercommunication is another challenge, requiring rigorously worked algorithms to ensure effective and independent component operation, avoiding bottlenecks and synchronization issues. Expensive processing results from the high engagement of multiple processors, leading to increased maintenance costs and complex data management due to data redundancy and clustering issues .

Hierarchical routing algorithms manage large networks by dividing the network into layers, reducing overhead and complexity through abstraction. They allow for scalability by enabling routers to focus on local routing while summarizing information for higher levels, reducing the routing table size and update frequency. In contrast, flat routing requires each router to maintain complete route information, leading to inefficiency and scalability issues as the network grows .

Routing algorithm design goals significantly impact operational efficiency and reliability. A well-designed routing algorithm aims for optimality by selecting the best path using metrics like path length and delay. Simplicity and low overhead are crucial for efficient functioning, especially on computers with limited resources. Robustness ensures that the algorithm performs correctly under unforeseen conditions, like hardware failures or high loads. Rapid convergence allows it to quickly adapt to network changes, while flexibility ensures it can handle various network scenarios by adjusting to variables such as bandwidth and network delay .

Christian's Algorithm synchronizes local clocks with an authoritative server by compensating for message transmission delays. This is done by sending time-requests to the server and adjusting the local clock based on the server's time minus half the round-trip time. Accuracy is affected by the precise moment the server's time is inserted into the message, and the variability in message transmission delay, especially over heterogeneous networks. High accuracy is better on local networks (LANs) with efficient round-trip communications .

Link-state advertisements provide significant advantages in managing network topologies by allowing routers to share link-state information, enabling them to build a comprehensive map of the network. This detailed picture allows for accurate determination of optimal routing paths and enhances the network's ability to respond to topology changes. It facilitates rapid convergence, enhances robustness by providing timely updates, and supports the efficient recalculation of optimal paths when network conditions change .

Round-trip time (RTT) is critical in Christian's Algorithm because synchronization accuracy heavily relies on compensating for the time taken to send requests and receive server responses. Lower RTT leads to higher synchronization precision, as the algorithm adjusts the local clock based on the server’s time minus half the measured RTT. High RTT or delay variability can introduce inaccuracies, particularly in asynchronous distributed environments, making LANs preferable due to more predictable RTTs .

Routing algorithms aim to balance simplicity with robustness by ensuring efficient functionality with minimal software overhead while maintaining correct operation under diverse network conditions. Simplicity is achieved through efficient coding and operation on limited resource systems. Robustness focuses on maintaining stability and correct functionality during unusual network events or failures. These algorithms are also designed to adapt quickly to changing network situations while making optimal routing decisions using defined metrics and accurate path determination .

Distributed computing systems and computer networks share several common issues. One major issue is interdependency and maintaining a loosely coupled system to ensure an efficient and healthy system state. A loosely coupled system reduces risks of complete system failure due to the failure of one component . Another shared challenge is security, particularly when transferring confidential information like financial or personal data. Ensuring secure movement and preventing information alteration or unauthorized access are critical security concerns .

Data redundancy in distributed systems can lead to inconsistent data states and wasted resources, as distributed nodes maintain separate cached copies of data, causing clustering and replication inefficiencies. Addressing redundancy involves implementing effective caching strategies, ensuring diligent synchronization across distributed caches, and deploying data management protocols that detect and minimize duplication. Establishing consistency models and conflict resolution practices helps maintain coherent data states across distributed systems .

You might also like