Thursday 18 September 2014

03:: Issues with Distributed OS

Following are the issues.

  1. Global knowledge
  2. Naming
  3. Scalability
  4. Compatibility
  5. Process Synchronization
  6. Resource Management
  7. Security
  8. Structuring

1.Global Knowledge:

•No Global Memory
•No Global Clock
•Unpredictable Message Delays

Since there is no shared memory nor resources in Distributed systems, In other sense, there is no centralized KNOWLEDGE REPOSITORY of resources while exchanging communication or resources. It is not easy for synchronous transfer of messaging because no centralized or Global area where timing gets captured.   

2.Naming:


•Name refers to objects [ Files, Computers etc]
•Name Service Maps logical name to physical address
•Techniques
-LookUp Tables [Directories]
-Algorithmic
-Combination of above two

3.Scalability:

•Grow with time
•Scaling Dimensions – Size, Geographically & Administratively

•Techniques – Hiding Communication Latencies, Distribution & Caching


Hiding Communication Latencies:

Diagram (a) describes that, Whenever User submits request, it always hits server. Though it is simple validation, it will hit server. This will hinder the performance of server.

Diagram (b) Explains that, Instead of hitting the server every time, Many things can be processed at Client side itself. Which will reduce the burden on server and improve the performance of server.

Distribution 

An example of dividing the DNS name space into zones

Scalability can be addressed via distribution & caching. Above pic, depicts that, DOMAIN name can be divided into different server. For instance, "ac.in" is academic related server, When user tries hitting the server, Process will look for the server which holds all "ac.in" related address. 

SCALING TECHNIQUE  (REPLICATION):
•Replicate components across the distributed system
•Replication increases availability , balancing load distribution
•Consistency problem has to be handled

Ex: Clustering

4. Compatibility:

  • Interoperability among resources in system
  • Levels of Compatibility – Binary Level, Execution Level & Protocol Level
Above can be understood with sample example. Java program written on Windows machine can be executed on Linux machine. This is called compatibility.

5.Process Synchronization

  • Difficult because of unavailability of shared memory
  • Mutual Exclusion Problem 

6.Resource Management

Make both local and remote resources available
•Specific Location of resource should be hidden from user
•Techniques
-Data Migration [DFS, DSM]
-Computation Migration [RPC]
-Distributed Scheduling [ Load Balancing]

7.Security

•Authentication – a entity is what it claims to be
•Authorization – what privileges an entity has and making only those privileges available

This can be best explained with reference to System LOGIN as Authentication and Analogy of R-W-X in unix is Authorization. 

8.Structuring

  • the monolithic kernel: one piece
  • the collective kernel structure: a collection of processes
  • object oriented: the services provided by the OS are implemented as a set of objects.
  • client-server: servers provide the services and clients use the services.

1 comment: