Archived/GSoC 2013: Difference between revisions
mNo edit summary |
(Added project about virtual NUMA) |
||
Line 176: | Line 176: | ||
=== Unreviewed Project Ideas === |
=== Unreviewed Project Ideas === |
||
{{GSoC Project |
|||
|Project=Virtual NUMA for Xen guests |
|||
|Anchor=vnuma |
|||
|Difficulty=Medium |
|||
|Date=12/12/2012 |
|||
|Contact=Dario Faggioli <dario.faggioli@citrix.com> |
|||
|Skills=C programming, computer architecture, virtualization concepts |
|||
|Desc= |
|||
NUMA ([http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access Non-Uniform Memory Access]) systems are advanced server platforms, comprising multiple ''nodes''. Each node contains processors and memory. An advanced memory controller allows a node to use memory from all other nodes, but that happens, data transfer is slower than accessing local memory. Memory access times are not uniform and depend on the location of the memory and the node from which it is accessed, hence the name. |
|||
Ideally, each VM should have its memory allocated out of just one node and, as long as its vCPUs also run there, both throughput and latency are optimal. However, in cases where a VM ends up having its memory allocated from multiple nodes, we should inform it that it's running on a NUMA platform: a virtual NUMA. This could be very important, especially for some specific workloads (for instance, HPC applications). In fact, if the guest OS and application have any NUMA support, exporting the virtual topology is the only way to render that effective, and perhaps filling, at least to some extent, the gap in the performances introduced by the needs of distributing the guests on more than one node. Just for reference, this feature, under the name of vNUMA, is one of the key and most advertised ones of VMWare vSphere 5 ([http://cto.vmware.com/vnuma-what-it-is-and-why-it-matters/ vNUMA: what it is and why it matters]). |
|||
This project fits in the efforts the Xen community is making for improving the performances of Xen on NUMA systems. The full roadmap is available on this Wiki page: [[Xen NUMA Roadmap]] |
|||
|Steps=The work on the project can be subdivided in the following phases: |
|||
* Phase 1: identify the constraints that introducing virtual NUMA would impose to the other components of the Xen architectures (or, vice-versa, the constraints that the existing components of the Xen architecture would impose to virtual NUMA). Put together a design coherent with these constraints and share it with the Xen development community to get feedback on it; |
|||
* Phase 2: implement virtual NUMA for Xen PV guests; |
|||
* Phase 3: implement virtual NUMA for Xen HV guests. |
|||
|Outcomes=The candidate is expected to produce a set of patch series (one patch series for each phase of the project), send them to the Xen development mailing list and follow all the typical Open Source process for having them upstreamed in Xen. |
|||
|References=Useful references inlined in the project description |
|||
}} |
|||
==== Rules and Advice for Adding Ideas ==== |
==== Rules and Advice for Adding Ideas ==== |
Revision as of 00:52, 31 January 2013
GSoC and Xen
This page is used to list project ideas for Google Summer of Code (GSOC) 2013.
Key Google Pages
Project List
Community Reviewed Project List
This section contains GSoC Projects that have been reviewed by Xen Maintainers and Committers. Community members are free to add their own project ideas, but these need to add them in the Unreviewed Project Ideas section of this document.
To Do:
Migrate reviewed and suitable project ideas from Xen Development Projects to this page |
.
Introducing PowerClamp-like driver for Xen
|
Implement Temporal Isolation and Multiplocessor Support in the SEDF Scheduler
|
Refactor Linux hotplug scripts
|
XL to XCP VM motion
|
VM Snapshots
|
Allowing guests to boot with a passed-through GPU as the primary display
|
Fuzz testing Xen with Mirage
|
Testing PV and HVM installs of Debian using debian-installer
|
Testing NetBSD
|
Unreviewed Project Ideas
Virtual NUMA for Xen guests
|
Rules and Advice for Adding Ideas
- Be creative
- Use the Template:GSoC Project template to encode ideas on this page. Please read the Template Documentation before you do so.
- 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