Charlotte: Metacomputing on the Web - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Charlotte: Metacomputing on the Web

Description:

Charlotte: Metacomputing on the Web – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 16
Provided by: csN6
Learn more at: https://cs.nyu.edu
Category:

less

Transcript and Presenter's Notes

Title: Charlotte: Metacomputing on the Web


1
CharlotteMetacomputing on the Web Arash
Baratloo Mehmet KaraulZvi Kedem
Peter WyckoffNew York University

2
Roadmap
  • Goals
  • Virtual machine model
  • Code sample
  • Execution environment
  • Distributed shared memory
  • Experiments
  • Summary

3
Goals
  • Programmers goals
  • High level language
  • Reliable and predictable virtual machine (fault
    tolerance, heterogeneity of machine types and
    speeds, transiently available machines)
  • Portability
  • Users goals
  • Utilize any machine on the Web (no account or
    shared file system)
  • Reliable and predictable virtual machine
  • Authentication of results
  • CPU donators goals
  • Protection from malicious code
  • Full control of her resources
  • No administrative hassles

4
Leveraging Java
  • Predictable and reliable virtual machine on top
    of the Java virtual machine
  • Java-capable browser widely available
  • Emerging standard
  • Security
  • Heterogeneity
  • Portability
  • Compilers to appear in the near future

5
Virtual Machine Model
  • Separation of programming and execution
    environment
  • Programmer develops applications for a perfect
    virtual machine
  • Slow and fast machines are handled transparently
    by the runtime system
  • Transiently available machines handled
    transparently by the runtime system
  • Fault tolerance handled transparently by the
    runtime system
  • High level programming model
  • Unbounded number of parallel routines
  • Java plus three simple language constructs
  • Distributed shared memory
  • Simple memory semantics

6
Example Matrix Multiplication
Sample Charlotte Program
  • public class MatrixMult extends Droutine
  • public static int Size 500
  • public Dfloat a new DfloatSizeSize
  • public Dfloat b new DfloatSizeSize
  • public Dfloat c new DfloatSizeSize
  • public void drun(int numTasks, int id)
  • int sum
  • for(int i0 iltSize i)
  • sum 0
  • for(int j0 jltSize j)
  • sum aidj.get() bji.get()
  • cidi.set(sum)
  • public void run()
  • InitMatrix(a)
  • InitMatrix(b)
  • parBegin()
  • addDroutine(this, Size)
  • parEnd()
  • PrintMatrix(c)

7
Execution Environment
  • The same Charlotte program runs on
  • a single machine
  • multiple machines
  • (one user machine and a set of
  • potential volunteer machines)
  • Interaction among machines solely through
    Java-capable browsers

8
Eager Scheduling
  • Difficulties in a distributed system
  • Detection of crashed-failed machines
  • Detection of slow machines
  • Solution Eager scheduling
  • Volunteer machines contact user machine for work
  • Routines may be assigned to multiple machines
  • Difficulties with eager scheduling
  • Inconsistent memory views across routines and
    different executions of the same routine
  • Violation of exactly-once semantics
  • Solution Two-phase Idempotent Execution
    Strategy (TIES)

9
DSM
  • Why DSM?
  • Easy to use
  • Programmer and user transparent
  • Design objectives
  • Heterogeneity
  • Operating system independence
  • Compiler independence
  • These require an object-based approach for
    implementing DSM

10
DSM Implementation
  • Realized at the object level
  • All objects have a unique identifier
  • Identifiers are identically mapped to objects
    across machines
  • Data is transferred on demand
  • Granularity can be controlled
  • False sharing avoided

11
Experiments
  • 10 Sun SPARC 5 workstation
  • 10 MBit/s Ethernet
  • Application Ising model
  • Measured time is wall-clock time
  • Three tests
  • Scalability
  • Load balancing
  • Transiently available machines

12
Experiment 1 Scalability
13
Experiment 2 Load balancing
Time
Equivalent Machines
Speedup
14
Experiment 3Transient Availability
  • Five machines used
  • After 100 seconds 1 machine crashed and 1 added
  • After another 100 seconds 2 machines crashed and
    2 added
  • 90.18 efficiency as opposed to 5 reliable
    machines
  • 86.25 efficiency as opposed to sequential
    execution (95.64 for 5 reliable machines)

15
Summary
  • Charlotte targets the Web
  • Leverages benefits of Java (security,
    heterogeneity, widely available, ...)
  • Seamlessly crosses administration boundaries
  • Distribution of program and data
  • DSM with no compiler or OS support
Write a Comment
User Comments (0)
About PowerShow.com