LU1 Intro to DS Flashcards

1
Q

What is a distributed system?

A

A collection of independent computers that appear to users as a single cohesive system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do distributed systems achieve a unified appearance to users?

A

Through middleware that abstracts the complexity of multiple machines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are examples of distributed systems?

A

Compute clusters (e.g., CERN), distributed storage (NFS, Dropbox), the Web, peer-to-peer systems (Tor, Torrent).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is concurrency in distributed systems?

A

The simultaneous execution of multiple programs, allowing shared resources to be accessed by different processes at the same time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the primary purpose of distributed systems?

A

To share resources and information, and enable explicit communication between machines or people.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the advantages of distributed systems?

A

Resource sharing, scalability, performance improvements, and increased reliability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Why is there no global clock in distributed systems?

A

Because coordinating actions across independent computers relies on message passing, which cannot achieve perfect synchronization.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are independent failures in distributed systems?

A

Failures that occur in individual components (hardware, software, network) without affecting the entire system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is resource sharing in distributed systems?

A

The ability to share hardware (e.g., printers), data (e.g., files), and services (e.g., search engines) across multiple users.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is middleware in distributed systems?

A

Software layers that provide a programming abstraction and mask the heterogeneity of networks, hardware, OS, and programming languages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is heterogeneity in distributed systems?

A

The diversity in networks, hardware, operating systems, and programming languages within a distributed system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is transparency in distributed systems?

A

The ability to hide the complexity of the distributed system from users and programmers, making it appear as a single system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the types of transparency in distributed systems?

A

Access, location, migration, relocation, replication, concurrency, and failure transparency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is access transparency?

A

Hides differences in data representation and how resources are accessed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is location transparency?

A

Hides the physical location of resources from users and applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is migration transparency?

A

Hides the ability of the system to move objects or processes between locations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is replication transparency?

A

Hides the fact that resources or data may be replicated across multiple locations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is concurrency transparency?

A

Hides the coordination of activities between processes to maintain consistency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is failure transparency?

A

Hides the occurrence and recovery from failures in the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is openness in distributed systems?

A

The ability to extend and improve the system by integrating new components with existing ones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is security in distributed systems?

A

Protecting data, resources, and communications from unauthorized access and ensuring authentication and privacy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What are common security challenges in distributed systems?

A

Denial of service attacks, securing mobile code, and ensuring data confidentiality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is scalability in distributed systems?

A

The ability of a system to handle growth in users, resources, and geographical distribution without performance degradation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What are the three dimensions of scalability?

A

Size, geography, and administration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What is concurrency vs. parallelism?
Concurrency involves overlapping execution of tasks, while parallelism involves simultaneous execution on multiple processors.
26
What is fault tolerance in distributed systems?
The ability of a system to continue operating correctly even when some components fail.
27
What is a client-server model?
A model where clients request services from servers over a network.
28
What are request-reply protocols?
Protocols where clients send requests to servers, which process them and send back replies.
29
What is the difference between synchronous and asynchronous communication?
Synchronous communication blocks until a reply is received, while asynchronous allows other work while waiting for a reply.
30
What are errors, faults, and failures in distributed systems?
Errors are application-level issues, faults are system malfunctions, and failures are the inability to provide required services.
31
What is exactly-once semantics?
Ensuring that a request is executed exactly once, even if retries occur due to network issues.
32
What is at-most-once semantics?
A request is executed once or not at all, avoiding duplicate operations but risking missed actions.
33
What is at-least-once semantics?
A request is guaranteed to be executed at least once, which may result in duplicate operations.
34
What is Remote Procedure Call (RPC)?
A communication protocol that allows a program to execute a procedure on a remote server as if it were local.
35
What are examples of contemporary distributed systems?
Web search engines, massively multiplayer online games (MMOGs), and financial trading systems.
36
What are the challenges in MMOGs as distributed systems?
Ensuring fast response times, real-time event propagation, and maintaining a consistent shared world.
37
Why is financial trading a challenge for distributed systems?
It requires real-time access to information, reliable event delivery, and low-latency processing.
38
What are trends in distributed systems?
The rise of the Internet, intranets, and mobile and ubiquitous networks.
39
What is an intranet?
A private network within an organization that uses Internet technologies and can connect to the wider Internet.
40
What is mobile computing?
Performing computing tasks while the user is on the move, often accessing resources remotely.
41
What is ubiquitous computing?
Integrating small, inexpensive computing devices into the physical environment to make them available everywhere.
42
What are distributed pervasive systems?
Next-generation distributed systems with small, mobile, and embedded nodes that adapt to contextual changes.
43
What are the implementation issues in distributed systems?
Architectures, processes, inter-process communication, naming, synchronization, consistency, replication, and fault tolerance.
44
What is inter-process communication?
Mechanisms that allow processes on different machines to communicate and coordinate their actions.
45
What is synchronization in distributed systems?
Aligning the clocks and actions of distributed processes to maintain consistency.
46
What is consistency in distributed systems?
Ensuring that all nodes have the same data at the same time.
47
What is replication in distributed systems?
Copying data across multiple nodes to increase reliability and availability.
48
What is the Google architecture example of a distributed system?
Treating 100,000 computers as one unified system for efficient data processing and search.
49
What is the role of middleware in distributed systems?
To abstract complexities and provide a unified programming interface for developers.
50
What is the purpose of resource encapsulation in distributed systems?
To manage resources through communication interfaces, ensuring reliable and consistent access.
51
What are common protocols used in distributed systems?
HTTP, SMTP, IMAP, and RPC.
52
What is a lock service in distributed systems?
A service that prevents multiple processes from accessing or modifying the same resource simultaneously.
53
What is a structured distributed storage system?
A system designed for fast access to large datasets, optimized for distributed applications.
54
What are the characteristics of web search as a distributed system?
High scalability, large-scale data processing, and fast, reliable access to search results.
55
How do MMOGs maintain a consistent shared world?
Through real-time propagation of events and synchronization mechanisms.
56
What is the significance of event delivery in financial trading systems?
Ensuring that market events are processed and delivered to clients in real-time with high reliability.
57
What is the difference between Internet and intranet?
The Internet is a global network, while an intranet is a private network within an organization.
58
What is the role of firewalls in intranets?
To protect the network by filtering unauthorized incoming and outgoing messages.
59
What are examples of mobile and ubiquitous devices in distributed systems?
Laptops, smartphones, wearable devices, and location-aware technologies.
60
What is the challenge of network delays in distributed systems?
Difficulty distinguishing between congestion, crashes, and partitions, affecting communication reliability.
61
What is the challenge of no global visibility in distributed systems?
Inability to have a consistent view of the entire system, complicating coordination and decision-making.
62
What is code mobility in distributed systems?
The ability to send code from one machine to another for execution, enhancing flexibility and efficiency.
63
What are mobile code examples in distributed systems?
Java applets and applications running on Java virtual machines.
64
What is openness in distributed systems design?
The ability to extend systems with new hardware or software while maintaining interoperability.
65
What are the implications of security in distributed systems?
The need for robust measures to ensure confidentiality, integrity, and authentication of data and communications.
66
What is the importance of scalability in distributed systems?
To handle growing user bases and resource demands without performance degradation.
67
What are the three main goals when building distributed systems?
Resource sharing, scalability, and fault tolerance.
68
What is the challenge of concurrency in distributed systems?
Coordinating access to shared resources among multiple users and processes without causing instability.
69
What is failure handling in distributed systems?
Strategies to detect, recover from, and tolerate failures in hardware, software, and communication networks.
70
What is the significance of transparency for end-users?
To provide a seamless experience, making the distributed nature of the system invisible to users.
71
How do distributed systems manage naming for scalability?
By assigning unique identifiers to devices and resources, enabling efficient location and access.
72
What is the challenge of synchronization in distributed systems?
Aligning distributed processes and clocks to ensure consistent state and coordinated actions.
73
What is the role of algorithms in distributed systems?
To facilitate coordination, communication, and resource management across multiple nodes.
74
What is the importance of understanding middleware in distributed systems?
Middleware simplifies development and ensures that applications can run seamlessly across diverse systems.
75
What is the role of basic communication via messages in distributed systems?
To enable processes on different machines to exchange information and coordinate actions.
76
Why is understanding client-server systems foundational for distributed systems?
It provides the basic model for communication and resource sharing in distributed environments.
77
What is the purpose of request-reply protocols?
To facilitate interaction between clients and servers, ensuring requests are processed and responses are returned.
78
What are the potential issues with retry semantics in distributed systems?
Uncertainty about whether an operation was performed, leading to possible duplicates or missed actions.
79
What is the practical challenge of ensuring exactly-once semantics?
Handling retries and duplicates in a way that guarantees operations are performed only once, even in case of failures.
80
Why is distributed computing essential in modern technology?
It enables efficient resource sharing, scalability, and fault tolerance across a wide range of applications and services.