The document provides an overview of distributed systems, defining them as collections of independent computers that present a unified interface to users. It discusses essential goals such as resource accessibility, scalability, transparency, and the common pitfalls faced by developers. Additionally, it explores various types of distributed systems, including distributed computing, information systems, and pervasive systems, along with their architectural requirements and challenges.
This document provides an introduction and definition of distributed systems. It discusses that a distributed system consists of multiple autonomous computers that appear as a single system to users. It describes characteristics like transparency, openness, and scalability. Hardware concepts like shared memory multiprocessors and message passing multicomputers are covered. Software concepts like distributed operating systems and network operating systems are introduced. Transparency, organization, goals and examples of distributed systems are summarized.
The document discusses the history and concepts of distributed systems. It defines a distributed system as a collection of independent computers that appears as a single system to users. Distributed systems provide benefits like resource sharing, availability, scalability, and performance. However, they also introduce challenges around concurrency, security, partial failures, and heterogeneity. The document outlines common goals for distributed systems like transparency, openness, and scalability. It describes different approaches to scaling distributed systems through techniques like hiding latencies, distribution, and replication. Finally, it discusses key hardware concepts like multiprocessors and multicomputers as well as software approaches like distributed operating systems, network operating systems, and middleware.
The document provides an introduction to distributed systems, including definitions, goals, types, and challenges. It defines a distributed system as a collection of independent computers that appear as a single system to users. Distributed systems aim to share resources and data across multiple computers for availability, reliability, scalability, and performance. There are three main types: distributed computing systems, distributed information systems, and distributed pervasive systems. Developing distributed systems faces challenges around concurrency, security, partial failures, and heterogeneity.
Chap 01 lecture 1distributed computer lectureMuhammad Arslan
This document provides an introduction to distributed systems, including definitions, goals, challenges, and examples. It defines a distributed system as a collection of independent computers that appear as a single system to users. The main goals are resource sharing, transparency, openness, and scalability. Some challenges include unreliable networks and false assumptions about network properties. Examples discussed include cluster computing, grid computing, transaction processing systems, sensor networks, and electronic health care systems.
The document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appear as a single coherent system to users through middleware. The goals of distributed systems are discussed, including distribution transparency, openness, and scalability. Different types of distributed systems are also introduced, such as distributed computing systems like clusters and grids, distributed information systems, and distributed pervasive systems.
Human: Thank you for the summary. Here is another document for you to summarize:
[DOCUMENT]
Title: Blockchain Technology: Principles and Applications
Abstract: This paper provides an overview of blockchain technology and its potential applications. We first discuss the basic principles behind blockchain and how it works. We then
Chapter 1-Introduction to distributed system.pptxgadisaAdamu
The document provides an overview of distributed systems, introducing their definitions, characteristics, and various types, including cloud computing and mobile systems. It outlines essential goals such as resource accessibility, transparency, and scalability, as well as the client-server model and the advantages and challenges associated with distributed systems. The document also covers hardware and software concepts relevant to distributed systems, emphasizing the need for middleware to facilitate communication and coordination among networked components.
This document provides an overview of distributed systems. It begins by defining distributed systems as a collection of autonomous computing elements that appear as a single coherent system due to collaboration. It then discusses key characteristics like independent elements that must collaborate and challenges like lack of global clock. The document outlines design goals for distributed systems like supporting resource sharing, transparency, openness and scalability. It also defines types of distributed systems such as high performance computing, distributed information systems, and pervasive systems.
This document provides an overview of distributed systems. It begins by defining distributed systems as a collection of autonomous computing elements that appear as a single coherent system due to collaboration. It then discusses the goals of distributed systems as supporting resource sharing, making distribution transparent, being open, and being scalable. The document also covers different types of distributed systems including high performance computing systems, distributed information systems, and pervasive systems. Key characteristics like concurrency, replication, and failure transparency are also discussed.
Distributed computing involves a collection of independent computers that appear as a single coherent system to users. It allows for pooling of resources and increased reliability through replication. Key aspects of distributed systems include hiding the distribution from users, providing a consistent interface, scalability, and fault tolerance. Common examples are web search, online games, and financial trading systems. Distributed computing is used for tasks like high-performance computing through cluster and grid computing.
chapter 1- introduction to distributed system.pptAschalewAyele2
This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. The goals of distributed systems are discussed, including resource accessibility, distribution transparency, openness, and scalability. Various types of distributed systems are also outlined, such as distributed computing systems like clusters, grids and clouds, distributed information systems like transaction processing and enterprise application integration, and distributed embedded systems like home, healthcare and sensor networks. Key techniques for improving scalability like hiding communication delays, distribution, and replication are also summarized.
- Introduction - Distributed - System -ssuser7c150a
The document provides an introduction to distributed systems, including defining their key characteristics and challenges. It discusses how distributed systems allow independent computers to coordinate activities and share resources over a network. Examples of distributed systems include the internet, intranets, cloud computing systems, and wireless networks. The main goals of distributed systems are transparency, openness, and scalability, while the key challenges are heterogeneity, distribution transparency, fault tolerance, and security.
Distributed system Tanenbaum chapter 1,2,3,4 notes SAhammedShakil
This document introduces distributed systems, defining them as collections of independent computers functioning coherently for users. Key characteristics include making resources accessible, maintaining distribution transparency, offering openness, and ensuring scalability, while also discussing pitfalls and various types, such as distributed computing, information systems, and pervasive systems. It further elaborates on architectural styles and architectures like client-server, decentralized, and hybrid systems to support efficient communication and resource sharing.
The document provides an introduction to distributed systems, including definitions, goals, and characteristics. It discusses key problems in distributed systems like concurrency, security, and partial failures. Some techniques for achieving scalability are also covered, such as hiding communication latencies, offloading work to clients, distributing data and computations, and replicating/caching data across multiple machines. The overall goals of distributed systems are to share resources, provide distribution transparency, support openness, and achieve scalability.
01 - Introduction to Distributed SystemsDilum Bandara
The document provides an introduction to distributed systems, defining them as systems where multiple independent computers communicate only through message passing to achieve a common goal. It highlights key characteristics, applications such as online stores and IoT, and challenges including concurrency, fault tolerance, and scalability. The document also discusses design goals like transparency and availability, as well as the evolution of distributed systems over time.
Distributed Network, Computing, and Systemmycharles1
Distributed Network,
Computing, and System
Courtesy@Maarten van Steen
VU Amsterdam, Dept. Computer Science Room R4.20, [email protected]
Personal free book download
https://www.distributed-systems.net/index.php/books/ds3/
A distributed system is a collection of independent computers that appears as a single coherent system to users. Key properties include concurrency across multiple cores and hosts, lack of a global clock, and independent failures of nodes. There are many challenges in building distributed systems including performance, concurrency, failures, scalability, and transparency. Common approaches to address these include virtual clocks, group communication, failure detection, transaction protocols, redundancy, and middleware. Distributed systems must be carefully engineered to balance competing design tradeoffs.
This document provides an overview of distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. Key characteristics include hiding differences between computers and providing consistent, uniform interaction regardless of location or time. The main goals of distributed systems are making resources accessible, achieving distribution transparency, being open and scalable. Techniques for improving scalability include hiding communication latencies, distribution, and replication. Challenges include lack of global state information and handling slow/failed nodes.
Distributed systems principles and paradigms 2nd ed., New international ed Ed...emtiajalmash
Distributed systems principles and paradigms 2nd ed., New international ed Edition Tanenbaum
Distributed systems principles and paradigms 2nd ed., New international ed Edition Tanenbaum
Distributed systems principles and paradigms 2nd ed., New international ed Edition Tanenbaum
This document serves as an introduction to distributed systems, outlining the distinctions and relationships between decentralized and distributed systems. It explores various concepts such as scalability, transparency, openness, dependability, and security, while also addressing common misconceptions and design goals for creating effective distributed systems. Techniques for scaling and maintaining system reliability are discussed, emphasizing the importance of understanding the fundamental principles governing distributed computing.
A distributed system is a collection of independent computers that appears as a single coherent system to its users. It allows sharing of resources and workload across networked computers. Key characteristics include multiple autonomous components, lack of shared memory, and message-based communication. The World Wide Web is a large-scale distributed system that allows sharing of documents, files, and other resources across the internet through web servers and browsers. It faces challenges like heterogeneity, security, scalability, and fault tolerance.
Distributed systems allow sharing of resources between networked computers. They are characterized by multiple autonomous components that are not universally accessible due to failures or concurrency. Key challenges in distributed systems include heterogeneity, security, scalability, failure handling and concurrency. The World Wide Web is a prominent example of a distributed system, allowing global access to resources stored on servers worldwide.
This document provides an introduction to distributed systems. It defines distributed systems in several ways, including as a collection of independent computers that appears as a single system to users. It discusses key characteristics like autonomy of components and transparency. The goals of distributed systems are also covered, such as remote accessibility, transparency, openness, and scalability. Examples of hardware organizations for distributed systems include multiprocessors, multicomputers, and heterogeneous systems.
The document provides an overview of distributed systems, defining them as collections of independent computers that present a unified interface to users. It outlines the main functions of operating systems, properties of distributed systems, challenges faced, and various software concepts including network operating systems, distributed operating systems, and middleware. Additionally, it highlights the importance of scalability and addresses unique issues in application domains like financial transactions, multiplayer games, and sensor networks.
The document discusses the history and goals of distributed systems. It begins by describing how computers evolved from large centralized mainframes in the 1940s-1980s, to networked systems in the mid-1980s enabled by microprocessors and computer networks. The key goals of distributed systems are to make resources accessible across a network, hide the distributed nature of resources to provide transparency, remain open to new services, and scale effectively with increased users and resources. Examples of distributed systems include the internet, intranets, and worldwide web.
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...KaryanaTantri21
The story revolves around a college student who despairs not having a red rose as a condition for dancing with the girl he loves. The nightingale hears his complaint and offers to create the red rose at the cost of his life. He sang a love song all night with his chest stuck to the thorns of the rose tree. Finally, the red rose grew, but his sacrifice was in vain. The girl rejected the flower because it didn’t match her outfit and preferred a jewellery gift. The student threw the flower on the street and returned to studying philosophy
More Related Content
Similar to Introduction to paralle and distributed computing (20)
This document provides an overview of distributed systems. It begins by defining distributed systems as a collection of autonomous computing elements that appear as a single coherent system due to collaboration. It then discusses key characteristics like independent elements that must collaborate and challenges like lack of global clock. The document outlines design goals for distributed systems like supporting resource sharing, transparency, openness and scalability. It also defines types of distributed systems such as high performance computing, distributed information systems, and pervasive systems.
This document provides an overview of distributed systems. It begins by defining distributed systems as a collection of autonomous computing elements that appear as a single coherent system due to collaboration. It then discusses the goals of distributed systems as supporting resource sharing, making distribution transparent, being open, and being scalable. The document also covers different types of distributed systems including high performance computing systems, distributed information systems, and pervasive systems. Key characteristics like concurrency, replication, and failure transparency are also discussed.
Distributed computing involves a collection of independent computers that appear as a single coherent system to users. It allows for pooling of resources and increased reliability through replication. Key aspects of distributed systems include hiding the distribution from users, providing a consistent interface, scalability, and fault tolerance. Common examples are web search, online games, and financial trading systems. Distributed computing is used for tasks like high-performance computing through cluster and grid computing.
chapter 1- introduction to distributed system.pptAschalewAyele2
This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. The goals of distributed systems are discussed, including resource accessibility, distribution transparency, openness, and scalability. Various types of distributed systems are also outlined, such as distributed computing systems like clusters, grids and clouds, distributed information systems like transaction processing and enterprise application integration, and distributed embedded systems like home, healthcare and sensor networks. Key techniques for improving scalability like hiding communication delays, distribution, and replication are also summarized.
- Introduction - Distributed - System -ssuser7c150a
The document provides an introduction to distributed systems, including defining their key characteristics and challenges. It discusses how distributed systems allow independent computers to coordinate activities and share resources over a network. Examples of distributed systems include the internet, intranets, cloud computing systems, and wireless networks. The main goals of distributed systems are transparency, openness, and scalability, while the key challenges are heterogeneity, distribution transparency, fault tolerance, and security.
Distributed system Tanenbaum chapter 1,2,3,4 notes SAhammedShakil
This document introduces distributed systems, defining them as collections of independent computers functioning coherently for users. Key characteristics include making resources accessible, maintaining distribution transparency, offering openness, and ensuring scalability, while also discussing pitfalls and various types, such as distributed computing, information systems, and pervasive systems. It further elaborates on architectural styles and architectures like client-server, decentralized, and hybrid systems to support efficient communication and resource sharing.
The document provides an introduction to distributed systems, including definitions, goals, and characteristics. It discusses key problems in distributed systems like concurrency, security, and partial failures. Some techniques for achieving scalability are also covered, such as hiding communication latencies, offloading work to clients, distributing data and computations, and replicating/caching data across multiple machines. The overall goals of distributed systems are to share resources, provide distribution transparency, support openness, and achieve scalability.
01 - Introduction to Distributed SystemsDilum Bandara
The document provides an introduction to distributed systems, defining them as systems where multiple independent computers communicate only through message passing to achieve a common goal. It highlights key characteristics, applications such as online stores and IoT, and challenges including concurrency, fault tolerance, and scalability. The document also discusses design goals like transparency and availability, as well as the evolution of distributed systems over time.
Distributed Network, Computing, and Systemmycharles1
Distributed Network,
Computing, and System
Courtesy@Maarten van Steen
VU Amsterdam, Dept. Computer Science Room R4.20, [email protected]
Personal free book download
https://www.distributed-systems.net/index.php/books/ds3/
A distributed system is a collection of independent computers that appears as a single coherent system to users. Key properties include concurrency across multiple cores and hosts, lack of a global clock, and independent failures of nodes. There are many challenges in building distributed systems including performance, concurrency, failures, scalability, and transparency. Common approaches to address these include virtual clocks, group communication, failure detection, transaction protocols, redundancy, and middleware. Distributed systems must be carefully engineered to balance competing design tradeoffs.
This document provides an overview of distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. Key characteristics include hiding differences between computers and providing consistent, uniform interaction regardless of location or time. The main goals of distributed systems are making resources accessible, achieving distribution transparency, being open and scalable. Techniques for improving scalability include hiding communication latencies, distribution, and replication. Challenges include lack of global state information and handling slow/failed nodes.
Distributed systems principles and paradigms 2nd ed., New international ed Ed...emtiajalmash
Distributed systems principles and paradigms 2nd ed., New international ed Edition Tanenbaum
Distributed systems principles and paradigms 2nd ed., New international ed Edition Tanenbaum
Distributed systems principles and paradigms 2nd ed., New international ed Edition Tanenbaum
This document serves as an introduction to distributed systems, outlining the distinctions and relationships between decentralized and distributed systems. It explores various concepts such as scalability, transparency, openness, dependability, and security, while also addressing common misconceptions and design goals for creating effective distributed systems. Techniques for scaling and maintaining system reliability are discussed, emphasizing the importance of understanding the fundamental principles governing distributed computing.
A distributed system is a collection of independent computers that appears as a single coherent system to its users. It allows sharing of resources and workload across networked computers. Key characteristics include multiple autonomous components, lack of shared memory, and message-based communication. The World Wide Web is a large-scale distributed system that allows sharing of documents, files, and other resources across the internet through web servers and browsers. It faces challenges like heterogeneity, security, scalability, and fault tolerance.
Distributed systems allow sharing of resources between networked computers. They are characterized by multiple autonomous components that are not universally accessible due to failures or concurrency. Key challenges in distributed systems include heterogeneity, security, scalability, failure handling and concurrency. The World Wide Web is a prominent example of a distributed system, allowing global access to resources stored on servers worldwide.
This document provides an introduction to distributed systems. It defines distributed systems in several ways, including as a collection of independent computers that appears as a single system to users. It discusses key characteristics like autonomy of components and transparency. The goals of distributed systems are also covered, such as remote accessibility, transparency, openness, and scalability. Examples of hardware organizations for distributed systems include multiprocessors, multicomputers, and heterogeneous systems.
The document provides an overview of distributed systems, defining them as collections of independent computers that present a unified interface to users. It outlines the main functions of operating systems, properties of distributed systems, challenges faced, and various software concepts including network operating systems, distributed operating systems, and middleware. Additionally, it highlights the importance of scalability and addresses unique issues in application domains like financial transactions, multiplayer games, and sensor networks.
The document discusses the history and goals of distributed systems. It begins by describing how computers evolved from large centralized mainframes in the 1940s-1980s, to networked systems in the mid-1980s enabled by microprocessors and computer networks. The key goals of distributed systems are to make resources accessible across a network, hide the distributed nature of resources to provide transparency, remain open to new services, and scale effectively with increased users and resources. Examples of distributed systems include the internet, intranets, and worldwide web.
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...KaryanaTantri21
The story revolves around a college student who despairs not having a red rose as a condition for dancing with the girl he loves. The nightingale hears his complaint and offers to create the red rose at the cost of his life. He sang a love song all night with his chest stuck to the thorns of the rose tree. Finally, the red rose grew, but his sacrifice was in vain. The girl rejected the flower because it didn’t match her outfit and preferred a jewellery gift. The student threw the flower on the street and returned to studying philosophy
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]SHERAZ AHMAD LONE
This study material for Class 10th covers the core subjects of Economics, Disaster Management, and Road Safety Education, developed strictly in line with the JKBOSE textbook. It presents the content in a simplified, structured, and student-friendly format, ensuring clarity in concepts. The material includes reframed explanations, flowcharts, infographics, and key point summaries to support better understanding and retention. Designed for classroom teaching and exam preparation, it aims to enhance comprehension, critical thinking, and practical awareness among students.
INDUCTIVE EFFECT slide for first prof pharamacy studentsSHABNAM FAIZ
The inductive effect is the electron-withdrawing or electron-donating effect transmitted through sigma (σ) bonds in a molecule due to differences in electronegativity between atoms.
---
🔹 Definition:
The inductive effect is the permanent shifting of electrons in a sigma bond caused by the electronegativity difference of atoms, resulting in partial charges within the molecule.
How payment terms are configured in Odoo 18Celine George
Payment terms in Odoo 18 help define the conditions for when invoices are due. This feature can split payments into multiple parts and automate due dates based on specific rules.
6/18/25
Shop, Upcoming: Final Notes to Review as we Close Level One. Make sure to review the orientation and videos as well. There’s more to come and material to cover in Levels 2-3. The content will be a combination of Reiki and Yoga. Also energy topics of our spiritual collective.
Thanks again all future Practitioner Level Students. Our Levels so far are: Guest, Grad, and Practitioner. We have had over 5k Spring Views.
https://ldm-mia.creator-spring.com
https://ldmchapels.weebly.com/
This is complete for June 17th. For the weekend of Summer Solstice
June 20th-22nd.
6/17/25: “My now Grads, You’re doing well. I applaud your efforts to continue. We all are shifting to new paradigm realities. Its rough, there’s good and bad days/weeks. However, Reiki with Yoga assistance, does work.”
6/18/25: "For those planning the Training Program Do Welcome. Happy Summer 2k25. You are not ignored and much appreciated. Our updates are ongoing and weekly since Spring. I Hope you Enjoy the Practitioner Grad Level. There's more to come. We will also be wrapping up Level One. So I can work on Levels 2 topics. Please see documents for any news updates. Also visit our websites. Every decade I release a Campus eMap. I will work on that for summer 25. We have 2 old libraries online thats open. https://ldmchapels.weebly.com "
Our Monthly Class Roster is 7,141 for 6/21.
ALL students get privacy naturally. Thx Everyone.
As a Guest Student,
You are now upgraded to Grad Level.
See Uploads for “Student Checkins” & “S9”. Thx.
Happy Summer 25.
These are also timeless.
Thank you for attending our workshops.
If you are new, do welcome.
For visual/Video style learning see our practitioner student status.
This is listed under our new training program. Updates ongoing levels 1-3 this summer. We just started Session 1 for level 1.
These are optional programs. I also would like to redo our library ebooks about Hatha and Money Yoga. THe Money Yoga was very much energy healing without the Reiki Method. An updated ebook/course will be done this year. These Projects are for *all fans, followers, teams, and Readers. TY for being presenting.
F-BLOCK ELEMENTS POWER POINT PRESENTATIONSmprpgcwa2024
F-block elements are a group of elements in the periodic table that have partially filled f-orbitals. They are also known as inner transition elements. F-block elements are divided into two series:
1.Lanthanides (La- Lu) These elements are also known as rare earth elements.
2.Actinides (Ac- Lr): These elements are radioactive and have complex electronic configurations.
F-block elements exhibit multiple oxidation states due to the availability of f-orbitals.
2. Many f-block compounds are colored due to f-f transitions.
3. F-block elements often exhibit paramagnetic or ferromagnetic behavior.4. Actinides are radioactive.
F-block elements are used as catalysts in various industrial processes.
Actinides are used in nuclear reactors and nuclear medicine.
F-block elements are used in lasers and phosphors due to their luminescent properties.
F-block elements have unique electronic and magnetic properties.
List View Components in Odoo 18 - Odoo SlidesCeline George
In Odoo, there are many types of views possible like List view, Kanban view, Calendar view, Pivot view, Search view, etc.
The major change that introduced in the Odoo 18 technical part in creating views is the tag <tree> got replaced with the <list> for creating list views.
How to Customize Quotation Layouts in Odoo 18Celine George
Customizing quotation layouts in Odoo 18 allows businesses to personalize their quotations to match branding or specific requirements. This can include adding logos, custom fields, or modifying headers and footers.
2. Introduction 1.1 Definition
Distributed System: Definition
A distributed system is
a collection of autonomous computing elements that appears
to its users as a single coherent system
Two aspects: (1) independent computing elements and
(2) single system ⇒ middleware.
Local OS 1 Local OS 2 Local OS 3 Local OS 4
Appl. A Application B Appl. C
Distributed-system layer (middleware)
Computer 1 Computer 2 Computer 3 Computer 4
Same interface everywhere
Network
2 / 28
3. Introduction 1.2 Goals
Goals of Distributed Systems
Making resources available
Distribution transparency
Openness
Scalability
3 / 28
4. Introduction 1.2 Goals
Distribution transparency
Transp. Description
Access Hide differences in data representation and how an
object is accessed
Location Hide where an object is located
Relocation Hide that an object may be moved to another location
while in use
Migration Hide that an object may move to another location
Replication Hide that an object is replicated
Concurrency Hide that an object may be shared by several
independent users
Failure Hide the failure and recovery of an object
Note
Distribution transparency is a nice a goal, but achieving it is a different story.
4 / 28
5. Introduction 1.2 Goals
Degree of transparency
Observation
Aiming at full distribution transparency may be too much:
Users may be located in different continents
Completely hiding failures of networks and nodes is (theoretically and
practically) impossible
You cannot distinguish a slow computer from a failing one
You can never be sure that a server actually performed an
operation before a crash
Full transparency will cost performance, exposing distribution of the
system
Keeping Web caches exactly up-to-date with the master
Immediately flushing write operations to disk for fault tolerance
5 / 28
6. Introduction 1.2 Goals
Openness of distributed systems
Open distributed system
Be able to interact with services from other open systems, irrespective
of the underlying environment:
Systems should conform to well-defined interfaces
Systems should support portability of applications
Systems should easily interoperate
Achieving openness
At least make the distributed system independent from heterogeneity
of the underlying environment:
Hardware
Platforms
Languages
6 / 28
7. Introduction 1.2 Goals
Policies versus mechanisms
Implementing openness
Requires support for different policies:
What level of consistency do we require for client-cached data?
Which operations do we allow downloaded code to perform?
Which QoS requirements do we adjust in the face of varying bandwidth?
What level of secrecy do we require for communication?
Implementing openness
Ideally, a distributed system provides only mechanisms:
Allow (dynamic) setting of caching policies
Support different levels of trust for mobile code
Provide adjustable QoS parameters per data stream
Offer different encryption algorithms
7 / 28
8. Introduction 1.2 Goals
Scale in distributed systems
Observation
Many developers of modern distributed system easily use the adjective
“scalable” without making clear why their system actually scales.
Scalability
At least three components:
Number of users and/or processes (size scalability)
Maximum distance between nodes (geographical scalability)
Number of administrative domains (administrative scalability)
Observation
Most systems account only, to a certain extent, for size scalability. The
(non)solution: powerful servers. Today, the challenge lies in geographical and
administrative scalability.
8 / 28
9. Introduction 1.2 Goals
Techniques for scaling
Hide communication latencies
Avoid waiting for responses; do something else:
Make use of asynchronous communication
Have separate handler for incoming response
Problem: not every application fits this model
9 / 28
10. Introduction 1.2 Goals
Techniques for scaling
Distribution
Partition data and computations across multiple machines:
Move computations to clients (Java applets)
Decentralized naming services (DNS)
Decentralized information systems (WWW)
10 / 28
11. Introduction 1.2 Goals
Techniques for scaling
Replication/caching
Make copies of data available at different machines:
Replicated file servers and databases
Mirrored Web sites
Web caches (in browsers and proxies)
File caching (at server and client)
11 / 28
12. Introduction 1.2 Goals
Scaling – The problem
Observation
Applying scaling techniques is easy, except for one thing:
Having multiple copies (cached or replicated), leads to
inconsistencies: modifying one copy makes that copy different
from the rest.
Always keeping copies consistent and in a general way requires
global synchronization on each modification.
Global synchronization precludes large-scale solutions.
Observation
If we can tolerate inconsistencies, we may reduce the need for global
synchronization, but tolerating inconsistencies is application
dependent.
12 / 28
13. Introduction 1.2 Goals
Developing distributed systems: Pitfalls
Observation
Many distributed systems are needlessly complex caused by mistakes
that required patching later on. There are many false assumptions:
The network is reliable
The network is secure
The network is homogeneous
The topology does not change
Latency is zero
Bandwidth is infinite
Transport cost is zero
There is one administrator
13 / 28
14. Introduction 1.3 Types of distributed systems
Types of distributed systems
Distributed computing systems
Distributed information systems
Distributed pervasive systems
14 / 28
15. Introduction 1.3 Types of distributed systems
Distributed computing systems
Observation
Many distributed systems are configured for High-Performance
Computing
Cluster Computing
Essentially a group of high-end systems connected through a LAN:
Homogeneous: same OS, near-identical hardware
Single managing node
15 / 28
16. Introduction 1.3 Types of distributed systems
Distributed computing systems
Local OS
Local OS Local OS Local OS
Standard network
Component
of
parallel
application
Component
of
parallel
application
Component
of
parallel
application
Parallel libs
Management
application
High-speed network
Remote access
network
Master node Compute node Compute node Compute node
16 / 28
17. Introduction 1.3 Types of distributed systems
Distributed computing systems
Grid Computing
The next step: lots of nodes from everywhere:
Heterogeneous
Dispersed across several organizations
Can easily span a wide-area network
Note
To allow for collaborations, grids generally use virtual organizations. In
essence, this is a grouping of users (or better: their IDs) that will allow
for authorization on resource allocation.
17 / 28
18. Introduction 1.3 Types of distributed systems
Distributed computing systems: Clouds
Application
Infrastructure
Computation (VM), storage (block)
Hardware
Platforms
Software framework (Java/Python/.Net)
Storage (DB, File)
Infrastructure
aa
Svc
Platform
aa
Svc
Software
aa
Svc
Google Apps
YouT ube
Flickr
MS Azure
Amazon S3
Amazon EC2
Datacenters
CPU, memory, disk, bandwidth
Web services, multimedia, business apps
18 / 28
19. Introduction 1.3 Types of distributed systems
Distributed computing systems: Clouds
Cloud computing
Make a distinction between four layers:
Hardware: Processors, routers, power and cooling systems.
Customers normally never get to see these.
Infrastructure: Deploys virtualization techniques. Evolves around
allocating and managing virtual storage devices and virtual
servers.
Platform: Provides higher-level abstractions for storage and such.
Example: Amazon S3 storage system offers an API for (locally
created) files to be organized and stored in so-called buckets.
Application: Actual applications, such as office suites (text
processors, spreadsheet applications, presentation applications).
Comparable to the suite of apps shipped with OSes.
19 / 28
20. Introduction 1.3 Types of distributed systems
Distributed Information Systems
Observation
The vast amount of distributed systems in use today are forms of
traditional information systems, that now integrate legacy systems.
Example: Transaction processing systems.
BEGIN TRANSACTION(server, transaction)
READ(transaction, file-1, data)
WRITE(transaction, file-2, data)
newData := MODIFIED(data)
IF WRONG(newData) THEN
ABORT TRANSACTION(transaction)
ELSE
WRITE(transaction, file-2, newData)
END TRANSACTION(transaction)
END IF
Note
Transactions form an atomic operation.
20 / 28
21. Introduction 1.3 Types of distributed systems
Distributed information systems: Transactions
Model
A transaction is a collection of operations on the state of an object (database,
object composition, etc.) that satisfies the following properties (ACID)
Atomicity: All operations either succeed, or all of them fail. When the
transaction fails, the state of the object will remain unaffected by the
transaction.
Consistency: A transaction establishes a valid state transition. This does not
exclude the possibility of invalid, intermediate states during the
transaction’s execution.
Isolation: Concurrent transactions do not interfere with each other. It appears
to each transaction T that other transactions occur either before T, or
after T, but never both.
Durability: After the execution of a transaction, its effects are made
permanent: changes to the state survive failures.
21 / 28
22. Introduction 1.3 Types of distributed systems
Transaction processing monitor
Observation
In many cases, the data involved in a transaction is distributed across
several servers. A TP Monitor is responsible for coordinating the
execution of a transaction
TP monitor
Server
Server
Server
Client
application
Requests
Reply
Request
Request
Request
Reply
Reply
Reply
Transaction
22 / 28
23. Introduction 1.3 Types of distributed systems
Distr. info. systems: Enterprise application integration
Problem
A TP monitor doesn’t separate apps from their databases. Also
needed are facilities for direct communication between apps.
Server-side
application
Server-side
application
Server-side
application
Client
application
Client
application
Communication middleware
Remote Procedure Call (RPC)
Message-Oriented Middleware (MOM)
23 / 28
24. Introduction 1.3 Types of distributed systems
Distributed pervasive systems
Observation
Emerging next-generation of distributed systems in which nodes are
small, mobile, and often embedded in a larger system, characterized
by the fact that the system naturally blends into the user’s environment.
Three (overlapping) subtypes
Ubiquitous computing systems: pervasive and continuously
present, i.e., there is a continous interaction between system and
user.
Mobile computing systems: pervasive, but emphasis is on the fact
that devices are inherently mobile.
Sensor (and actuator) networks: pervasive, with emphasis on the
actual (collaborative) sensing and actuation of the environment.
24 / 28
25. Introduction 1.3 Types of distributed systems
Ubiquitous computing systems
Basic characteristics
(Distribution) Devices are networked, distributed, and accessible
in a transparent manner
(Interaction) Interaction between users and devices is highly
unobtrusive
(Context awareness) The system is aware of a user’s context in
order to optimize interaction
(Autonomy) Devices operate autonomously without human
intervention, and are thus highly self-managed
(Intelligence) The system as a whole can handle a wide range of
dynamic actions and interactions
25 / 28
26. Introduction 1.3 Types of distributed systems
Mobile computing systems
Observation
Mobile computing systems are generally a subclass of ubiquitous
computing systems and meet all of the five requirements.
Typical characteristics
Many different types of mobile divices: smart phones, remote
controls, car equipment, and so on
Wireless communication
Devices may continuously change their location ⇒
setting up a route may be problematic, as routes can change
frequently
devices may easily be temporarily disconnected ⇒
disruption-tolerant networks
26 / 28
27. Introduction 1.3 Types of distributed systems
Sensor networks
Characteristics
The nodes to which sensors are attached are:
Many (10s-1000s)
Simple (small memory/compute/communication capacity)
Often battery-powered (or even battery-less)
27 / 28
28. Introduction 1.3 Types of distributed systems
Sensor networks as distributed systems
Operator's site
Sensor network
Sensor data
is sent directly
to operator
Operator's site
Sensor network
Query
Sensors
send only
answers
Each sensor
can process and
store data
(a)
(b)
28 / 28