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)
What is the downside of using a single-threaded server?
Cannot do concurrent tasks.
What are the upside of using a multi-threaded server?
Can do concurrent tasks.
How do finite state machines work in servers?
A little bit of processing is done before moving to the next task.
What is virtualisation?
Using a computer to mimic another system (usually an older one).
What is a benefit of virtualisation?
Managing the use of legacy software/hardware in a DS.
What are the 4 types of architecture for virtualisation?
- An interface between the hardware and software, with machine instructions for normal and privileged programs.
- An interface for system calls
- An interface for APIs
What’s the difference between stateful servers and stateless servers?
Stateful servers maintains information on clients. Stateless doesn’t.
What are the layered protocols?
OSI layers: - The application layer - The presentation layer The session layer The transport layer The internet (or networking) layer The datalink layer The Physical Layer.
What are the middleware protocols?
Application Protocol Middleware Protocol Transport Protocol … The internet Protocol The Datalink Protocol The Physical Protocol
What type of communication is this?

Persistent Asynchronous Communication

Persistent Synchronous Communication
What type of communication is this?

Transient Asynchronous Communication
What type of communication is this?

Receipt-based transient Synchronous Communication
What type of communication is this?

Delivery-based transient synchronous communication at message delivery.
What type of communication is this?

Response-based transient synchronous communication
What’s the idea behind RPC?
To make a remote call look like a local one.
What is the challenge when passing parameters in RPC?
Client and Server can have different operating systems, data representations and different architectures.
RPC (and RMI) are synchronous and transient. Are both sender and receiver active?
True
What’s the goal of MQMS?
MQMs goal is to provide persistent asynchronous communication.
What are the role of message brokers?
Main role of brokers is to transform messages from sender’s format to receiver’s format
What does a queue manager do?
Remove messages from the send queue and forward those to other queue managers
Handle incoming messages and store them in the appropriate input queue
What is a message channel agent (MCA) responsible for?
A message channel agent (MCA) is responsible for:
- checking send queues for a message
- wrapping it into a transport-level packet
- sending it along the connection to its associated receiving MCA
What is stream-orientated communication?
Video, audio (continuous media)
What is QoS in stream-orientated communication?
Good, Time – Bandwidth – Volume – Reliability
How can QoS be enforced?
The receiver simply stores them in a buffer for a maximum amount of time.
Describe Addresses, Identifiers and Human-friendly names
Addresses are entry points
Identifiers are a special type of name that tefers to at most one entity (usually – usually flat names).
Human-friendly names are like www.sdsd.com
What are flat names?
Flat names are random strings that are good for machines to interpret but not people.
What are the resolution approaches for flat names?
– Broadcasting (or multicasting) approaches
– Forwarding pointers
– Home-based approaches (e.g., Mobile IP)
– Distributed Hash Tables (DHTs)
– Hierarchical approaches
What’s the difference between structured names and flat names?
Structured names are more human friendly.
What are the differences between recursive and iterative resolution to DNS names?
In recursive client only send query to 1st server then server will send request to next server until query is resolved.
In iterative client is responsible for sending query to different servers until query is resolved
What’s the issue with clocks in a DS?
When each machine has its own clock, an event that occurred after another event may nevertheless be assigned an earlier time.
What is an overlay network in P2P?
Basically, there’s too much to know about other nodes.
So the overlay network is a virtualisation to simplify this.
What is Content Addressable Network?
It’s a scalable fault tolerant and self-organising. Using Cartesian space to represent the network.
When you add a node into the space, it’ll split the available space.
What’s the difference between structured and unstructured P2P networks?
Structured have an overlay network, unstructured don’t.
What is the feedback control used for?
Managing uncontrollable parameters. Take the input, do analysis and make adjustment measure if there is an issue.
What is context switching in threads and processes?
Context Switching is the process of storing so that a thread execution can be resumed from the same point at a later point of time.
Expensive, and worth mitigating.
What are LWPs?
LWPs share same address space and other resources like open files etc.
LWP runs in user space on top of a single kernel thread and shares its address space and system resources with other LWPs within the same process.
What are the advantages and disadvantages of LWPs?
Disadvantages: Still to create and destroy LWP, which is just as expensive as kernel level threads
Advantages: Only needs to be done ocassionly
What is a server cluster?
Simply put, a server cluster is nothing else but a collection of machines connected through a network, where each machine runs one or more servers.
What are the three levels of a server cluster?
The first tier consists of a (logical) switch through which client requests are routed.
The second tier is the application server
This brings us the third tier, which consists of data-processing servers, notably file and database servers.
What is TCP handoff?
The first tier of a server cluster handsoff requests to different servers. When it gets that request, it forwards the IP address it to the switch which is then passed to the client. It does this because of the TCP protocol.
What is the challenge with parameter passing in RPC?
Can’t just wrap parameters in the message. Need to use parameter marshalling.
What is parameter marshalling?
Parameter marshalling is bringing together the parameters and data types so that when it is sent, it can be processed.
What is IDL?
An interface definition language. This allows the stubs for the client and server can be interfaced with. (There messages can be unlocked).
What’s the difference between Synchronous and Asynchronous RPC?
In Asynchronous RPCs, by which a client immediately continues after issuing the RPC request.
What is Message Queueing Middleware?
Messages are only delivered when Sender/Receiver are active. No guarantees that a message will be delivered.
Messages can only put in queues that are local to the?
Sender.
What do message brokers do?
Provide message format conversions
What do message brokers do for publishers and subscribers?
They move the messages from the publisher to the different subscribers.
In the IBM MQsphere, what does the queue manager do?
Removes messages from its send queues and forwards them to other queue manages.
Receives messages and puts them into their input queues
How does a message get transfered between queue managers?
Start with the initial queue manager. Look at the routing table, look at which queue it goes to. Follow that arrow to that queue manager. Look at that routing table, until you get to the queue manager you need.
What is the difference between synchronous and asynchronous transmission modes?
Synchronous transmission modes deliver data in a certain timeframe (every second like in a sensor).
Asynchronous transmission modes don’t specify how often data will be sent.
What happens when the isosynchronous transmission mode isn’t correct?
The audio and the video don’t line up.
What does a QoS?
Ensure streams work well.
What do QoS do?
Compress the youtube video. Send it. Uncompress it. It does this so it can work for different bandwidths.
What are non-functional requirements of QoS?
Time, Bandwidth, Volume and Reliability
What’s a simple solution to issues of buffering/playback? Will it always work?
Increase the buffer size. No, it does require more resources as well.
What are the ways you can handle loss of packets?
Non-interleaved: A gap where you don’t hear or see anything.
Or
Interleaved: Distribute the loss across the frames
What is explicit synchronisation?
Done by the OS at the data level.
What are the three properties of identities?
Refers to at most one entity
Always refers to the same entity
Are limited to one per entity
What’s an important property of flat names?
An important property of flat names are that they do not contain any information whatsoever on how to locate the access point of its associated entity
What does it mean to resolve a flat name?
A flat is just a character string. We don’t know it’s location. So we need to “resolve” it in order to find where it is located.
What are some different methods for resolving flat names?
Broadcast
What are names resolved with broadcasting?
The name of the entity (IP Address) is broadcast and whoever owns it responds with their access point.
What is the general idea behind forward pointers? Pros and Cons?
When an entity moves, it leaves a pointer to its new address. Follow the pointers to find the entity.
Can get long trails (slow) or also get broken links.
Explain how forward pointing works with client and server stubs (Difficult)
Whenever an object moves from address space A to B, it leaves behind a client stub in its place in A and installs a server stub that refers to it in B
What are some of the downsides of forward pointing and broadcasting?
Both only work on small scale. They don’t scale well.
What is the benefit of the home-based location for naming resolution?
Unlike the forward pointer and broadcast, the name never changes.
What’s the general idea behind home-based naming?
Each mobile entity has a fixed IP address (home address) Entity’s home address is registered at a naming service Home node keeps track of current address of the entity
Entity updates the home about its current address (care‐of address) whenever it moves
How do Distributed Hash Tables (DHT) work?
Basically, a lookup table, like a hashtable with a key-value pair to access the name. It’s good because it’s fast to do lookups.
How does the chord system work in resolving names? (The big circle diagram one)
Example: Resolve key = 12 from Node 1.
Each chord node has a finger table, you start at Node 1 and check if it has key 12. If it does, great you’re done.
If not, it looks up the largest number less than the key, in this case 12, and passes it to them to resolve.
This ends when there is no node that is lower than the key that is being looked for.
What is heirarchical approach to name resolution?
Basically start at the top leaf and traverse.
uq.edu.au => .au at the top, .edu as it’s child and uq as it’s grandchild.
How are names resolved in a hierarchical system?
If they can’t resolve, then they send up the tree until a Node has access to the key.
Why are structured names good?
Humans can read them!
How would “/root/ryan/slides” be represented in structured naming?
ROOT
\
Ryan
\
Slides
What is N0 in a naming graph?
The root node. It is the top node.