23
Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

Centralized vs. Decentralized Design for Internet Applications

Adriana Iamnitchi

Department of Computer Science

The University of Chicago

I

Page 2: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Internet Applications

Components that build the Internet itself (DNS …)

Tools that connect the user to Internet resources (browsers, applets, CGIs, ...)

Services that can be accessed through Internet (e-commerce, e-banking, newspapers, e-libraries, …)

Applications that run on a collection of Internet-connected resources (SETI@home, …)Tools that create new environments over the Internet (middleware services)

Page 3: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Internet-Connected Resources

Unreliable communication

Unreliable resources

Highly heterogeneous environment

Potentially very large number of resources

Potentially highly variable number of resources

Page 4: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Centralized or Decentralized?

1. Applications

2. Middleware services

Page 5: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Internet-Connected Resources

Unreliable communication

Unreliable resources Fault-tolerance mechanisms

Highly heterogeneous environment Asynchronous algorithms

Potentially very large number of resources

Potentially highly variable number of resources Scalability

Page 6: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Application Design: Decentralized!

What about:

Distributed management control?

Fault tolerance in distributed, asynchronous systems?

Termination detection?

Communication costs?

Security?

Page 7: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Experience with MetaNEOS

Solving very large optimization problems on metacomputing platforms

Branch-and-bound search algorithms: Search for optimal solution Successive decomposition of the original problem Elimination of unpromising subproblems based on

the best known solution

Page 8: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Fully decentralized B&B: Solution

Process management: group membership based on epidemic communicationFault-tolerance: tree-based encoding of the problem space. Report completed problems Unsolved problems detected/restored based on

completed problems Price: redundant work

Termination detection: tree contraction Dynamic load balancing

Page 9: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Decentralized B&B: Performance

Processors Execution time (h)

B&B time Contraction time

Communication (MB/h/p)

10 7.93 98.1% 0.3% 1.0

30 2.91 90.4% 5.2% 1.4

50 2.00 81.2% 11.7% 2.3

70 1.37 87.3% 2.3% 3.1

100 1.04 84.4% 1.1% 4.5

Page 10: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Decentralized B&B: Fault Tolerance

Page 11: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Decentralized B&B: Fault Tolerance

Page 12: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Experience with MetaNEOS

Decentralized design is wonderful

Meantime, the centralized implementation produces results, because: Centralized code already exists (master-worker) Available resources: hundreds resources

working simultaneously (Condor testbed) Centralized code still efficient on relatively

small collections of resources

Page 13: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Centralized or Decentralized?

1. Applications

2. Middleware services

Page 14: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Middleware Services for Computational Grids

Computational Grids: hardware and software infrastructure that provides access to computational capabilities.Middleware services: responsible for application performance Information Services Service Location Services (Resource Discovery) Resource Management Security Fault tolerance/detection

Page 15: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Information Service & Resource Discovery

Information Service Resources (networks, computers, applications, …) Users

Resource Discovery: “Give me n resources with attribute X” Input: set of resource attributes Output: set of resources Attributes: hardware characteristics, current load,

network connection, existent/available software, data, etc.

Page 16: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Resource Discovery: Requirements

Scalable Increasing number of resources Increasing number of users

Reliable

Flexible (heterogeneity support) Heterogeneity:

Administrative level (policies) Technical level (hardware and software)

Support for changing environment

Page 17: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Resource Discovery: Requirements

Efficient

Accurate

Secure

No global hierarchy Politically difficult for wide area (impossible?) Hierarchical structures are resistant to change

Page 18: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Globus

Toolkit that builds computational grids

Components: Metacomputing Directory Service Heartbeat Monitor Grid Security Infrastructure Globus Resource Allocation Manager Global Access to Secondary Storage Nexus …

Page 19: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Globus’ MDS – Step 1

C=US, o=Globus, o=ANL, ou=MCS

C=US, o=Globus, o=USC, ou=ISI

C=US, o=Globus, o=UC, ou=CS

Page 20: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Globus’ MDS: Step 2

C=US, o=Globus, o=UC, ou=CS

C=US, o=Globus, o=ANL, ou=MCS

C=US, o=Globus, o=USC, ou=ISI

Page 21: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Globus’ MDS: Step 3

Organizational Server

Organizational Server

Organizational Server

o=Grid, dc=mcs, dc=anl, dc=gov

o=Grid, dc=isi, dc=edu

o=Grid, dc=cs, dc=uchicago, dc=edu

Index Server A1

Index Server A2

Page 22: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Decentralized Information Service

More difficult than the centralized design: Resource discovery based on attributes:

Rich set of queries to support Compound queries Static and dynamic data Access policies

Necessary

Page 23: Centralized vs. Decentralized Design for Internet Applications Adriana Iamnitchi Department of Computer Science The University of Chicago I

04/18/23

TWIST 2000

Conclusions

Applications running on collections of Internet-connected resources: may be centralized or decentralized.

Middleware services must be decentralized.