Looks like no one added any tags here yet for you.
distributed system
is a collection of loosely coupled nodes interconnected by a communications network
processors
computers
machines
hosts
Nodes variously called
Site
is location of the machine
node
refers to specific system
server
has a resource a client node at a different site wants to use
client-server
peer-to-peer
hybrid configuration.
Nodes may exist in a
client-server configuration
server has a resource that a client would like to use
peer-to-peer configuration
each node shares equal responsibilities and can act as both clients and servers
message passing
Communication over a network occurs through ?
standalone system
All higher-level functions of a ______________ can be expanded to encompass a distributed system
Resource sharing
• Sharing files or printing at remote sites
• Processing information in a distributed database
• Using remote specialized hardware devices such as graphics processing units (GPUs)
Computation speedup
Distribute subcomputations among various sites to run concurrently
Load balancing
moving jobs to more lightly-loaded sites
Reliability
Detect and recover from site failure, function transfer, reintegrate failed site
Local-Area Network (LAN)
designed to cover small geographical area
Local-Area Network (LAN)
Consists of multiple computers (workstations, laptops, mobile devices), peripherals (printers, storage arrays), and routers providing access to other networks
Ethernet or Wireless (WiFi)
most common way to construct LANs
Wide-Area Network (WAN)
links geographically separated sites • Point-to-point connections via links
Wide-Area Network (WAN)
• Point-to-point connections via links
• Telephone lines, leased (dedicated data) lines, optical cable, microwave links, radio waves, and satellite channels
routers
Implemented via ______ to direct traffic from one network to another
Internet (World Wide Web) WAN
enables hosts world wide to communicate
40-100Gbps
Many backbone providers have speeds at
Local Internet Service Providers (ISPs)
may be slower
Cell phones
use radio waves to cell towers
Domain name system (DNS)
specifies the naming structure of the hosts, as well as name to address resolution (Internet)
Layer 1: Physical layer
Layer 2: Data-link layer
Layer 3: Network layer
Layer 4: Transport layer
Layer 5: Session layer
Layer 6: Presentation layer
Layer 7: Application layer
The communication network is partitioned into the following multiple layers:
Layer 1: Physical layer
handles the mechanical and electrical details of the physical transmission of a bit stream
Layer 2: Data-link layer
handles the frames, or fixed-length parts of packets, including any error detection and recovery that occurred in the physical layer
Layer 3: Network layer
provides connections and routes packets in the communication network, including handling the address of outgoing packets, decoding the address of incoming packets, and maintaining routing information for proper response to changing load levels
Layer 4: Transport layer
responsible for low-level network access and for message transfer between clients, including partitioning messages into packets, maintaining packet order, controlling flow, and generating physical addresses
Layer 5: Session layer
implements sessions, or process-toprocess communications protocols
Layer 6: Presentation layer
resolves the differences in formats among the various sites in the network, including character conversions, and half duplex/full duplex (echoing)
Layer 7: Application layer
interacts directly with the users, deals with file transfer, remote-login protocols and electronic mail, as well as schemas for distributed databases
OSI Network Model
Logical communication between two computers, with the three lowest level layers implemented in hardware
application layer
file transfer, access, and management; document and message interchange; job transfer and manipulation
presentation layer
transfer-syntax negotiation data-representation transformations
session layer
dialog and synchronization control for application entities
transport layer
end-to-end message transfer (connection management, error control, fragmentation, flow control)
OSI model
formalizes some of the earlier work done in network protocols but was developed in the late 1970s and is currently not in widespread use
TCP/IP model
The most widely adopted protocol stack is the ________, which has been adopted by virtually all Internet sites
TCP/IP protocol stack
has fewer layers than the OSI model. Theoretically, because it combines several functions in each layer, it is more difficult to implement but more efficient than OSI networking
Router
uses segmented network part of host-id to determine where to transfer packet
packet
may be complete message, or it may need to be reassembled into larger message spanning multiple packets
Media Access Control (MAC)
Every Ethernet/WiFi device has a
address resolution protocol (ARP)
If a system needs to send data to another system, it needs to discover the IP to MAC address mapping, uses __________________
broadcast
uses a special network address to signal that all hosts should receive and process the packet
true
true or false? Once a host with a specific IP address receives a packet, it must somehow pass it to the correct waiting process
port number
Transport protocols TCP and UDP identify receiving and sending processes through the use of a ?
protocols TCP and UDP
Allows host with single IP address to have multiple server/client processes sending/receiving packets
FTP – port and 21
ssh – port 22
SMTP – port 25
HTTP – port 80
Well-known port numbers are used for many services
Transport protocol
can be simple or can add reliability to network packet stream
UDP is unreliable
bare-bones extension to IP with addition of port number
• Since there are no guarantees of delivery in the lower network (IP) layer, packets may become lost
UDP is also connectionless
no connection setup at the beginning of the transmission to set up state • Also no connection tear-down at the end of transmission
datagrams
UDP packets are also called
reliable and connection-oriented
TCP is both ?
(opposite sila sa UDP)
TCP
provides abstraction to allow in-order, uninterrupted byte-stream across an unreliable network
acknowledgement packet (ACK)
Whenever host sends packet, the receiver must send an _______________. If not received before a timer expires, sender will resend.
Sequence numbers
____________ in TCP header allow receiver to put packets in order and notice missing packets
three-way handshake
Connections are initiated with series of control packets called a
cumulative ACK
Receiver can send a ____________ to acknowledge series of packets
flow control and congestion control
Flow of packets regulated through ?
Flow control
prevents sender from overrunning capacity of receiver
Congestion control
approximates congestion of the network to slow down or speed up packet sending rate
Network Operating Systems
Distributed Operating Systems
Two main types:
Network Operating Systems
Users are aware of multiplicity of machines
Distributed Operating Systems
Users not aware of multiplicity of machines
Data Migration
transfer data by transferring entire file, or transferring only those portions of the file necessary for the immediate task
Computation Migration
transfer the computation, rather than the data, across the system
• Via remote procedure calls (RPCs)
• Via messaging system
Process Migration
execute an entire process, or parts of it, at different sites
Load balancing
distribute processes across network to even the workload
Computation speedup
subprocesses can run concurrently on different sites
Hardware preference
process execution may require specialized processor
Software preference
required software may be available at only a particular site
Data access
run process remotely, rather than transfer all data locally
Robustness
Can the distributed system withstand failures?
Transparency
Can the distributed system be transparent to the user both in terms of where files are stored and user mobility?
Scalability
Can the distributed system be scalable to allow addition of more computation power, storage, or users?
Robustness
Hardware failures can include failure of a link, failure of a site, and loss of a message
fault-tolerant system
can tolerate a certain level of failure
• Degree of fault tolerance depends on design of system and the specific fault
• The more fault tolerance, the better!
• Involves failure detection, reconfiguration, and recovery
heartbeat protocol
To detect a link failure, a ___________ can be used
User mobility
allows users to log into any machine in the environment and see his/her environment
Scalability
As demands increase, the system should easily accept the addition of new resources to accommodate the increased demand
Data compression or deduplication
can cut down on storage and network resources used
Distributed file system (DFS)
a file system whose clients, servers, and storage devices are dispersed among the machines of a distributed system
• Should appear to its clients as a conventional, centralized file system
Service
software entity running on one or more machines and providing a particular type of function to a priori unknown clients
Server
service software running on a single machine
Client
process that can invoke a service using a set of operations that forms its client interface
create, delete, read, write
A client interface for a file service is formed by a set of primitive file operations
• Naming and transparency
• Remote file access
• Caching and cache consistency
Two widely-used architectural models include client-server model and cluster-based model ▪ Challenges include:
Naming
mapping between logical and physical objects
Multilevel mapping
abstraction of a file that hides the details of how and where on the disk the file is actually stored
transparent DFS
hides the location where in the network the file is stored
Location transparency
file name does not reveal the file’s physical storage location
Location independence
file name does not need to be changed when the file’s physical storage location changes
Remote-service mechanism
is one transfer approach.
• A requests for accesses are delivered to the server, the server machine performs the accesses, and their results are forwarded back to the user
Cache-consistency problem
keeping the cached copies consistent with the master file
network virtual memory
Cache-consistency problem could be called ?
• Permit workstations to be diskless
• Data can be accessed more quickly
• Performance speedup in bigger memories
• Server caches (used to speed up disk I/O) are in main memory
Advantages of main-memory caches:
Write-through
write data through to disk as soon as they are placed on any cache
Delayed-write (write-back)
modifications are written to the cache and then written through to the server later