IT 386 Final Exam
Process
- A unit of program execution as seen by an operating system. - A process has its own address space, file handles, security attributes, threads, etc.
Two characteristics of a distributed system
- Collection of autonomous nodes - single coherent system
RMI components: server hosting a remote object
- Construct object implementation - Provide access to methods - Register the object to RMI registry
RMI components: RMI registry
- Each object needs to register location - RMI clients find objects using lookup service
Two approaches to creating java threads
- Extending the thread class - implementing runnable interface
High performance distributed computing systems: Cloud Computing
- Group of high-end systems connected through LAN - Homogenous
Types of Distributed Systems
- High performance distributed computing systems - Distributed information systems - Distributed systems for pervasive computing
How to deal with critical section?
- Java synchronized methods - mutual exclusion (mutex)
Global state of a distributed system
- Local state of each process: messages sent and received - State of each channel: messages sent but not received
Design Goals of DS: Being Scalable three components?
- Size scalability - Geographical scalability - Administrative scalability
Design Goals of DS
- Support resource sharing - Make distribution transparent - Being Open - Being Scalable
Types of Message oriented communication
- Transient messaging - Persistent messaging
RMI components: Client using remote object
- ask registry for location of object (lookup) - Construct stub - call methods via object stub
Which algorithms are used to synchronize clocks?
- berkeley - christian's
RMI server program
- created remote objects - makes references to objects accessible - waits for client to invoke methods on objects
RMI client program
- obtains remote reference to multiple remote objects - invoked methods on them
Uses of parallelism
- operating systems - servers - GUI applications - Solve large problems
Parallel Program Design
- partitioning - communication - Agglomeration - Mapping
RMI components:
- server - RMI registry - client
Types of communication:
-Persistent -Transient
Smallest sequential fraction?
A
What is a distributed system?
A collection of autonomous computing elements that appears to its users as a single coherent system
Thread
A sequential flow of control within a process
Message-oriented communication: Message passing
Basic principles of exchanging messages between two processes using send and receive operations
Parallel Computing
Breaks programs into smaller sequential operations and performs them in parallel.
Unstructured Overlay network
Each node has references to other nodes randomly selected from the system
What are election algorithms used for?
Election algorithms are a technique to pick a unique coordinator(leader).
Consistent Cut
Every message received in the past of a cut, was also sent in the past of that cut
Inconsistent Cut
Every messaged received in the past of a cut, was not also sent in the past of that cut
True or False: In RPC low level massage passing are visible to the programmer.
False
True or False: In a centralized permission-based solution for the mutual exclusion problem, if we have N processes and a process want's access to the exclusive resource there will be N-1 messages exchanged.
False; process does not need to know group members, just the coordinator. It needs two messages to enter, 1 message to exit.
Cloud computing is part of what type of distributed system
High performance distributed systems
Thread methods: void run()
If this thread was constructed using a separate Runnable run object, then that Runnable object's run method is called; otherwise, this method does nothing and returns
Uses of parallelism: Operating systems
Kernel threads to perform multiple tasks simultaneously
Design Goals of DS: Support Resource Sharing
Make it easy for users to access and share remote resources
Design Goals of DS: Make Distribution Transparent
Make it invisible to end users and applications
Being scalable: Geographical scalability
Maximum distance between nodes
Types of communication: Persistent
Message is stored until its delivered to the receiver EX: email
Message oriented middleware (MOM)
Messages are sent to logical contact point (published), and forwarded to subscribed applications
Is Cut 1 consistent?
No
Multiple processes can be executed in a single processor computer. Would you say that these are running in parallel?
No; it is interleaved fashion
Being scalable: Administrative scalability
Number of administrative domains
Being scalable: Size scalability
Number of users and/or processes
Uses of parallelism: GUI applications
One thread is painting images and another is responding to user input
Closed group
Only members of that group can communicate with each other
Sensor networks is an example of which type of distributed system?
Pervasive distributed system
Middleware
Provides means to communicate with each other and let different applications communicate.
Remote Method Invocation (RMI)
RMI is a Java-specific object-oriented extension of the Remote Procedure Call (RPC).
Remote Procedure Call (RPC)
Requests are sent through local procedure call, packaged as message, processed, responded through message, and result returned as return from call.
Asynchronous (nonblocking):
Sender sends a message and then continues (message is temporarily stored)
In RPC what is responsible for unpacking an incoming request and execute a local procedure call.
Server Stub
Uses of parallelism: Solve large problems
Simulate physical and biological systems, graphics, weather forecasting, etc.
___________ is given by the ratio between the sequential execution time and parallel execution time.
Speedup
Message Passing Interface (MPI)
Standard developed to provide message-passing operations with synchronous and asynchronous variants
Message-Queuing System (MOM)
Supports persistent, asynchronous communications
Mutual Exclusion
Techniques to coordinate execution among processes
True or False: A thread dies if its parent process dies
True
True or False: Amdahl's law states that small number of sequential operations can significantly limit speedup achievable by a parallel computer.
True
Is Cut 2 consistent?
Yes
Overlay network
a virtual structure imposed over a physical network
Remote Procedure Call (RPC) goal
allow programs to call procedures located on other machines
RMI allows
an object in one (JVM) to interact with the object in another JVM by invoking the methods in that object.
Open group
any node is allowed to join the distributed system
Thread methods: void start()
causes this thread to begin executing
Messages are then "get from" a
destination queue
Structured Overlay network
each node has a well-defined set of neighbors with whom it can communicate
Clock synchronization: Distributed Systems
each node has own system clock
a scalable system maintains....
efficiency as processors are added
"Parallel" on a single processor is called...
interleaved fashion
Physical clocks
keep time of day (consistent across systems)
Logical clocks
keep track of event ordering (among related (causal) events)
Uses of parallelism: Servers
manage multiple client requests
Scalability of a parallel sysyem:
measure of its ability to increase performance as number of processors increases
Types of communication: Transient
message is stored while the sending and receiving application are executing EX: transport level services
Race condition
occurs when two or more threads try to change shared data at the same time.
Design Goals of DS: Being Open
offers components that easily be used by or integrated into other systems
Client Stub
pack parameters into a message and request to be sent to the server (pack message, send it off, wait for result, unpack result and return to caller)
What type of communication is the diagram?
persistent asynchronous
What type of communication is the diagram?
persistent synchronous
Distributed Pervasive Systems: Ubiquitous Computing Systems
pervasive and continuously present, i.e., there is a continuous interaction between system and user.
Distributed Pervasive Systems: Mobile Computing Systems
pervasive, but emphasis is on the fact that devices are inherently mobile
Distributed Pervasive Systems: Sensor networks
pervasive, with emphasis on the actual (collaborative) sensing and actuation of the environment.
Threads also have their own...
private data
Threads have their own...
program counter and register values, but they share the memory space and other resources of the process.
We can use synchronized methods to ....
protect critical sections
Queues are managed by
queue managers
Speedup
ration between sequential execution time and parallel execution time
Critical section
s a block of code that updates a shared resource that should only be updated by one thread at a time.
Synchronous(blocking)
sending and receiving processes synchronize at request submission, delivery, or after processing by server (response)
Messages are "put int" a
source queue
Amdahl's Law
states that small number of sequential operations can significantly limit speedup achievable by a parallel computer.
How do you deal with race conditions?
synchronization
Sequential computing
the computer executed sequence of instructions of the program in order, one at a time.
RPC: Unmarshalling
the process of disassembling them on arrival to produce an equivalent collection of data items at the destination.
RPC: Marshalling
the process of taking a collection of data items and assembling them into a form suitable for transmission in a message.
Efficiency
the ratio of the speedup and the number of processors
All threads have access to...
the same global, shared memory
What type of communication is the diagram?
transient asynchronous
Thread methods: void join()
waits for this thread to die
Server Stub
will transform requests coming in over the network into local procedure calls (unpack message, call procedure, pack results, send them off)