What do networks do?
Make it easy for work to be distributed between multiple machines
What are some different types of network?
What do programs on a network need to do?
What is client-server computing?
A program is split into two parts, each running on a different computer
What does the Client part do in client-server computing?
What does the Server part do in client-server computing?
-carries out the command and sends the answer back to the client
What is Middleware?
It is an extra layer which is inserted to try and standardise interfaces and hide low level mechanics from the client application. This is because Operating Systems and proprietary systems can make it difficult to writer general applications
What is Distributed Message Passing?
-Processes on different machines can only talk to each other by messages. No semaphores or shared memory available so messages are the synchronisation tools
What are the two minimum commands?
send(machine,process, message)
receive(machine,process,message)
What are the two types of transport mechanism?
Reliable
- makes the application program simpler
Unreliable
-systems make the message passing part easier
What does Blocking mean?
Means that the process is held up until the message is known to have reached its destination. May cause considerable delays but is “well understood” when it comes to debugging
What does Non-Blocking mean?
This is the most efficient in terms of parallel processing. Sends the message and then gets on with something else. Care has to be taken not to overwrite sent data before it is actually sent. OS usually makes a copy but not always
What is Remote Procedure Calls?
This is a mechanism for executing a procedure on another machine. When a program calls a procedure it waits until the procedure has procedure has produced the required effects and then carries on. It does not care how this is accomplished and it is no concern of the calling program if the procedure goes to another machine. RPC is a simple method of hiding the inter machine mechanism from the calling program
What are four parts to using an RPC?
What is Synchronous RPC?
This is when the calling program waits until the results of the call are delivered
What is Asynchronous RPC?
This is when the calling program is immediately released once the data has been passed to the remote machine
What are the principles of a cluster approach?
Absolute scalability -scale up using any number of computers Incremental scalability -add more computers in small numbers High availability -failure of one node does not take it all down Superior price/performance -use commodity PCs to build a monster
What are some attributes of Cluster Middleware?
What is Beowulf?
It is a NASA funded project to perform big computations using clustering. It uses mass market commodity components and a dedicated private network. It has a freely available software base and most implementations use Linux
What is BPROC?
Beowulf distributed process space
What is Beowulf Ethernet Channel Bonding?
Joins multiple networks into one logical network with higher bandwidth. Uses multiple Ethernets