download pacman

Download Report

Transcript download pacman

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
2
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
3
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
4
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
5
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
6
PyBOINC Python Interpreter




Collaboration with Nicolás Alvarez
Official Python interpreter (embedded)
BOINC compatible, distributable
Statically compiled for
 Windows
 Linux
 Mac OS X
7
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
8
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?
9
PyMW & BOINC @ Berkeley
CS188: Introduction to Artificial Intelligence
Pacman AI Tournament
10
Pacman AI Tournament




Large framework in Python w/data files
Student teams submit agents
Matches run nightly
Takes ~16 hours to run tournament (serial)
11
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
12
Future Plans for PyMW




Security & signing scripts
Support for BOINC Graphic API
Python 3.0 Support
Check-pointing support
13
Online Resources
 PyMW
http://pymw.sourceforge.net/
 PyMW Documentation
http://pymw.sourceforge.net/doc/
 PyBOINC
http://bitbucket.org/jeremycowles/pyboinc
14