Tag Archives: Internships

Xen Project Participates in Google Summer of Code and Outreachy

This is a quick announcement that the Xen Project is again participating in Google Summer of Code (GSoC), a program that awards three-month paid stipends to University students to work on open source projects, with the goal to get open source experience. The Xen Project will also again participate in Outreachy, which is an internship program that organises three-month paid internships with free and open-source software projects for people who are typically underrepresented in the technology industry. Outreachy has been helping women (cis and trans), trans men, genderqueer people and people from other discriminated backgrounds get involved in free and open source software for several years. The Xen Project is proud that it has participated continually in Outreachy (and its predecessor OPW) for 4 years.

I want to participate, how do I get started?

If you are not at all familiar with programs such as GSoC and Outreachy, have a quick look at our introduction. In a nutshell, both programs go through several stages:

  • Check eligibility requirements.
  • Now until application period: Preparation by working on small tasks (also called micro-tasks) within our community to identify a suitable project and to familiarise yourself with the technology.
  • Application Period (aka paperwork): For GSoC, the application system is open from March 20 to Apr 3, 2017; however you should work on micro-tasks before and prepare your application together with a mentor as early as possible. For Outreachy, the application system is already open and will close March 30, 2017 (but you can edit and modify proposals submitted in agreement with your mentor until April 28th).
  • Selection Period: After applying to participate, our mentors will chose the most promising candidates. Successful candidates will be announced on the following dates: April 28 (Outreachy), May 4 (GSoC).
  • Internship Duration: May 30 to August 29 (GSoC) and August 30 (Outreachy).

For a list of projects for participants and more information on how to apply, check our Xen Project 2017 Summer Internship Portal. We have many different projects in many different areas: from Hypervisor work, projects in Mirage OS, to tools and test related tasks. Note that we will be adding extra projects to this page in the coming weeks and that applicants can suggest projects on their own.

You may also want to check out the pages of GSoC mentoring organisations which we collaborate with. Sometimes, you will find Xen related projects there: FreeBSD (currently 2 projects), QEMU, Libvirt.

Learn about the Experience of past Participants

At a past Xen Project Developer Summit, we ran a panel discussion that included Outreachy interns, GSoC students as well as mentors.

You may also want to read Women interns rocking open source at Xen Project.

Xen Google Summer of Code – Migration from Memory Ballooing to Memory Hotplug

From xen-devel mailing list, an introduction and proposal from Daniel Kiper on his project (see email and community responses to proposal at http://lists.xensource.com/archives/html/xen-devel/2010-07/msg00410.html):

This year I put an proposal regarding migration from memory ballooning to memory hotplug in Xen to Google Summer of Code 2010 (it was one of my two proposals). It was accepted and now I happy GSoC 2010 student.
My mentor is Jeremy Fitzhardinge. I would like to thank him for his patience and supporting hand.

OK, let’s go to details. When I was playing with Xen I saw that ballooning does not give possibility to extend memory over boundary declared at the start of system. Yes, I know that is by desing however I thought that it is a limitation which could by very annoing in some enviroments (I think especially about servers). That is why I decided to develop some code which remove that one. At the beggining I thought that it should be replaced by memory hotplyg however after some test and discussion with Jeremy we decided to link balooning (for memory
removal) with memory hotplug (for extending memory above boundary declared at the startup of system). Additionaly, we decided to implement this solution for Linux Xen gustes in all forms (PV/i386,x86_64 and HVM/i386,x86_64).

Now, I have done most of the planned tests and wrote a PoC.

Short description of current algorithm (it was prepared for PoC and it will be changed to implement convenient mechanism for user):
– find free (not claimed by another memory region or device)
memory region of PAGES_PER_SECTION << PAGE_SHIFT
size in iomem_resource,
– find all PFNs for choosen memory region
(addr >> PAGE_SHIFT),
– allocate memory from hypervisor by
HYPERVISOR_memory_op(XENMEM_populate_physmap, &memory_region),
– inform system about new memory region and reserve it by
– online memory region by
mm/memory_hotplug.c:online_pages(start_addr >> PAGE_SHIFT,

Currently, memory is added and onlined in 128MiB blocks (section size for x86), however I am going to do that in smaller chunks.
Additionally, some things are done manually however it will be changed in final implementation.
I would like to mention that this solution does not require any change in Xen hypervisor.

I am going to send you first version of patch (fully working) next week.

Development Projects to Work On

I have spoken with several community members today at Xen Summit and they have great project ideas for Xen but not enough time to work on them. I am also aware that many university students are looking for research projects for their masters or phd work and would like to contribute to Xen at the same time. To satisfy both parties I have created a new Wiki page where people can list project ideas;  http://wiki.xensource.com/xenwiki/Xen_Work.

For community members, please list the project idea and your contact information so students can get in touch with you for more information.

For students, please consider the many projects listed and contact the community member for more information.

Xen Projects on SourceForge.net

I did a search of all the Xen related SourceForge.net projects and found a list of 63 projects. Many of the projects have no available download which I suppose means that it was not completed (?); however, I found many projects with downloads available for users. The complete list of the projects is here at  sf-project-list.odt or sf-projectlist.pdf.

If anyone is using these projects, please add some comments to let other people know about the solutions. Also, I do see that two major projects – Xen ARM and Xen Access Library are included; so my focus is on some of the lesser known projects.

Xen.org and SourceForge.net

Yesterday I met with SourceForge.net to discuss how Xen.org can better leverage their site and community. One interesting idea which I thought worthy of community feedback was the centralization of all projects associated with Xen into a single “portal” with a shared Wiki, message board, etc. This concept would allow people interested in Xen to learn about ALL the Xen inititiaves in development and ensure that multiple groups could work together on similar ideas instead of working separately without knowledge of each other.

What are your thoughts? I know that many projects currently underway are hosted on a variety of sites (e.g. Google) and I have created a Xen.org Projects page to better promote them.  However, doing a quick search on Xen of the SourceForge.net site turned up 63 projects; I do realize that not all of them are related to Xen but there were some projects that I was unfamilar with.

I look forward to your thoughts on this idea…

New Project: XenAccess Library

I have posted a new project on the Xen.org Project page: XenAccess Library.

Project Overview: When running multiple domains (or virtual machines) using the Xen hypervisor, this library will allow a privileged domain to view the runtime state of another domain. This technique is known as virtual machine introspection. The current software focuses on memory access, but also provides proof-of-concept code for disk monitoring.

Project Code Site: http://code.google.com/p/xenaccess/ and Project Discussion Site on Google Groups:  http://groups.google.com/group/xenaccess

Primary Contact is Bryan Payne at Georgia Tech.