1 / 26

BOINC The Year in Review

David P. Anderson Space Sciences Laboratory U.C. Berkeley 22 Oct 2009. BOINC The Year in Review. Volunteer computing. Throughput is now 10 PetaFLOPS mostly Folding@home Volunteer population is constant 330K BOINC, 200K F@h Volunteer computing still unknown in HPC world

RexAlvis
Télécharger la présentation

BOINC The Year in Review

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. David P. Anderson Space Sciences Laboratory U.C. Berkeley 22 Oct 2009 BOINCThe Year in Review

  2. Volunteer computing • Throughput is now 10 PetaFLOPS • mostly Folding@home • Volunteer population is constant • 330K BOINC, 200K F@h • Volunteer computing still unknown in • HPC world • scientific computing world • general public

  3. ExaFLOPS • Current PetaFLOPS breakdown: • Potential: ExaFLOPS by 2010 • 4M GPUs * 1 TFLOPS * 0.25 availability

  4. Projects • No significant new academic projects • but signs of life in Asia • No new umbrella projects • AQUA@home: D-Wave systems • Several hobbyist projects

  5. BOINC funding • Funded into 2011 • New NSF proposal

  6. Facebook apps • Progress thru Processors (Intel/GridRepublic) • Web-only registration process • lots of fans, not so many participants • BOINC Milestones • IBM WCG

  7. Research • Host characterization • Scheduling policy analysis • EmBOINC: project emulator • Distributed applications • Volpex • Apps in VMs • Volunteer motivation study

  8. Fundamental changes • App versions now have dynamically-determined processor usage attributes (#CPUs, #GPUs) • Server can have multiple app versions per (app, platform) pair • Client can have multiple versions per app • An issued job is linked to an app version

  9. Scheduler request • Old (CPU only) • requested # seconds • current queue length • New: for each resource type (CPU, NVIDIA, ...) • requested # seconds • current high-priority queue length • # of idle instances

  10. Schedule reply • Application versions include • resource usage (# CPUs, # GPUs) • FLOPS estimate • Jobs specify an app version • A given reply can include both CPU and GPU jobs for a given application

  11. Client: work fetch policy • When? From which project? How much? • Goals • maintain enough work • minimize scheduler requests • honor resource shares • per-project “debt” CPU 0 CPU 1 CPU 2 CPU 3 max min

  12. Work fetch for GPUs: goals • Queue work separately for different resource types • Resource shares apply to aggregate Example: projects A, B have same resource share A has CPU and GPU jobs, B has only GPU jobs GPU A B CPU A

  13. Work fetch for GPUs • For each resource type • per-project backoff • per-project debt • accumulate only while not backed off • A project’s overall debt is weighted average of resource debts • Get work from project with highest overall debt

  14. Client: job scheduling • GPU job scheduling • client allocates GPUs • GPU prefs • Multi-thread job scheduling • handle a mix of single-, multi-thread jobs • don’t overcommit CPUs

  15. GPU odds and ends • Default install is non-service • Dealing with sporadic usability • e.g. Remote Desktop • Multiple non-identical GPUs • GPUs and anonymous platform

  16. Other client changes • Proxy auto-detection • Exclusive app feature • Don’t write state file on each checkpoint

  17. Screensaver • Screensaver coordinator • configurable • New default screensaver • Intel screensaver

  18. Scheduler/feeder • Handle multiple app versions per platform • Handle requests for multiple resources • app selection • completion estimate, deadline check • Show specific messages to users • “no work because you need driver version N” • Project-customized job check • jobs need different # of GPU processors • Mixed locality and non-locality scheduling

  19. Server • Automated DB update • Protect admin web interface

  20. Manager • Terms of use feature • Show only projects supporting platform • need to extend for GPUs • Advanced view is keyboard navigable • Manager can read cookies (Firefox, IE) • web-only install

  21. Apps • Enhanced wrapper • checkpointing, fraction done • PyMW: master/worker Python system

  22. Community contributions • Pootle-based translation system • projects can use this • Testing • alpha test project • Packaging • Linux client, server packages • Programming • lots of flames, little code

  23. What didn’t get done • Replace runtime system • Installer: deal with “standby after X minutes” • Global shutdown switch

  24. Things on hold • BOINC on mobile devices • Replace Simple GUI

  25. Important things to do • New system for credit and runtime estimation • we have a design! • Keep track of GPU availability separately • Steer computers with GPUs towards projects with GPU apps • Sample CUDA app

  26. BOINC development • Let us know if you want something • If you make changes of general utility: • document them • add them to trunk

More Related