Practice Tutorial #2 - Nickson Mwikya - 137440 PDF

Title Practice Tutorial #2 - Nickson Mwikya - 137440
Author NICKSON MUTUA
Course Project Management in Information Technology
Institution Strathmore University
Pages 8
File Size 82.7 KB
File Type PDF
Total Downloads 59
Total Views 114

Summary

Download Practice Tutorial #2 - Nickson Mwikya - 137440 PDF


Description

Nickson Mwikya

MIT8102: Advanced Distributed Systems

Practice Tutorial #2: Advanced Distributed Systems

Nickson Mwikya

137440

Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 1 of 8

Nickson Mwikya

Entity Naming Preliminaries 1. a) Can an identifier used in naming refer to more than one entity in a distributed system? Why or why not? An identifier is a name used to uniquely identify an entity. An entity is something that one can operate on by accessing it through an access point. Identifiers refer to at most one entity and each entity is referred to by at most one identifier. Identifiers refer to the same entity and are never reused. If an identifier is used to name more than one entity, the system won't be able to differentiate the entities. b) Why do you think for efficient and wide application in a distributed system we need names to be location independent? Give specific examples in your explanations. Location-independent names don't have the address of their location. This enables location-transparency and efficient management of naming tables in a distributed system. c) Briefly explain what information is necessary for mounting to be possible in a distributed system. Can any workstation mount any file in a distributed system? Why or why not? What are the advantages of mounting in case of low budgets? The mounting process requires the name of access protocol, name of the server, and name of a mounting point in foreign space mount location. Mounting process allows the transparent merging of namespaces. Workstations can mount any file in a distributed system because mount mechanisms allow the binding together of different file namespaces to form a single hierarchical namespace. In the case for low budget mounting has the following advantages; 

Reduces storage costs by having computers share applications instead of needing local disk space for each user application.



Provides data consistency and reliability because all users can read the same set of files.



Makes accessing of remote files transparent to the user

Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 2 of 8

Nickson Mwikya

d) Why do you think the merging of different namespaces can cause scalability problems? Are there situations where scalability would not be a problem? Explain your answer. Merging different namespaces raise the problem of backwards-compatibility and fixing the compatibility problem, in turn, leaves us with hybrid namespaces and the inconvenience of having to translate old names (George Coulouris, 2012). Mounting foreign namespaces on different servers require network communication. Mounting requires at least three entity information each with a name to be resolved. Scalability issues would not arise if the mounting problem with overlapping filenames is addressed and there is enough bandwidth in a distributed system.

e) Briefly differentiate between lazy and (immediate) eager update propagation. How can they be compared to delayed-write and writethrough policy in implementation? Which situations would they be good? In eager update propagation, updates are propagated within the boundaries of a transaction, i.e., the user does not receive the commit notification until sufficient copies in the system have been updated. Lazy schemes, on the other hand, update a local copy, commit, and only sometime after the commit, the propagation of the changes takes place. Write-through policy means that data is stored and written into the cache and to the primary storage device at the same time. This implementation policy compares to eager update propagation in ensuring consistency. Delayed-write means that the cache buffer must be written to disk before the buffer can be re-used. Writing data to the buffer allows multiple updates to occur in memory rather than having to access the disk each time. This implementation policy compares to lazy schemes of propagation as they can be optimizing to improve performance but complex to ensure consistency. Most distributed solutions are mainly developed for fault-tolerant purposes, making an eager update approach desirable. Lazy update

Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 3 of 8

Nickson Mwikya

propagation approaches, on the other hand, are a straightforward solution when performance is the main design issue.

Replication in Distributed Environment 1.

a) Why do you think the number of replicas for the global layer are

many? Global layer is formed by the highest-level nodes that rarely change. This stability allows effective caching by clients. Replication servers and client-side caching are used to improve performance resulting in many replicas. b) Can you think of a commercial example of such in the internet domain that you are familiar with? What are the problems for users of the services? An example is the partitioning of the DNS namespace, domain names like .com, .edu, au under global layers. Caching at this level improves service availability to users with an increased synchronization challenge. c) Do you think caching in the global layer replicas can be a problem in such a situation? (Hint: Think Consistency!). What is the potential solution? Caching global layer replicas raise the problem of maintaining consistency. However, not severe as this layer is more stable. To solve the problem of consistency, weak consistency models can be implemented. d) Under what circumstances does the iterative name resolution process become a better process than recursive name resolution? Iterative name resolution process is a better process in heterogeneous servers like name servers in the global layer. In an iterative name resolution, a name resolver hands over the complete name to the root name server. It is assumed that the address where the root server can be contacted is well known. The root server resolves the pathname as far as it can, and return the result to the client. The client uses this information and repeatedly contacts all the servers until the full name is resolved. This process does not put a higher performance demand on each name server. Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 4 of 8

Nickson Mwikya

e) Under what circumstances does the recursive name resolution process become a better process than iterative name resolution? How can you know for sure whether to use iterative or recursion resolution for your distributed environment? In recursive name resolution, a name server passes the result to the next name server it finds. The client only gets contacted when the full name has been resolved. Recursive name resolution allows each name server to gradually learn the address of each name server responsible for implementing lower-level nodes. As a result, caching can be effectively used. Also, there is a reduced communication cost. From these advantages, recursive name resolution is best suited for circumstances that demand high performance.

Pointers in Distributed Environment 1. a) Why should a designer to a distributed environment be wary of using pointers for tracing entities? Any solutions to potential problems? When using pointers, each time an entity moves to the next location, it leaves behind a pointer telling where it will be next. Locating the entity requires traversing the path of forwarding pointers. This results in large chains of pointers in a distributed system often necessitating a separate means for regular chain reduction. One solution is to support mobile entities and let a home keep track of where the entity is. Each time an entity moves to another location; it informs its home where it is. Locating an entity proceeds by first asking its home for the current location. This eliminates the issue of tracing a large chain of pointers. b) How does the heterogeneous environment handle the use of pointers? Is it scalable? The use of pointers in heterogeneous environments produces long chains that are susceptible to faults and increases network latency at differencing. This makes scalability problem.

Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 5 of 8

Nickson Mwikya

c)

In the hierarchical approach for locating pointers, does the depth

of hierarchy really matter? Yes. The depth of hierarchy determines the response time for a requested resource. When the resource is available only at the top parent, it will take more time for the resource to be forwarded back. d)

How can one obtain the optimum working scenario for the

hierarchy organization for the distributed environment? To obtain an optimum working scenario for hierarchical organization of a large distributed system, one would need to resolve the size scalability issue by partitioning nodes into sub-nodes and evenly assigning entities to sub-nodes. Also, ensure lookup operations generally proceed monotonically in direction of where the address is located.

4. Locating Entities in a Distributed Environmenta) What kind of naming services do you know? Why do distributed systems need this function? A common naming system is the domain name system (DNS). It is a distributed naming service which is primarily used for IP address lockup for hosts and mail servers. Naming services plays a great role as they are used to share resources, to uniquely identify entities and to refer to locations. b) Why is it that broadcasting (or multicasting) can cause scalability problems? Hint:Performance problems and are susceptible to broken links. Broadcasting or multicasting is difficult to implement efficiently in largescale networks whereas long chains of forwarding pointers introduce performance problems and are susceptible to broken links. c) What would be a better approach to support mobile entities in large-scale networks? Any precautions in this application format. The use of forwarding pointers is a good way of locating mobile entities. Some of the main precautions are that all the intermediate locations in a chain will have to keep their part of the chain of forwarding pointers as long as they are needed. The vulnerability of broken links is evident as soon as any forwarding pointer is lost then the entity can no longer be reached. By Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 6 of 8

Nickson Mwikya

ensuring that forwarding pointers are robust and chains are relatively short sorts out this issue. d) What are the drawbacks of home-based approach in large-scale networks? Hint:Communication latency and fixed home location. Home-based approach is fixed, which means an unnecessary burden when the entity permanently moves to another location. When communicating with a mobile entity, the client will have to contact the home first which can be at a completely different location than the entity itself. This scenario increases communication latency. e) How does name caching improve help a name service's availability? Hint: Names This functionality assists the clients cache both object attributes and the addresses of servers that store directories. In doing so it helps the service's availability because the client may still access cached attributes even when the server that stores them crashes.

Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 7 of 8

Nickson Mwikya

References George Coulouris, J. D. (2012). DISTRIBUTED SYSTEMS, Concept and Design, 5th Edition. Boston: Pearson Education, Inc., publishing as AddisonWesley. Tanenbaum, A. V. (2007). Distributed Systems: Principles and Paradigms. Upper Saddle River, NJ.: Prentice-Hall

Practice Tutorial #2 MIT8102 – Advanced Distributed Systems

Page 8 of 8...


Similar Free PDFs