1 / 15

Charlotte: Metacomputing on the Web

Charlotte: Metacomputing on the Web Arash Baratloo Mehmet Karaul Zvi Kedem Peter Wyckoff New York University. Roadmap. Goals Virtual machine model Code sample Execution environment Distributed shared memory Experiments Summary. Goals. Programmer’s goals

peta
Download Presentation

Charlotte: Metacomputing on the Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Charlotte:Metacomputing 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 • Programmer’s goals • High level language • Reliable and predictable virtual machine (fault tolerance, heterogeneity of machine types and speeds, transiently available machines) • Portability • User’s goals • Utilize any machine on the Web (no account or shared file system) • Reliable and predictable virtual machine • Authentication of results • CPU donator’s 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. public class MatrixMult extends Droutine { public static int Size = 500; public Dfloat a[][] = new Dfloat[Size][Size]; public Dfloat b[][] = new Dfloat[Size][Size]; public Dfloat c[][] = new Dfloat[Size][Size]; public void drun(int numTasks, int id) { int sum; for(int i=0; i<Size; i++) { sum = 0; for(int j=0; j<Size; j++) sum += a[id][j].get() * b[j][i].get(); c[id][i].set(sum); } } public void run() { InitMatrix(a); InitMatrix(b); parBegin(); addDroutine(this, Size); parEnd(); PrintMatrix(c); } } Example: Matrix Multiplication Sample Charlotte Program

  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. 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 DSM — Implementation

  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 3:Transient 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

More Related