jeremy cowles, eric heien , adam kornafeld ,
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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 IntelligencePacman 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 Documentation http://pymw.sourceforge.net/doc/
PyBOINChttp://bitbucket.org/jeremycowles/pyboinc