Difference between revisions of "Archived/GSoC 2012 Ideas"

From Xen
(Created page with "= Project Ideas for GSoC 2012 = This page is used to list project ideas for Google Summer of Code (GSOC) 2012. Xen will apply as a mentoring organization again. == Key Google Pa…")
 
 
(52 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
= Project Ideas for GSoC 2012 =
 
= Project Ideas for GSoC 2012 =
This page is used to list project ideas for Google Summer of Code (GSOC) 2012. Xen will apply as a mentoring organization again.
+
This page is used to list project ideas for Google Summer of Code (GSOC) 2012.
  +
  +
'''Unfortunately, Xen.org did not get accepted as mentoring organization in 2012.'''
   
 
== Key Google Pages ==
 
== Key Google Pages ==
  +
http://google-melange.appspot.com/soc/content/2-0-20120131/images/v2/gsoc/logo/banner-gsoc2012.png
 
* [http://google-melange.appspot.com/gsoc/homepage/google/gsoc2012 GSoC Home Page]
 
* [http://google-melange.appspot.com/gsoc/homepage/google/gsoc2012 GSoC Home Page]
 
* [http://google-melange.appspot.com/gsoc/events/google/gsoc2012 GSoC 2012 timeline]
 
* [http://google-melange.appspot.com/gsoc/events/google/gsoc2012 GSoC 2012 timeline]
 
<!--
 
== Applying for a project ==
 
* It is good practive to discuss a proposal with the mentor beforehand.
 
** You can do this via e-mail (make sure you include '''GSoC''' and the project title in the subject
 
** By arranging an IRC meeting at a specific time using '''#xen-gsoc IRC channel on freenode''' with your mentor
 
** We will choose students based on a combination of criteria covering: quality of submission, the student's ideas on how to deliver the project, how much of the idea actually came from the student (we don't want the mentor to have written the application), social skills, enthusiasm, whether we believe the student will fit well into the community and whether we believe the student will deliver the project
 
* You can find our [[GSoC_Student_Application_Template]] (there are two examples at the bottom of the page) and the [http://socghop.appspot.com/gsoc/org/google/gsoc2011/xen_org Xen.org GSoc Page]
 
* To apply you need to create a profile on the google system. To do this, go to [http://socghop.appspot.com/gsoc/org/google/gsoc2011/xen_org Xen.org@GSoc]
 
* There is a big '''Students: apply!''' with an orange '''Register''' Button underneath
 
** As part of the registration process you will be asked to create a Google account. If you have one, you can use it to log in. Otherwise you will need to create one.
 
** Once you are logged in, you will be led to a '''Register as Student page'''; see [http://socghop.appspot.com/gsoc/profile/student/google/gsoc2012?org=xen_org here for the page] and [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2012/userguide#depth_studentprofile here for instructions]
 
* You should now see a '''Submit your Student Proposal''' link in the left hand navigation menu. For more instructions see [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2011/userguide#depth_studentapply here].
 
* There is also a [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2012/userguide#depth_students GSoC 2012 user guide]. If you are struggling, please use the '''#gsoc IRC channel on freenode''' to get further help.
 
== Resources ==
 
* There is a '''#xen-gsoc IRC channel on freenode''' which you can use to arrange an IRC meeting with your prospective mentors
 
* We were also planning an IRC meeting on this channel on March 31st 13:00 - 17:00 BST (GMT+1)
 
* [http://google-opensource.blogspot.com/2011/03/dos-and-donts-of-google-summer-of-code.html The DO's & DONT's for GSoC student edition]
 
-->
 
 
== Mentor information ==
 
* Google system [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2011/userguide#depth_mentor Guide for Mentors]. In a nutshell you need to register with Google, create a profile and register as mentor by going to [http://socghop.appspot.com/gsoc/org/google/gsoc2011/xen_org Xen.org@GSoc] and start by clicking on '''Or register as a mentor''' (the link is just underneath the link to ourt ideas page).
 
* [http://www.booki.cc/gsoc-mentoring/_v/1.0/ Mentor's handbook] - The following sections are worth having a look at (each chapter is the size of an A4 page)
 
** Getting Started : What Makes a Good Mentor
 
** Getting Started : Selecting A Student
 
** Communication : The entire section is a good read, however ''Best Practices'' and ''Warning Signs'' are a must
 
** Mentoring: The entire section is a good read, however ''Setting Expectations'', ''Managing The Plan'' and ''Evaluations'' are a must
 
   
 
= Project Ideas =
 
= Project Ideas =
Line 42: Line 18:
   
 
== New Project Ideas ==
 
== New Project Ideas ==
''Please add new ideas with a description or mail community.manager@xen.org if in doubt.'' - '''This is now closed for 2011 GSoC: please do NOT edit this section. It will not have any effect!'''
+
''Please add new ideas with a description or mail community.manager@xen.org if in doubt.'' - '''This is now open for 2012 GSoC!'''
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
 
| '''Description'''
 
| '''Description'''
Line 48: Line 24:
 
| '''Possible Mentor(s)'''
 
| '''Possible Mentor(s)'''
 
| '''Size, Knowledge required'''
 
| '''Size, Knowledge required'''
| '''Detailed Description'''
+
| '''Detailed Description'''
  +
| '''Possible Student(s)'''
 
|-
 
|-
 
| <Your Idea>
 
| <Your Idea>
Line 55: Line 32:
 
| <skills required: e.g. Qemu, Xen, Linux>
 
| <skills required: e.g. Qemu, Xen, Linux>
 
| <description of the project idea>
 
| <description of the project idea>
  +
| <student contact info>
  +
|-
  +
| TRIM support for xen virtual block device
  +
| blktap2, xenblk
  +
| George Shuklin <shuklin@selectel.ru>
  +
| Size:small, Linux block drivers, generic system programming
  +
| If xenblk supported TRIM operation, it would've allowed to let backend to know about 'unused space'. In this case thin provision whould be bi-directional, providing way to 'shrink' overgrown thin-provisioned disk of virtual machine.
  +
| This is already implemented - it is called 'discard'
  +
|-
  +
| Port XCP Toolstack to ARM (unconfirmed)
  +
| XCP
  +
| Mike McClurg <mike.mcclurg@citrix.com>
  +
| Size: Medium/Large. Knowledge: Debian packaging; compiling for Linux on ARM; basic C, Python and OCaml
  +
| A team of core Xen engineers has just finished porting the Xen hypervisor to the unreleased ARM A15 platform. In preparation for new A15 hardware, we'd like to make sure that the XCP toolstack runs on on current ARM hardware in emulated-Xen mode. This project would involve modifying the XCP toolstack build system to run on current ARM hardware, and produce an XCP toolstack that will run in emulated-Xen mode.
  +
|
  +
|-
  +
| Virtulazation of the CPU Performance Monitoring Unit (unconfirmed)
  +
| XCP
  +
| Marcus Granado <marcus.granado@citrix.com>
  +
| Size: Unknown. Skills: C, kernel/hypervisor hackery
  +
| Right now, the CPU PMU (performance monitoring unit) is not virtualized, therefore in general it is not possible to run hardware counter profilers (such as Linux oprofile, FreeBSD hwpmc or similar tools for Windows) inside guest domains. The goal of the project would be to allow these hardware counter profilers to run inside guest domains.
  +
|
  +
|-
  +
| Improvement of OpenXenManager, the XCP GUI
  +
| XCP
  +
| Mike McClurg <mike.mcclurg@citrix.com>
  +
| Size: Medium. Knowledge: Python and GTK
  +
| OpenXenManager is a free, open-source, multi-platform GUI for both Xen Cloud Platform and XenServer. It has many nice features, but could use some bug fixes and new features.
  +
|
  +
|-
  +
| "Segment Clean" & "Cache" feather of HLFS which is sub-project of Cloudxy
  +
| XEN, XCP, BLKTAP2, Hadoop
  +
|
  +
* Chen Lijun <cljcore@126.com>
  +
* Kang Hua <kanghua151@gmail.com>
  +
| Size: Medium. Knowledge: C, block driver, File system and HDFS
  +
| HLFS, sub-project of Cloudxy, is a distributed vm image storage system for XEN. HLFS(Hadoop Log Structure Filesystem,actually named Hadoop Log Structure Block System is more proper) provides highly available block level storage volumes that can be attached to XEN virtual machines by its tapdisk driver — Similar projects in KVM region is sheepdog,however in different architecture. For details, you can visit http://code.google.com/p/cloudxy/wiki/WHAT_IS_CLOUDXY or http://code.google.com/p/cloudxy (In Chinese).
  +
We hope to accomplish two features, which are "clean segment under tree snapshots" feature and "block cache and write-back" feather during GSOC 2012.<br>
  +
The first one will involve:
  +
1. Implement mechanism of segment clean - it involves "mid-snapshot segment clean" and "over-snapshot segment clean". so you can do it in normal way(pull data) and "map/reduce" way.
  +
2. Implement strategy of segment clean - it will take into account that how to avoid IO contention between clean operation and vm disk access operation.
  +
You can visit http://code.google.com/p/cloudxy/wiki/HlfsDesign_English_Version for more details about HLFS's realize mechanisms.<br>
  +
Another one will involve:
  +
1. Read and write cache management - include cache replacement mechanism.
  +
2. Write-back management - include gather more block to write for reducing write operations.
  +
  +
|
  +
* Harry Wei <harryxiyou@gmail.com>
  +
* Kelvin <senwang@linux.vnet.ibm.com>
  +
* Zhang Zhang <zhang_zhang@live.com>
  +
|-
  +
|xl to xapi offline VM migration utility
  +
|Xen, XCP
  +
|Ian Campbell <ian.campbell@citrix.com>
  +
|Userspace C experience, Ocaml (optionally)
  +
|
  +
Develop a utility which can take an [http://xenbits.xen.org/docs/unstable/man/xl.cfg.5.html xl style VM configuration file] and import its configuration (including disk contents) into a system running the xapi toolstack (e.g. Ubuntu or Debian using [[Project_Kronos]] or an [[XCP]] system.
  +
|
  +
|-
  +
| Perf support for Xen
  +
| Linux
  +
| Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  +
| Linux, Intel SDM
  +
| The upstream kernel has not support for using the CONFIG_PERF API with guests. It does not even work properly within the initial domain (dom0). Work would be required to figure out the current bugs in the Linux kernel that make perf not work properly and then implement support to do performance tracing of guests.
  +
|
  +
|-
 
|}
 
|}
   
 
[[Category:Community]]
 
[[Category:Community]]
 
[[Category:GSoC]]
 
[[Category:GSoC]]
  +
[[Category:Archived]]
  +
[[Category:Internships]]

Latest revision as of 18:07, 2 February 2017

Project Ideas for GSoC 2012

This page is used to list project ideas for Google Summer of Code (GSOC) 2012.

Unfortunately, Xen.org did not get accepted as mentoring organization in 2012.

Key Google Pages

banner-gsoc2012.png

Project Ideas

Rules

  • Be creative
  • Be specific: what do you want to be implemented; if at all possible provide an indication of size and complexity as described above to make it easier for a student to choose ideas
  • If you are willing to mentors those ideas, add your name and email to the idea.
  • If you're an interested student, add your name and email next to the idea. It is ok to have several students interested by one idea.
  • Aspiring students need to get in touch with the xen.org community manager via community.manager@xen.org to register their interest

New Project Ideas

Please add new ideas with a description or mail community.manager@xen.org if in doubt. - This is now open for 2012 GSoC!

Description Project Possible Mentor(s) Size, Knowledge required Detailed Description Possible Student(s)
<Your Idea> <Your Project; e.g. Xen or XCP or XenARM or... > <mentor contact info> <skills required: e.g. Qemu, Xen, Linux> <description of the project idea> <student contact info>
TRIM support for xen virtual block device blktap2, xenblk George Shuklin <shuklin@selectel.ru> Size:small, Linux block drivers, generic system programming If xenblk supported TRIM operation, it would've allowed to let backend to know about 'unused space'. In this case thin provision whould be bi-directional, providing way to 'shrink' overgrown thin-provisioned disk of virtual machine. This is already implemented - it is called 'discard'
Port XCP Toolstack to ARM (unconfirmed) XCP Mike McClurg <mike.mcclurg@citrix.com> Size: Medium/Large. Knowledge: Debian packaging; compiling for Linux on ARM; basic C, Python and OCaml A team of core Xen engineers has just finished porting the Xen hypervisor to the unreleased ARM A15 platform. In preparation for new A15 hardware, we'd like to make sure that the XCP toolstack runs on on current ARM hardware in emulated-Xen mode. This project would involve modifying the XCP toolstack build system to run on current ARM hardware, and produce an XCP toolstack that will run in emulated-Xen mode.
Virtulazation of the CPU Performance Monitoring Unit (unconfirmed) XCP Marcus Granado <marcus.granado@citrix.com> Size: Unknown. Skills: C, kernel/hypervisor hackery Right now, the CPU PMU (performance monitoring unit) is not virtualized, therefore in general it is not possible to run hardware counter profilers (such as Linux oprofile, FreeBSD hwpmc or similar tools for Windows) inside guest domains. The goal of the project would be to allow these hardware counter profilers to run inside guest domains.
Improvement of OpenXenManager, the XCP GUI XCP Mike McClurg <mike.mcclurg@citrix.com> Size: Medium. Knowledge: Python and GTK OpenXenManager is a free, open-source, multi-platform GUI for both Xen Cloud Platform and XenServer. It has many nice features, but could use some bug fixes and new features.
"Segment Clean" & "Cache" feather of HLFS which is sub-project of Cloudxy XEN, XCP, BLKTAP2, Hadoop
  • Chen Lijun <cljcore@126.com>
  • Kang Hua <kanghua151@gmail.com>
Size: Medium. Knowledge: C, block driver, File system and HDFS HLFS, sub-project of Cloudxy, is a distributed vm image storage system for XEN. HLFS(Hadoop Log Structure Filesystem,actually named Hadoop Log Structure Block System is more proper) provides highly available block level storage volumes that can be attached to XEN virtual machines by its tapdisk driver — Similar projects in KVM region is sheepdog,however in different architecture. For details, you can visit http://code.google.com/p/cloudxy/wiki/WHAT_IS_CLOUDXY or http://code.google.com/p/cloudxy (In Chinese).

We hope to accomplish two features, which are "clean segment under tree snapshots" feature and "block cache and write-back" feather during GSOC 2012.
The first one will involve: 1. Implement mechanism of segment clean - it involves "mid-snapshot segment clean" and "over-snapshot segment clean". so you can do it in normal way(pull data) and "map/reduce" way. 2. Implement strategy of segment clean - it will take into account that how to avoid IO contention between clean operation and vm disk access operation. You can visit http://code.google.com/p/cloudxy/wiki/HlfsDesign_English_Version for more details about HLFS's realize mechanisms.
Another one will involve: 1. Read and write cache management - include cache replacement mechanism. 2. Write-back management - include gather more block to write for reducing write operations.

  • Harry Wei <harryxiyou@gmail.com>
  • Kelvin <senwang@linux.vnet.ibm.com>
  • Zhang Zhang <zhang_zhang@live.com>
xl to xapi offline VM migration utility Xen, XCP Ian Campbell <ian.campbell@citrix.com> Userspace C experience, Ocaml (optionally)

Develop a utility which can take an xl style VM configuration file and import its configuration (including disk contents) into a system running the xapi toolstack (e.g. Ubuntu or Debian using Project_Kronos or an XCP system.

Perf support for Xen Linux Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Linux, Intel SDM The upstream kernel has not support for using the CONFIG_PERF API with guests. It does not even work properly within the initial domain (dom0). Work would be required to figure out the current bugs in the Linux kernel that make perf not work properly and then implement support to do performance tracing of guests.