Title: Distributed Systems
1Distributed Systems the Grid
- December 8, 2005
- Yonsei University
- Super Computing Laboratory
- Heo Eui
2Contents
- Distributed Systems
- The Grid
3Distributed Systems
4Outline
- Introduction
- Foundation
- System Models
- Inter-process Communication
- Middleware
- Distributed Objects Remote invocation
- CORBA case
- Name services
- Distributed algorithm
- Time clock
- Shared data
- Transactions
- Replications
5Introduction
- 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
6Characteristics
- 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
7System 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
8System 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
9Inter-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
10Distributed 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
11Distributed 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
12RMI 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
13Name 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
14Time 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
15Network 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
16Transactions 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
17Replication
- 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
18Replication
19The Grid
20Outline
- Introduction
- Grid Architecture
- Conceptual Implementation Models
- Requirement for realization of the Grid
- Current status of the Grid
- Architecture
- Considerable points
- Infrastructure
- OGSA
- OGSI, WSRF
21Introduction
- 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
22Grid Architecture
Application
Collective
Resource
Connectivity
Fabric
23Requirement 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
24Current 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
25Conceptual Implementation Models for Grid
computing
26Formal Definition of Grid concept
- Implementation Model
- Organization
- Virtual Organization
- Virtual Machine
- Conceptual Model
- Programming System
- Programming Model
- Abstract Machine
27Formal 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
28Formal 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
29Formal 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
30Considerable 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
31Assumptions 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
32Assumptions 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
33Grid Infrastructure
34OGSA
- 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
35Web 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
36Why 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
37Grid service (1)
- A (potentially transient) Web Service with
specified interfaces behaviors - Creation
- Global naming references
- Lifetime management
- Registration Discovery
- Authorization
- Notification
- Concurrency
- Manageability
38Grid 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.
39Replication
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
40Grid Infrastructure
41OGSI 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
42OGSI 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
43Concerns 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
44Grid Infrastructure