1 / 14

Jeremy Cowles, Eric Heien , Adam Kornafeld ,

Jeremy Cowles, Eric Heien , Adam Kornafeld , Yusuke Takata , Kenichi Hagihara , Nicolás Alvarez. Overview. PyMW & Summer of Code Recent Enhancements in 0.3 PyBOINC : Distributable Python Interpreter BOINC & PyMW at U.C. Berkeley Future plans for PyMW. Google Summer of Code.

tucker
Download Presentation

Jeremy Cowles, Eric Heien , Adam Kornafeld ,

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. Jeremy Cowles, Eric Heien, Adam Kornafeld, Yusuke Takata, Kenichi Hagihara, Nicolás Alvarez

  2. Overview • PyMW & Summer of Code • Recent Enhancements in 0.3 • PyBOINC: Distributable Python Interpreter • BOINC & PyMW at U.C. Berkeley • Future plans for PyMW

  3. Google Summer of Code • Proposal accepted via Python Foundation • Worked with Eric Heien as project mentor • Goals: • Improve BOINC integration in PyMW • Reduce barriers to creating BOINC apps • Remove the Python requirement on the Client

  4. PyMW v0.2 Limitations • Need to compile assimilator from C source • Manual project setup via script • Modules, libraries & data bundled by BOINC application, not by work unit • No direct support for BOINC API • Python installation is assumed on client

  5. Enhancements in v0.3 • Pure-Python assimilator • Abstract base class, easy to extend • Leverage existing Python code • Automated project setup • Validates project setup on every execution • Installs required daemons • Installs/upgrades science application

  6. Enhancements in v0.3 • Bundle arbitrary files with work units • Individual Python libraries • Domain-specific data • Customizable work unit generation • Number of target results, output size, etc • Native Python support for BOINC API

  7. PyBOINC Python Interpreter • Collaboration with Nicolás Alvarez • Official Python interpreter (embedded) • BOINC compatible, distributable • Statically compiled for • Windows • Linux • Mac OS X

  8. PyBOINC Features • Customizable standard library • Uses Python’s support for zipped modules • 2.6 bundled with current release • Add or remove components as needed • 3rd party libraries • BOINC API module included by default • Compiled C modules & dynamic libraries

  9. PyMW 0.3 Workflow • Download PyMW & PyBOINC • Write PyMW science application • Install BOINC server & create a project • Run the application: • $ myapp.py –d ~/projects/my_proj • Does it work with real applications?

  10. PyMW & BOINC @ Berkeley CS188: Introduction to Artificial Intelligence Pacman AI Tournament

  11. Pacman AI Tournament • Large framework in Python w/data files • Student teams submit agents • Matches run nightly • Takes ~16 hours to run tournament (serial)

  12. Using PyMW & BOINC • BOINC formulation: • Wrapped tourney framework with PyMW • One match per work unit • 99% orthogonal to PyMW/BOINC • Students can volunteer compute time • PyMW multi-core for debugging • New tourney runs in about 1 hour

  13. Future Plans for PyMW • Security & signing scripts • Support for BOINC Graphic API • Python 3.0 Support • Check-pointing support

  14. Online Resources • PyMWhttp://pymw.sourceforge.net/ • PyMW Documentationhttp://pymw.sourceforge.net/doc/ • PyBOINChttp://bitbucket.org/jeremycowles/pyboinc

More Related