Distributed Systems - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Distributed Systems

Description:

Failure Handling: availability only the work using the failed is affected ... Domain Name System. Resolves names on a world-wide scale. Yonsei University. 14 ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 45
Provided by: paro9
Category:

less

Transcript and Presenter's Notes

Title: Distributed Systems


1
Distributed Systems the Grid
  • December 8, 2005
  • Yonsei University
  • Super Computing Laboratory
  • Heo Eui

2
Contents
  • Distributed Systems
  • The Grid

3
Distributed Systems
4
Outline
  • Introduction
  • Foundation
  • System Models
  • Inter-process Communication
  • Middleware
  • Distributed Objects Remote invocation
  • CORBA case
  • Name services
  • Distributed algorithm
  • Time clock
  • Shared data
  • Transactions
  • Replications

5
Introduction
  • Definition
  • - Lack of a universal agreement
  • By Coulouris
  • A system in which hardware and software
    components located at networked computers
    communicate and coordinate their actions only by
    passing messages.
  • By Tanenbaum
  • A distributed operating system is one that looks
    to its users like an ordinary centralized system,
    but runs on multiple, independent CPUs

6
Characteristics
  • Potential advantages of DS
  • Increase Performance
  • Sharing of Resources
  • Increased Extendibility
  • Increased Reliability, Availability Fault
    Tolerance
  • Cost-Effectiveness
  • Example of DS
  • The Internet
  • Intranets
  • Mobile and Ubiquitous computing
  • Challenges of DS
  • Heterogeneity Middleware, Mobile Code
  • Openness hardware software extension, need
    interface
  • Security
  • Scalability operate effectively at different
    scales
  • Failure Handling availability only the work
    using the failed is affected
  • Concurrency
  • Transparency perceived as a whole

7
System Models (1/2)
  • Architectural Model
  • How the components of systems interact with one
    another
  • How they are mapped onto an underlying network
  • ex. Client-server model, Peer process model
  • Fundamental Model
  • Provides abstract views of those characteristics
    of distributed systems that affect their
    dependability characteristics correctness,
    reliability security
  • ex. Interaction model, Failure model, Security
    model

8
System Models (2/2)
  • Architectural models
  • Client-Server
  • Services provided by multiple servers
  • Proxy servers and caches
  • Peer processes
  • Variant of Client-Server model
  • Mobile Code
  • Mobile Agents
  • Network Computer
  • Thin Clients
  • Mobile devices Spontaneous networking
  • Fundamental Model
  • Interaction Model
  • Failure Model
  • Security Model

9
Inter-Process Communication (IPC)
  • IPC
  • Distributed Systems rely on exchanging data
    achieving synchronization among autonomous
    distributed processes
  • Destination Designation
  • Direct naming
  • Global names or mailboxes
  • Ports
  • Communication Semantics
  • Blocking, Non-blocking
  • Synchronization, Asynchronization
  • API for Internet Protocols
  • TCP, UDP Socket
  • External data representation marshalling
  • CORBA CDR (Common Data Representation) IDL
    (Interface Definition Language)
  • Java object serialization Reflection

10
Distributed object model
  • Each process contains objects
  • remote objects
  • Who can receive remote invocation
  • remote object reference
  • To invoke remote object method, need to know this
  • remote interface
  • Specifies which methods can be invoked remotely

11
Distributed Objects Remote invocation
  • Remote reference module
  • Translate local remote object references
    (remote object table)
  • Proxy
  • Makes RMI transparent to client
  • Implement remote interface
  • Marshal request unmarshal result
  • Dispatcher
  • Get request from the communication module
  • Invoke method in skeleton
  • Skeleton
  • Implement methoeds in remote interface
  • Unmarshal requsts marshal results
  • Invoke corresponding method in the object

12
RMI case CORBA architecture
  • Additional components
  • Object adapter, implementation repository,
    interface repository
  • Dynamic invocation interface
  • Sometimes CORBA alternative for the proxy
  • Object adapter
  • Connect CORBA objects the programming language
    interfaces of the class
  • Include dispatcher remote reference
  • Implementation repository
  • Activate registered servers on demand
  • Locate running server
  • Use the object adapter name to register
    activate server
  • Interface repository
  • Provide information about registered IDL

13
Name service
  • Name
  • Names are bound to objects
  • e.g. URLs web pages
  • Must be resolved before the corresponding object
    invoked
  • Using address deprecated relocation
  • General use
  • User service
  • Domain Name System
  • Resolves names on a world-wide scale

14
Time and clocks
  • Need to measure time accurately
  • To know the time an event occurred
  • A history of process is series of events ordered
    by
  • Clock synchronization
  • Need for
  • Concurrency control and authenticity of requests
  • External synchronization
  • Internal synchronization
  • Logical clock
  • There is no global clock, alternative logical
    time
  • Use happened-before relationship between events

15
Network Time Protocol (NTP)
  • Time service for the Internet
  • First primary servers are connected to UTC
    sources
  • Subsets are synchronized to primary servers
  • Synchronization modes
  • Multicast, Procedure call, Symmetric

16
Transactions Concurrency control
  • Transactions
  • Sequence of client requests
  • Isolation - They are free from interference
  • All or nothing - All of the operations must be
    completed or must have no effect at all
  • Goal
  • Remain in a consistent state
  • When accessed by multiple transactions
  • In the presence of server crashes
  • Concurrency control
  • Doing transactions as if they are done
    one-at-a-time
  • Ensure isolation
  • Lock
  • Deadlock

17
Replication
  • Replication
  • Each logical object is implemented by a
    collection of physical copies called replicas
  • Purpose
  • Achieve performance enhancement
  • Fault tolerance
  • High availability
  • Transparence
  • Five stage
  • Request
  • Coordination
  • Execution
  • Agreement
  • Response

18
Replication
19
The Grid
20
Outline
  • Introduction
  • Grid Architecture
  • Conceptual Implementation Models
  • Requirement for realization of the Grid
  • Current status of the Grid
  • Architecture
  • Considerable points
  • Infrastructure
  • OGSA
  • OGSI, WSRF

21
Introduction
  • The goals of the Grid
  • Enable a new generation of applications
  • Provide vastly more effective solutions to
    scientific, engineering, business government
    problems
  • Combine intellectual physical resources that
    span many disciplines organization
  • Two family of applications
  • Scientific engineering simulations
  • Pervasive applications

22
Grid Architecture
Application
Collective
Resource
Connectivity
Fabric
23
Requirement for realization of the Grid
  • Requirement
  • Conceptual framework- For realization of the
    global scale applications
  • Virtual Organizations
  • Programming systems
  • Execution environments
  • A set of standards
  • About entities in the framework their
    interactions
  • Middleware/infrastructure
  • For realizing entities that conform to the
    standards

24
Current status of the Grid
  • Virtual organizations Execution environments
  • Formulated and available by Global Grid Forum
  • Toolkits (middleware/infrastructure system)
    available
  • e.g., Globus, Unicore
  • Programming systems
  • Many proposed, but much less satisfactory
  • Mostly based on programming systems developed for
    sequential or multiprocessor programming systems
  • Based on system abstractions assumptions that
    may not be realizable in a Grid environment

25
Conceptual Implementation Models for Grid
computing
26
Formal Definition of Grid concept
  • Implementation Model
  • Organization
  • Virtual Organization
  • Virtual Machine
  • Conceptual Model
  • Programming System
  • Programming Model
  • Abstract Machine

27
Formal Definition of Grid concept
(Implementation Model)
  • Virtual Organization
  • Creation goal
  • For the task not feasible with a single
    organization
  • Collaboration
  • Each peer may contribute resources services to
    the VO, and use resources services provided
    through the VO
  • Virtual Machine
  • Composition of resources within a VO
  • Define an instance of the execution environment
  • Implemented using the set of middleware services

28
Formal Definition of Grid concept (Conceptual
Model) (1)
  • Programming System
  • Programming Model Abstract Machine
  • Abstract Machine
  • Independent of a virtual machine
  • Realized on many different virtual machine
  • Programming model is defined on abstract machine
  • Defines the assumptions about the capabilities
    guarantees provided by the execution environment

29
Formal Definition of Grid concept (Conceptual
Model) (2)
  • Programming Model
  • Components
  • Set of entity, set of operations, model of
    computation, abstract machine
  • Entity
  • The subjects of programming
  • e.g. processes, threads, functions, objects,
    components, and services
  • Operation
  • Defined upon the entities
  • Model of Computation
  • Rules for composition of entities
  • Coordination between entities
  • Abstract Machine
  • Implied by programming model that supports the
    set of entities, entities behaviors, set of
    operations

30
Considerable Points of Distributed system
  • Decision
  • Decision is acceptance of a request for state
    change
  • Need collective decision algorithm for
    uncertainty of common knowledge to make
    assumptions about behavior, reliability and
    guarantees
  • Transition
  • Transition is transforming current state to a new
    state
  • Intrinsically distributed, lead to uncertainty in
    system state (common knowledge)
  • Make decision following commonly agreed-upon
    process based upon agreed-upon common knowledge
  • Points
  • The assumptions made by the abstract machines
    underlying existing programming models for
    distributed systems
  • Their validity in Grid environments
  • Understanding the underlying assumptions is
    important
  • Define capabilities limitations of grid
    applications
  • Define the core requirements for the Grid
    middleware infrastructure

31
Assumptions of Distributed programming
models/systems (1)
  • Communication models frameworks
  • Message passing models
  • Stable common knowledge about Participants, their
    identifier, their behaviors
  • Virtual machine to be reliable or at least
    support reliable communication
  • RPC
  • Common knowledge about name, existence of the
    end-points, etc.
  • Reliable delivery
  • Shared-space model
  • Common knowledge which can be shared by all of
    the entities in applications
  • Distributed object models - CORBA
  • Priori (compile-time) knowledge of the interfaces

32
Assumptions of Distributed programming
models/systems (2)
  • Component models
  • CCM
  • Extended CORBA, inherit CORBA limitation
  • CCA
  • All components are trusted
  • Service models
  • Web services
  • Without requirements for a priori knowledge of
    services or interfaces
  • Services are stateless
  • The execution environment remains static during
    service execution
  • WSRF
  • Stateful resources
  • Reliability of the underlying mechanism for
    remote service invocation

33
Grid Infrastructure
34
OGSA
  • Open Grid Services Architecture (OGSA)
  • A Service-Oriented architecture for the Grid
    Model realized as applications/extensions of Web
    Services
  • Integrated with existing platforms
  • The Open in OGSA
  • The process by which the architecture is defined
    is open to all and transparent.
  • This means Standards Development Organizations
  • GGF, OASIS, W3C, IETF, ...
  • The fundamental basis for the next generation of
  • Grid middleware
  • Grid application interface
  • Web Services

35
Web Services Application Integration
  • An architecture approach
  • Service-Oriented Architecture
  • Make everything a web service
  • Publish, Find, Bind
  • A collection of open internet-influenced
    standards
  • XML, SOAP, WSDL, UDDI, etc.
  • Interoperability is key
  • When crossing organisational boundaries
  • Globus, GLite, OMII, ChinaGrid, ?
  • Between platforms, languages, etc.
  • Interface
  • Minimal shared understanding between service
    requestor provider

36
Why OGSA?
  • History Distributed Computing
  • First
  • Link all machines together
  • Internet, TCP/IP
  • Second
  • Link all documents together
  • WWW, HTTP, HTML, XML
  • Third
  • Link all applications together
  • Web Services SOAP, WSDL, UDDI, etc
  • Now
  • Linking everything else together (?)
  • Grid OGSA

37
Grid service (1)
  • A (potentially transient) Web Service with
    specified interfaces behaviors
  • Creation
  • Global naming references
  • Lifetime management
  • Registration Discovery
  • Authorization
  • Notification
  • Concurrency
  • Manageability

38
Grid service (2)
  • Web Services address discovery invocation of
    persistent services
  • Interface to persistent state of entire
    enterprise
  • Grids must also support transient service
    instances, created/destroyed dynamically
  • Interfaces to the states of distributed
    activities
  • All services adhere to specified Service
    Interfaces and behaviors
  • reliable invocation, lifetime management,
    discovery, authorization, notification,
    upgradeability, concurrency, manageability
  • Interfaces for managing Grid service instances
  • Factory, registry, discovery, lifetime, etc.

39
Replication
Transfer
Context Services
VO Mgmt
Data Services
Integration
Policy Mgmt
Access
Information Services
Context Services
Info Services
Data Services
Event Mgmt
Monitoring
Discovery
Logging
Execution Mgmt Services
Infra Services
Execution Mgmt Services
WSRF
WSN
WSDM
Job Mgmt
Execution Planning
Workflow Mgmt
Workload Mgmt
Execution
Naming
Infrastructure Services
Rsrc Mgmt Services
Self Mgmt Services
Provisioning
Deployment
Configuration
Reservation
Security Services
Resource Mgmt Services
Heterogeneity Mgmt
Self Mgmt Services
Authentication
Optimization
Authorization
Service Level Attainment
Security Services
Integrity
QoS Mgmt
Boundary Traversal
40
Grid Infrastructure
41
OGSI Open Grid Services Infrastructure
  • Refers to the base infrastructure on which OGSA
    is built.
  • Define the standard interfaces and behaviors of a
    Grid Service, building on a Web Services base.
  • Base set of distributed computing patterns
  • Factory, registry, collection
  • Exploit Web Services properties
  • Interface abstraction (WSDL)
  • Protocol, languages, hosting platform
    independence
  • Enhancement to Web services
  • State management
  • Event Notification
  • Referenceable Handles
  • Lifecycle Management
  • Service data Extension

42
OGSI to WSRF
  • Three major web service concern
  • Too much stuff in one specification
  • Does not work well with existing Web services
    tooling
  • Too object oriented

Grid
Web
43
Concerns addressed
  • Too much stuff in one specification
  • WSRF partitions OGSI v1.0 functionality into a
    family of composable specifications
  • Does not work well with existing Web services
    tooling
  • WSRF tones down the usage of XML Schema
  • Too object oriented
  • WSRF makes an explicit distinction between the
    service and the stateful resources acted upon
    by that service

44
Grid Infrastructure
Write a Comment
User Comments (0)
About PowerShow.com