GSoC Application

From gem5
(Redirected from Google summer of code)
Jump to: navigation, search


What is your Organization's Name?

The M5 Simulator

What is your Organization's Homepage?

Describe your organization

The M5 simulator is used by computer architecture researchers to test ideas for the design of future computer systems. M5 was initially developed at the University of Michigan around 2000 by a small number of people, but it is now in use at many institutions and companies. The core team of developers include a professor at Michigan, a researcher at Hewlett-Packard labs, and several dedicated graduate students. All members of the core team have significant experience with M5 and use it regularly for their research. There is no fixed leadership structure, though different developers have stepped up during different periods of time to ensure successful coordination and forward progress of the project.

Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?

The overarching goal of the M5 project is to provide a tool to advance the state of the art in computer systems design. By participating in the Google Summer of Code, we hope to entice undergraduates and new graduate students to consider studying computer architecture. The experience of working with the M5 team will provide students with an excellent opportunity to learn more about computer architecture and get excited about the field. Beyond just improving the simulator, we expect students will learn the nuts and bolts of how computers are designed and work, from examining multicore systems, to understanding memory hierarchy design, to considering various approaches to designing an interconnect. We further hope to give young students interested in computer architecture an opportunity to receive some funding for what is fundamentally a research project and thus jumpstart their research careers. In return, the M5 team will improve awareness of our project, hopefully gain dedicated developers, and provide a lasting impact to the computer architecture community.

Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.

No, we haven't participated before.

If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?

No, we have not applied to GSoC in the past.

Who will your organization administrator be? Please include Google Account information.

Ali Saidi <asaidi *&*>

What license(s) does your project use?

A BSD style license.

What is the URL for your ideas page?

What is the main development mailing list or forum for your organization?

Our primary mailing list is Because M5 is a simulation framework, most users will do some sort of development to implement models of their ideas. Additionally, there is a development mailing list ( that was until recently an invite-only mailing list. We have recently worked out some licensing issues with code contributed to our source repository and are now able to have completely open development of all parts of the simulator.

What is the main IRC channel for your organization?

None. We currently don't use IRC and instead mostly rely on instant messaging or other ad-hoc communications depending on the need. We also communicate frequently using skype or the telephone.

Does your organization have an application template you would like to see students use? If so, please provide it now.

Who will be your backup organization administrator? Please include Google Account information.

Nathan Binkert <>

Who will your mentors be? Please include Google Account information.

  * Ali Saidi <asaidi *&*>
  * Nate Binkert <binkert *&*>
  * Steve Reinhardt <stever *&*>
  * Gabe Black < *&*>
  * Korey Sewell <koreylsewell *&*>
  * Ron Dreslinski <rdreslin *&*>
  * Lisa Hsu <lisa.r.hsu *&*>
  * Kevin Lim <kevin.t.lim *&*>

What criteria did you use to select these individuals as mentors? Please be as specific as possible.

All mentors have been developers of M5 for over three years, and all use M5 regularly in their work. Our mentors include one professor, a research scientist, and several senior graduate students. Most mentors have experience teaching classes and/or mentoring other students. In addition, we are a cohesive unit, and able to step in for each other when necessary.

What is your plan for dealing with disappearing students?

Since all of the mentors have already mentored undergraduates and graduate students at the University of Michigan, we have some experience with students disappearing. There are a few ways to deal with this, but the only way that is ultimately successful is to make sure our projects are as exciting as possible to keep the students involved. In the case we do lose students, we will of course remind them that their performance affects whether they get compensated or not, but we'll try to keep them motivated by working closely with them and keeping them interested in their project.

What is your plan for dealing with disappearing mentors?

We don't really have a plan for dealing with disappearing mentors since this is highly unlikely. If one looks at the m5-users mailing list, they will see that the mentors have all been consistently active, helping users of M5 get up and running. We'd expect to provide the same level of commitment to the students. That said, if any one of the mentors were to drop out for personal reasons, there are several other core m5 developers that could pick up the slack.

What steps will you take to encourage students to interact with your project's community before, during and after the program?

We expect most of their interactions with the community to be through the wiki, mailing list, and bug tracker. During the project we would like the student to have a list of intermediate milestones so we can make sure progress is being made. Largely, we think fast responses to questions and concerns the student might have are essential to keeping the student motivated to work on the project. Finally, after the project is complete we hope the student will be actively using M5 for his or her own work and have incentive to continue contributing.

What will you do to ensure that your accepted students stick with the project after GSoC concludes?

We believe that if students embark on projects that excite them individually and are useful to them, and receive enough help from their mentor and the community to achieve some success toward their goal, then they will be motivated to continue with M5 beyond GSoC. We will work to get the students' code incorporated in the public repository and releases so that they can see their code being used by others as well, which should help instill "pride of ownership" to motivate their continued involvement.

idea page