wiki:WorkShop11/HackFest

Version 34 (modified by brevilo, 13 years ago) (diff)

--

Hackfest

The 2nd day of the BOINC workshop will be a "hackfest", in which we divide into groups and get something useful done. Possible activities include:

  • design something
  • write code
  • get existing software to work
  • write or improve documentation.

Each group will have a coordinator, who will define the goals and prepare resources.

Workshop attendees: please register for one or more hackfest groups by editing this page. If you don't see a group that interests you, create one.

If you don't participate in a group, you'll have nothing to do on the 2nd day of the workshop.'

Possible Hackfest groups

Here are some possible groups. I have filled in names of possible coordinators; this is completely flexible.

Multi-user projects: Interface

Goals:

  • Use BOINC's new features for remote job submission and multi-user projects.
  • Discuss the design of these features; compare with analogous system, both BOINC- and Grid-based. Improve and extend the design.
  • Implement and document some of the improved design.

Coordinator: David Anderson

Participants:

  • David Coss
  • Evgeny Ivashko
  • Natalia Nikitina
  • Alejandro Rivero
  • Francisco Sanz
  • Dario Ferrer
  • Fubica
  • Oscar Díaz
  • Pablo Fonseca
  • Christian Benjamin Ries

Advance preparation:

Multi-user projects: Scheduling

Goals:

  • Review and discuss BOINC's new proposed features for user quotas and batch scheduling
  • Compare these features with those of analogous Grid-based systems
  • Design an implementation of these features
  • Implement some part of this

Advance preparation:

Coordinator: David Anderson? Kevin Reed?

Participants:

  • Arnaud Legrand
  • Derrick Kondo

BOINC on Ubuntu

Goal: bring the BOINC client for Ubuntu up to the same standard as the Windows and Mac versions. In particular:

  • One-click installation
  • Client start at boot time
  • Screensaver
  • User activity detection

Coordinator: Steffen Moeller?

Participants:

VM apps

Goal: Create a "cookbook" for deploying virtual machine apps.

Coordinator: Rom Walton?

Participants:

  • Steffen Moeller
  • Jesse Kaukonen

OpenCL apps

Goal: Create a "cookbook" for deploying OpenCL apps.

Coordinator: Oliver Bock

Participants:

  • David Coss
  • Heinz-Bernd Eggenstein
  • Christian Benjamin Ries

Results:

  • Working code samples for NVIDIA and AMD can be found in the BOINC source tree under /src
    • The samples should probably be unified/consolidated (kernels might differ for NVIDIA and AMD of course)
    • We tested both samples on AMD and NVIDIA GPUs respectively - success
  • There's a wiki page describing how to build the samples on Windows, Linux and Mac OS
  • Missing in the current client
    • Enumerate all OpenCL platforms/devices, keep them in a list (array)
    • Pass the list IDs of the platform/device to be used by the science app (as an integer)
    • Provide two API calls: taking the list ID, returning the cl_platform_id and the cl_device_id (opaque complex types, required by science app to create OpenCL context)
    • Make sure OpenCL and CUDA apps don't collide (use the same resource/GPU) on a multi-NVIDIA GPU system
    • Make sure multi-vendor GPU setups (single host system) are supported (applies to Mac OS and Windows 7)
  • There are a number of lessons learned available at Einstein@Home with respect to AMD and NVIDIA driver issues related to OpenCL. We could add those to the BOINC wiki

BOINC on Android

Goals:

  • Learn how to set up a development environment for Android
  • Complete the design of the BOINC client for Android; implement some part of it
  • Create a cookbook for developing an app version for ARM/Android.

Coordinator:

Participants:

  • Peter Hanappe
  • Michael Tarantino

[Hi, Carl Christensen here - this is an area I am currently working on i.e. porting BOINC to Android via the NDK, and writing a BOINC Android (Java) GUI to communicate with the libraries via JNI. Unfortunately could not make it to the BOINC Workshop. If anyone is interested or has anything to report or share or suggestions please email me at carlgt1 at yahoo.com ]

Attic

(Attic is a peer-to-peer file distribution system designed for volunteer computing systems).

Goals:

  • Complete the design of BOINC support for Attic.
  • Creating a working demo of a project that uses Attic
  • Document this in cookbook form

Coordinator: Ian Kelley?

Participants:

PHP hack session / website improvement

Goals:

  • Find a new design/usage concept for the general webpages
  • develop 1 or 2 alternative web site "themes" using CSS stylesheets and header/footer functions
  • Discuss tools to document/visualize php source code (present/discuss/find tools everyone can use)
  • Collect ideas to design an API to plug other websites into the BOINC framework (or vice versa)
  • general bug hunting and code hardening

Coordinator: Christian Beer

Participants:

  • Erwan Keribin

Volunteer storage

Goals:

Coordinator: David Anderson

Participants

  • Neil Massey
  • Andy Bowery

Back to the main page for this event (with capital S)