Fichas
SCC 311
Fichas del conjunto (96)
- 1What is a Distributed SystemA system that comprises of more than one computer with the goal of reaching a level of performance and/or providing a service that is quite difficult or infeasible to do on a single computer
- 2Give an example of a Distributed SystemFinancial Trading
Web Search
Multiplayer Online Games - 3Why Distributed SystemsThe world is distributed, problems rarely hit two different places at the exact same time and joining forces increases things such as performance and availability
- 4Name three of the eight Fallacies of Distributed Computing1) The Network is Reliable
2) Latency is Zero
3) Bandwidth is infinite
4) The network is secure
5) Topology doesn't change
6) There is one administrator
7) Transport cost is zero
8) The network is homeogenous (all the components are the same, such as processors) - 5What is meant by the term middlewareThis is software that acts as a bridge between an operating system and applications. It provides a high level programming abstraction and hides the complexity associated with distributed systems
- 6Give an example of a middlewareJava RMI which is a distributed object technology
- 7What are 2 of the 6 goals of Middleware? and explain themResource Sharing - this is the ability to access and share resources in a distributed environment
Transparency - this is the ability to view a distributed system as if it were a single computer
Openness - this provides support for the key properties of portability and interoperability (the ability for systems or software to exchange and make use of information)
Extensibility - This is the ability to be able to introduce or modify functionality
Scalability - This can be in respect to size (number of users), georgaphy (systems that span continents) and administration (support systems spanning differen admin organisations)
Dependability/QOS (Quality of Service) - this is making the system secure, as well as fault tolerant - 8name a style of middleware and an exampleClient-Server Platforms - DCE (Distributed Computing Environment)
Distributed Object Technology - CORBA, Java RMI
Component-based programming - Fractal, Enterprise Java Beans, OpenCOM
Group Communication Services - JGroups - 9What are the three styles of Exchange ProtocolsR - no value needs to be returned/ no confirmation is required
RR - typically "request-reply" protocol
RRA - server needs to know that client got the reply - 10What is RPC (Remote Procedure Call)This is a higher level request-response mechanism supporting the construction of distributed applications
- 11What is the aim of RPC?This aims for distribution transparency. this means making programming of distributed systems look similar to programming conventionally (as if it was programmed locally)
- 12What are the two key components of the the client side for RPC and explain what they do?Proxies - this masquerades as a local version of the remote interface, this also redirects calls to the client stub
Client Stubs - this carries out marshelling of a call into request messages that are sent to the remote end. There is one sttub per interface procedure - 13hat are the two key components of the the server side for RPC and explain what they do?Dispatchers - these receive the incoming messages and direct them to an appropriate server stub
Server Stubs (Skeletons) - these unmarshal messages and then invoke the appropriate code body - 14What are the 4 underlying protocol problemsThe request message may get lost
The reply message may get lost
The client may crash
The server may crash - 15What are the 4 semantics for RPCMaybe
At least once
At most once
Exactly once - 16Explain each semanticMaybe - send a request to the server and the server then sends back a reply
At least once - send a message and if reply not received, then the message is then resent
At most once - this means that if it sees a duplicate then it will send the reply
Exactly Once - it will complete the whole transaction or not do any of the transaction - 17What are the 3 components in Sandboxing and explain what each one does?The class Loaders - this is essential and it tags where each class has come from, they also shield classes from different sources.
The byte-code verifier - this checks the bytecode obtained by class loaders before it is allowed to execute and makes sure nothing dangerous
The security manager - this protects potentially dangerous operations inside the JVM and checks against a security policy which is provided - 18Name 3 of the 5 Vulnerabilities and explain what they areEavesdropping - Hackers on the line listening to everything that is happening
Masquerading - Hackers pretending to be someone they are not
Tampering - Hackers trying to change a part of the system for gain
Replaying - Hackers sending the same information that has already been sent
Repudiation
Repudation - Hackers rejecting the idea that it was them - 19Name 3 of the 5 Security Mechanisms and explain what they are?Encryption - implement confidentiality or messages
Authentication - Verify claimed identities of all parties
Digital Signatures - Prevent tampering
Authorisation - Define access rights of a given verified party
Auditing - Analysis of security breaches - 20What are the Three issues with symmetric cryptosystemsKey Exchange - this is a security concern when you share the key before use
Scalability - Unique key needed for every distinct communication channel
Key Length - Must be adjusted according to message size and never reused - 21What does a digital signature ensureOrigin - only the sender can send the message
Integrity - signature cannot be copied from or to another message
Non-repudiation - sender cannot credibly deny the signature - 22what are the two entities when it come to public key distribution and wha do they do?CA (Certification Authority) - This issues certificates for public keys
RA (Registration Authority) - This issues certificate requests - 23What is a stateless server and give an example?Doesn't keep the client state and can change their own state without telling the client.
An example of a stateless server is a Web Server - 24What is a stateful server and give an example?This maintains state on each of the clients. An example of a stateful server is a File Server
- 25What are the two type of uncoupling and explain themSpace uncoupling - Sender does not know or need to know the identity of the receiver/s and vice versa
Time uncoupling - Sender and receiver/s can have independent lifetimes - 26What is group communication and give an example of this?This is based on the concept of a group abstraction, with operations provided to join and leave the group
an example of this is JGroups - 27What is a Publish-Subscribe System and give an example of this?This is where you have Publishers and Subscribers. Publisher publish an event and subscibers then express their interest in a set of events.
An example of this is JMS - 28What are the 4 types of Subscription Models and explain 2?Channel-based - Publishers publish to a named channel and the subscribers subscribe to one of the named channels
Topic-based - Each notification is expressed in terms of a number of fields, with one field denoting the topic and subscriptions defined in terms of this topic interest
Content-based - The expression of subscriptions over a range of fields in an event notification. Filter is a query defined in terms of compositions of constraints over te values of event attributes
Type-based - Subscriptions defined in terms of this type, with matching defined in terms of types or subsets of the given filter - 29What are the three communication models?Point-to-point - 1 to 1
Broadcast - 1 to all
Multicast - 1 to many or many to many - 30What is group communication?This enables the multicasting of a message to a group of processes as a single action
- 31Name 2 types of Group Communication and explain them?Open Groups - anyone can join
Closed Groups - closed membership
Peer - members are equal and all members send messages to the group
Client-Server - Replicated Servers, client may or may not care which server answers
Hierarchical - one or more members are different from the rest e.g. president and then employees of a company - 32What are the three reliability guarantees and explain eachBest Effort - no gurantees, message is sent to alll the memebrs and may or may not arrive
Reliable Multicast - reasonable efforts are made to ensure delivery in spite of message loss
Atomic Multicast - all members receive message, or none does - 33What are the different types of ordering and explain themOrdering Message Delivery - Sometimes ordering is needed and this is not provided by atomic multicast
Global Time Ordering - All messages arrive in exact order they were sent
FIFO Ordering - Message sent from the same process are delivered in the same order as they were sent
Causal Ordering - Partial ordering, the order only matters if a "happened-before" relationship exists between the messages
Total Ordering - Unlike FIF and Causal, this does not pay attention to the order of multi-cast sending, it ensures all receivers, receives all messages in the same order - 34What is JGroupsA java system for communicating with a group of machines and is a toolkit for reliable multicast communication
- 35What is the key feature of JGroups?Flexible Protocol Stack
- 36What are the Protocol Layers?UDP - IP multicast transport based on UDP
PING - Initial membership
FD - Failure Detection
GMS - Group Membership Protocol - 37In Protocol Stacks what can each layer do?modify, reorder, pass, drop or add a header to messages
- 38What does RpcDispatcher do?Provides "group" Remote Procedure Call behaviour
- 39What are the four Return behaviours for RpcDispatcher?GET_ALL - This returns all the responses from all nodes
GET_NONE - Don't wait for any responses
GET_FIRST - Block until the first response has been received
GET_MAJORITY - Block until most of the members have responded - 40What is JGroups and what is JMSJGroups is a library and JMS is a standardised API
- 41What is meant by the term System Function?Intended system purpose and described by functional specification
- 42What is meant by the term System Behaviour?What the system does to perform defined function
- 43What components make up a system?Software
Hardware
Humans - 44What is meant by the term Failure?Noncompliance with functional specification
examples: crash, omission, timing, Byzantine - 45What is meant by the term Error?Transition of internal state into invalid state
examples: erroneous data, inconsistent internal behaviour - 46What is meant by the term Fault?Hypothesized cause of an error
examples: software/hardware, accidental/incompetence, natural/man-made - 47What is the Hierarchy for Fault (with the start at the top)Crash
Omission
Timing
Byzantine - 48What is meant by the term Availability?Readiness for correct service
- 49What is meant by the term Reliability?Continuity of correct service
- 50What is the goal of Graceful Degradation?The goal is to minimise the impact of failure to the system's users
- 51What are the means to achieve dependability?Fault Prevention - prevent occurrence/introduction of faults
Fault Tolerance - avoid service failures in presence of faults
Fault Removal - reduce number and severity of faults
Fault Forecasting - estimate fault occurrence and consequences - 52What are the three main problems in Datacentres?Nodes (servers, clients, peers) - faulty hardware, power failure, "physical" accidents
Network - same as nodes, name servers, congestion
Software, Users/People - more "complex" than hardware, involuntary mistakes, security attacks - 53What are the replication types?Read-only - don't make changes, usually satisfied by any replica
Update requests - modify the object, must be propagated to all replicas - 54What are the five request phases?Request Issue - request sent to one or more replicas
Coordination - RMs agree on ordering and whether to execute the request
Execution - RMs perform the request
Agreement - RMs reach consensus on request outcome
Response - RM(s) reply to the front end - 55What is meant by the term Passive ReplicationOne primary RM processes requests and sends the resulting updates to the backups
- 56What is meant by the term Active Replication?All replicas process requests and return results
- 57What are the pros and cons of both passive and active replication?Passive Replication - less expensive, less complex and more powerful
Active Replication - more powerful, more expensive and more complex - 58What is Cloud Computing?A model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction
- 59What is computing cloud?This is a set of internet-based application, storage and computing services sufficient to support most users' needs, thus enabling them to largely or totally dispense with local data storage and application software
- 60What are the three provisioning levels?SaaS - Software as a Service
PaaS - Platform as a Service
IaaS - Infrastructure as a Service - 61What is provided for each provisioning Level and what is the usage of each Lebele?SaaS - Turn-key application.
Application transactions: run jobs, manipulate data, etc.
PaaS - Runtime environment, software packages and storage support.
Develop applications
IaaS - Barebones hardware, resources + OS.
Customise runtime environments - 62What are the deployment models in cloud computing and explain each?Public Clouds - Third party service providers that offer services to the general public
Private Clouds - organizations set up and maintain cloud services for their own internal use
Hybrid Clouds - a mix of both above strategies, multi-cloud, via broker, federated cloud - 63Name Public Deployments for cloud servicesGoogle - SaaS = Google Apps, PaaS = App Engine, IaaS = Compute Engine
Microsoft - SaaS = OfficeLive, PaaS = AppFabric, IaaS = Azure
IBM - SaaS = LotusLive, PaaS = AppFabric, IaaS = CLoudBurst
Amazon - SaaS = None, PaaS = S3, Elastic Beanstalk, IaaS = EC2
Yahoo - SaaS = YQL, PaaS = Hadoop clusters, IaaS = None - 64Name private deployments in cloud servicesOutsourced - On-site clouds managed by 3rd parties
Open-source virtual infrastructure managers - OpenStack, OpenNebula, Eucalyptus, CloudStack Community, Nimbus - 65What is the upfront cost, time to build and security risks for each deployment model in Cloud servicesPublic - Upfront Cost = Low, Time to Build = Low, Security Risk = High
Private Outsourced - Upfront Cost = High, Time to Build = Medium, Security = Low
Private Internally Managed - Upfront Cost = High, Time to Build = High, Security Risk = Medium - 66Why care about cloud computing?Less reliance on stand-alone applications
impossible applications now possible
Resources available as and when required
Different way of tackling problems
Alteration in skill expectations - 67Name four future trendsContainers - Ring-fenced namespaces to provide portable exec units
Serverless - Ephemeral stateless logic that is only called when needed
Resource Pooling - Resource management across an entire datacentre
Disaggregation - individual components are interconnected over a high-bandwidth network network rather than over a bus within a single chassis - 68What is IoT?This is the interconnecting of uniquely identifiable smart computing devices within the existing internet infrastructure
- 69What can an IoT device do?Sense
Actuate
Store
Communicate
Describe its own possible interactions
Be accessed and programmed remotely
Intregrate with environment fabric - 70What is Fog Computing?For every person, there are four connected devices. It extends the cloud paradigm to the edge of the network, Enhances delivery of current applications and services and enables a new generation of context-driven applications and services.
For Example: Location Awareness, Low Latency and Distribution - 71What are the 3 levels of designing for scalability?The Hardware Level - Use of top-end hardware, multi-core processors, adoption of cluster computers
The Operating System Level - Multi-Threading, High-performance Protocols, Fast Context Switches
The Middleware Level - Use of Caching, Use of replication, Load Balancing, Functional Decomposition, migration of load to the client - 72What are Protocol Buffers?These are an open source way of encoding structured data in an efficient yet extensible format
- 73What is MapReduce?This is a service offering a simple programming model for large-scale computation over very large data sets
- 74How does MapReduce work?The programmer defines several user-level functions
There are 2 key phases:
Map = Processes a key/value pair to generate a set of intermediate key/value pairs
Reduce = Merges intermediary values - 75What does GFS stand for?Google File System
- 76What are the requirements for GFS?Assume that components will fail and hence support constant monitoring and automatic recovery
Optimise for very large files
Workload consists mainly of reads together with some writes
High sustained bandwidth is more important than latency
Support multiple concurrent appends efficiently - 77What is the GFS Architecture?Each cluster has one master and multiple chunk servers
Files replicated on by default three chunk servers
The system manages fixed sized chunks 64mb
Over 200 clusters some with up to 5,000 machines offering 5 petabytes of data and 40 gigabytes/sec throughput - 78Name the three parts when it comes to scaling GFS?Hardware and OS (Operating System) - Traditional Google approach of a very large number of commodity machines, designed to tolerate failure
Caching Strategy - Not client caching due to: Size of working sets, Streaming nature of many data sources. No server caching: Reliance on the Linux Buffer cache to maintain files in memory, in memory meta-data on the master
Distribution systems support - Replication a mentioned above, centralised master allows optimum management decisions, separation of control and data flows, relaxed consistency management optimised for appends - 79What is the Chubby Lock Service?Provides a simple file system API for small files. This supports coarse-grained synchronisation in loosely coupled and large-scale distributed systems
- 80What are the three steps in Paxos?Electing a Coordinator - Propose messages (the number they have chosen to be the coordinator) and promise messages (when a replica has seen what it thinks is the highest number), the replica with the highest promise messages becomes the new coordinator
Seeking Consensus - the coordinator then submits a value in an accept message andd the replicas can accept the message or reject the message. this coordinator thn waits for the majority of replicas to acknowledge the accept message.
Reaching Consensus - if the majority of replicas acknowledge, then there is a consensus and the coordinator broadcasts a commit message to all replicas - 81What is BigtableThis is a very large scale distributed table indexed by row, column and timestamp.
- 82How does Bigtable work?The table split by row into fixed tablets optimised for GFS. This is often used with MapReduce for large-scale computation on datasets
- 83What are the five key Design Philosophies?Simplicity - Do one thing and do it well, avoiding feature-rich designs
Performance - Every "millisecond counts", Estimate performance through back-of-the-envelope calculations of primitive operations
Testing - "if it isn't broke, you are not trying hard enough" , complemented by a strong emphasis on logging and tracing to detect/resolve faults
Not adhering to any convention/school of thought - Whatever works best
Use cheapest commodity hardware - 84What is a Distributed Transaction?Synchronisation mechanisms to access shared data concurrently
- 85What are the three operations in a transaction?Begin_Transaction - Start a transaction
End_Transaction - End transaction and try to commit
Abort - Kill transaction and forget everything about it - 86What are the issues with distributed transactions?Need distributed algorithms for concurrency control and recovery schemes
Must deal with added difficulty of distributed deadlock
CRUCIAL ISSUE: Atomic Commit Protocol - 87Explain the One-Phase atomic commit protocol?Coordinator keeps requesting all participants to commit until they return an acknowledgement. No chance of a participant to initiate an abort
- 88What are the two phases of the Two-phase commit protocol in Transaction CommitmentPhase 1:
coordinator send canCommit.
On receiving canCommit, participants reply with yes or no. If yes then stores it in permanent storage before sending yes reply. If no then it aborts immediatley
Phase 2:
If all participants answer yes the coordinator sends doCommit to all participants, else coordinator sends doAbort to participants that voted yes.
Yes-voting participants wait for a doCommit or doAbort from coordinator, and act accordingly. In case of doCommit they send a haveCommited acknowledgement - 89What is a P2P (Peer-to-Peer) network??This is the sharing of computer resources and services direct exchange between systems (peers)
- 90What are five resources in P2P networks?Storage
Compute cycles
Bandwidth
Content
Human Presence - 91What are the five steps in Napster?1) Peers log in
2) Send list of files to share
3) Peer queries server
4) server responds
5) File transfer directly - 92What are the two steps for discovering peers in Gnutella?Step 1- Join the network
Step 2: Determining who is on the network. "Ping" packet is used to announce your presence on the network. other peers respond with a "Pong" packet an also forward you pint to other connected peers - 93What does a Pong packet contain in Gnutella (Discovering Peers)?An IP address
Port number
Amount of data that peer is sharing
Pong packets come back via the same route - 94What are the steps in searching and downloading in Gnutella?Step 1 (3 overall) - searching (Flooding Based search)
Client queries seven of its neighbours. If they don't have it, they contact seven of their neighbours, for a maximum hop count of ten. Reverse path forwarding for responses
Step 4 (Downloading) - peers respond with a "QueryHit". File transfers use direct connection using HTTP protocol - 95What are the two types of free riding when it comes to P2P networks?Downloading but not sharing any data
Not sharing any interesting data - 96—
Información
- Descripción
- Degree Computer Science 3rd Year Fichas sobre SCC 311, creado por Robert Carr el 26/04/2018.
- Creado por
- Robert Carr
- Visitas
- 4
- Valoración