General Knowledge Flashcards
What is a Distributed System?
A distributed system is a collection of independent computers that are used jointly to perform a single task
What is access transparency?
Hide differences in data representation and how a resource is accessed.
What is middleware?
Middleware enables various components of a DS to communicate and manage data.
What is location transparency?
Hide location of resource
What is migration transparency?
Hide that a resource may move to another location.
What is relocation transparency?
Hide that resources may move to another location while in use.
What is replication transparency?
Hide that a resource is replicated.
What is concurrency transparency?
Hide that a resource may be shared by several competitive users.
What is failure tranpsarency?
Hide that a resource is failed/recovered.
In openness- what is interoperability?
How much 2 different implementations of systems or components can co-exist and work together.
In openness - what is portability?
How much an application developed for one distrubted system can be executed on a different distributed system with the same interface.
In openness - what is heterogeneity?
The integration of different components through a standardised, unified interface.
What is size scalability?
Can scalewith many users.
What is geographically scalable?
Locations of different components, resources, and its users doesn’t dictate the performance of the system.
What is administatible scalable?
Can scale across independent administrative organisations.
Why is hiding communication latencies important (scalability)?
Important to achieve geographical scalability
For Asynchronous communication
How do you improve scalability in DS?
Split and spread functionality across the system
Use decentralised algorithms
Why is replication use to improve scalability?
Replication improves performance because there is multiple places to access data.
What are some examples of Distributed Computing Systems?
– Cluster computing systems – Grid computing systems – Cloud computing
What are some examples of Distributed Information Systems?
- Transaction processing systems
– EAI
What are some examples of Distributed Pervasive Systems (IOT)?
– Home systems – Electronic health care systems – Sensor networks
What is cluster computing?
A group of simple computers connected by a high speed network. Common in parallel programming.
What are the four layers in grid computing
Fabric layer: Resource layer: Connectivity layer: Collective layer:
What is grid computing?
Grid computing is a computer network in which each computer’s resources are shared with every other computer in the system
What are transactions?
Transactions are operations that either all are executed or non are executed.
What is the ACID model in transactions?
Atomicity All operations either succeed, or all of them fail.
Consistency Transaction establishes a valid state transition.
Isolation (Serialisability) Transactions do not interfere with each other.
Durability Effects of transactions are permanent.
What does a TP monitor do?
Makes sure the nested transaction works, before the parent transaction.
What is RPC?
Remote procedure calls (RPC) allows a component to send requests directly to another component, like a local procedure call.
What is difference between RMI and RPC?
RMI is basically the same as RPC but it operates on objects instead of components.
How does Enterprise Application Integration (Middleware) differ from TP monitor?
EAI allows components to directly communicate with one another rather than going through a TP monitor.
What are the requirements for a pervasive system?
Expect that the environment may change will change
Expect that users will use the devices differently.
Expect that sharing is the default.
What are some challenges that pervasive systems face?
Cannot expect users to configure everything. Security issues. Privacy issues.
What are some examples of pervasive systems?
Home Systems, sensor networks and health monitoring devices
What are the two different ways in which sensor networks can process data?
- Process at the sensor first before sending.
- Send to “cloud” for process it.
What is layered architecture style?
Requests go down, responses go up. Multiple levels
What is object-based architecture style?
Objects call each other using RPC.
What is event-based architecture style?
Processes communicate through exchange of events which often carry data. Publish/Subscribe.
What is data-centered architecture style?
Components don’t have to be both active when a communication take place. They can decouple from the shared dataspace at any time.
What is the simplest organisation of a multi-tiered architecture? (Think Client/Server)
The client machine just has the UI, server processes the rest.
What’s the difference between a thin and a fat client? Lol
A thin client has few responsibilities. Just the UI. A fat client has lots of responsibilities UI, application and database
What is vertical distribution?
Distribute server functionality to multiple servers. Each server then has one purpose.
What is horizontal distribution?
Horizontal distribution replicates a server’s functionality over multiple computers. All functionality on many servers.
What is P2P?
Peer to peer (P2P) assumes that all processes play the same role, and are therefore peers of each other.
What are the two types of middleware?
Object-based (e.g. CORBA) Event-based (most of middleware built for adaptive, context-aware applications)
What does an edge server?
An edge server is a type of edge device that provides an entry point into a network
What do interceptors do?
Break the usual flow of control and allow other (application specific) code to be executed
What are the stages in the feedback control model?
- Monitor & Measure parts the System.
- Analyse measurements and compare to reference values.
- Adjust the system if needed.
What do thread packages do?
Contains operations to create threads, destroy threads, synchronise threads (e.g. mutexes).
What are the two ways to construct a thread library?
First Approach:
- construct a thread library that is executed entirely in user mode.
Advantages:
– cheap because in user’s address space
– cheap to do context-switching.
Disadvantages:
– system call block all other threads in the process.
Second Approach. The kernel schedule them.
Pros: helps with non-blocking system calls,
Cons: costs are high because of the kernel involvement.
What do multithreaded clients do?
Hide network latency. E.g Multiple threads get multiple files and display them.
Who do threads do in servers?
Handle incoming requests (cheaper than than a new process)