Upload
the-linux-foundation
View
522
Download
0
Tags:
Embed Size (px)
DESCRIPTION
In this talk I plan to describe my first impression from working on open source project, how the community is organized and what can be gained by contributing to open source community. As a supporting fact of positive outcome from participating in similar projects, I will provide an example from my personal experience. It demonstrates how anyone can dive into open source development and work on project of choice. I introduce my work on virtual NUMA within XenProject and OPW program. It will demonstrate the challenges that newbie will face diving into mature development product and process, the necessity of discipline, commitment and self-organization. I will show what I had to learn in order to move forward, what I had to focus on and how to progress. The work what was done at this moment would not be possible without help of project mentors, source code knowledge, learning how to extract information from patches and ask right questions. I hope this example will bring more passionate developers into the community of open source software and hacking.
Citation preview
OPW - Xen vNUMA
OPW - outreach program for women
Me – Elena - Linux kernel XenProject Intern
vNUMA – virtual NUMA
Xen – you know...was working on OPW all summer 2013, had fun and really enjoyed coding, best mentors in town
+ +
Outreach program for women
Mentors
OPW Mentors
Xen and kernelmentors
NUMA and Linux
NUMA topology parsing NUMA aware scheduling
Automatic NUMA balancing libnuma
Xen vNUMA
● 'enlighten' guest with vNUMA topology● performance in mind● let user decide on virtual topology
pNUMA + vNUMA
A B CA B
BA A B C
VM 1 VM 2 VM 3
A B
A B
Physical NUMA nodesPhysical NUMA nodes
node1 node2
virtual NUMA nodes
OPW internship
● OPW, Linux Foundation, XenProject● Meet my mentors● development community● Learn source code● Xen and kernel● vNUMA
What was done
● Xen and Linux patches● Understand code● Comments from community● vNUMA in Xen rc 4.4
name = "vm1"memory = 4096vcpus = 4vnodes = 2vnumamem = [2048, 2048]vdistance = [10, 20]vnuma_vcpumap =[1, 0, 1, 0]vnuma_vnodemap = [0, 1, 1, 0, 1, 1]
PV guest with vNUMA
Configure vNUMA topology
Or leave it automaticname = "vm2"memory = 4096vnodes = 2
Boot vNUMA aware guest
name = "vm1"memory = 4096vcpus = 4vnodes = 2vnumamem = [2048, 2048]vdistance = [10, 20]vnuma_vcpumap =[1, 0, 1, 0]vnuma_vnodemap = [0, 1, 1, 0, 1, 1]
PV guest with vNUMAConfigure vNUMA topology Boot vNUMA aware guest
What has to be done
● A lot! :)● Dom0/HVM NUMA awareness● Automatic NUMA balancing support● Performance evaluations● Heuristics/Statistics
What I have learned
● Source code● Patches● Coding styles● Xen and para-virtual guests● Linux, booting, memory management
Thank you
● Linux Foundation and GNOME● XenProject, Citrix, Oracle
● Xen project mentors and Linux Kernel Mentors
Dario Steffano GeorgeGeorge Konrad Sarah Greg