Introduction to Distributed Systems Introduction to Distributed Systems Advanced Search Distributed Systems consist of disjoint components. They are inherently concurrent, but the systems which are of interest are those that require synchronisation between their constituent components. Co-ordination is achieved through the use of some shared resource such as a communication channel or some other type of shared object. Although Distributed Systems are often used as the basis of performance enhancement through parallellisation, fundamental research in the area is primarily concerned with event ordering and coping with uncertainty. For example, the ordering of reads and writes to a shared object, or sends and receives in a message passing system.
Uncertainty is caused by the difficulty of reliably and timeously detecting failures.
Distributed Software Architectures are typically concerned with connecting components that were not designed to work together seamlessly. Understanding the global properties of such systems is essential to achieve availability, performance, liveness, safety, correctness and fairness. Application-oriented research is concerned with the abstractions and services that a distributed architecture presents to application and service developers. Programming languages, runtime systems, OS-level libraries and various bits of middleware are used to implement support for abstractions and services. Please get in touch if you have any queries, or if you would like to collaborate, visit or work here.