GSoC 2016 Organization Application - STEllAR-GROUP/hpx GitHub Wiki

In order to apply to the Google Summer of Code as a mentoring organization we need to be able to answer the following questions.

Questionair

Describe your organization.

The STE||AR group (which stands for Systems Technologies, Emergent Parallelism, and Algorithms Research) is a group of students, researchers, and faculty members focusing on developing tools supporting future execution models for tomorrow's computer architectures. Many of those ideas are applicable to solving some of today's problems we face when writing parallel applications for modern multi-core machines. For this reason we center our effort around HPX (High Performance ParalleX), a general purpose C++ runtime system for parallel and distributed applications of any scale, which implements many of those ideas.

The goal for HPX is to create a high quality, freely available, open source implementation of the ParalleX model for conventional systems, such as classic Linux based Beowulf clusters or multi-socket highly parallel SMP nodes. At the same time, we want to have a very modular and well designed runtime system architecture which would allow us to port our implementation onto new computer system architectures. We use real world applications to drive the development of the runtime system, coining out required functionalities and converging onto an stable API which will provide a smooth migration path for developers. The API exposed by HPX is modeled after the interfaces defined by the C++ ISO standard and adheres to the programming guidelines used by the Boost collection of C++ libraries.

HPX has an active development team that has increased non-stop since 2007 (ref: http://www.openhub.net/p/stellar-hpx) thanks to a modular design that enables features to be added easily.

Tags

parellelism, performance, scalability, standardization, distributed computing, high performance computing

Why is your organization applying to participate in Google Summer of Code 2016? What do you hope to gain by participating?

From previous experiences with the Google Summer of Code program (we have several mentors and students participating in earlier years with the Boost organization, and have been participating ourselves for the last two years), we've found that this program provides an effective way to get students involved in the project. The GSoC provides us a platform to offer define tasks that students can begin working on within a finite timeline.

We hope the relationships created by this program are beneficial to the the student as well as the project. We believe that GSoC provides valuable learning opportunities for students to work with an online community, talented coders across the world, and contribute to an open source code project (and get paid for it). We intend to involve students actively, encouraging them to stay after GSoC.

Has your organization participated in past Google Summer of Codes? (yes/no)

Yes

If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.

Our first application was in 2013. Unfortunately we did not get selected as a mentor organization that year due to a mediocre ideas list. We were able to improve and successfully applied in 2014.

In 2014, our team was assigned three students. We were successfully able to mentor two students throughout the summer who were able to produce excellent results. The code developed by those two students have found their way into the main repository and is used in production. One of the students, however, we were unable to reach. The student started out with a good plan but only contacted us at the very beginning of the session. Since, we did not hear from him after July 29th. Several of us inquired as to how he was progressing with no response. During the application period and early in the actual coding session he did contact us through both IRC and email. He started out well and delivered some code but seems to have lost interest after the mid term evaluations. Help is almost always available on the IRC channel since our organization has international participation.

Last year, 2015, we were able to produce five successful projects. All five students produced good results. The code produced by two of the students already found its way into our main repository's master branch and was released as part of our HPX V0.9.11 release in November 2015. Another student produced results which will be used as the bases for the work he will perform during a 4 month internship with the STE||AR Group at LSU. The two other students contributed to LibGeoDecomp, a library which depends on HPX, and their contributions are now being integrated with the main development branch. For more details about the outcome of our GSoC 2015 please see our blog post.

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

N/a

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

Please see https://github.com/STEllAR-GROUP/hpx/wiki/GSoC-Submission-Template.

What Open Source Initiative approved license(s) does your project use?

Boost Software License (BSL)

What is the URL for your Ideas list?

Please see https://github.com/STEllAR-GROUP/hpx/wiki/GSoC-2016-Project-Ideas

What is the main development mailing list for your organization?

mailto:[email protected]

What is the main IRC channel for your organization?

#ste||ar at freenode.org

Who will be your backup organization administrator?

Thomas Heller (username: sithhell)

How many potential mentors do you have for this year's program? What criteria did you use to select them?

We have a total of 7 potential mentors for our organization. Previous GSoC experience or new hackers mentoring is an important factor. Otherwise, the mentors are selected according to their involvement in the community and technical skills, the selected mentors are well connected amongst each other and already cooperate on various other different projects. We will assign two mentors to each student. This ensures the student to always have someone to guide him even when a mentor is on holidays.

What is your plan for dealing with disappearing students? Please be as specific as possible.

If a scheduled meeting is missed, we will begin daily attempts to reach them through multiple forms of communication. We will require a physical address and phone number, and we will confirm the phone number at the start of the program. If we cannot get in touch for 1 week without any advance notice from the student, they will be sent a final warning. If we hear nothing by the following day, they will be failed. Students will be informed of this policy when the program starts and will agree to follow it.

What is your plan for dealing with disappearing mentors? Please be as specific as possible.

We have available backup mentors so that students will never be without mentorship, even if the original mentor disappears. We will pursue the same communication methods as with students, and failures will be dealt with by blocking them from any future mentoring.

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

We will strongly encourage applicants to interact with the community using our standard communication methods (mailing lists and IRC) before and during the application and evaluation periods. In fact, this is part of our custom application template. If a student does not learn to do it during application and evaluation period, we can't expect that they will learn to do so during the next few months. That will count against them in the ranking of their application. Since communication will be one of the requirements for a successful application, we expect that problems during and after the program will be much rarer.

We will treat students in the same way we treat other new members of our community, a significant portion of whom are college students just like the applicants. By encouraging students to communicate directly with the community instead of privately with their mentors, we will infuse them with the process of open-source development.

In the past, we've discovered that a major key to sticky contributors is close personal ties with the community. Requiring students to become full members of the development community instead of segregating them with their mentors as conduits to the community will naturally result in a higher stickiness.

Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.

N/A

Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.

no

What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?

By encouraging ongoing community engagement during the student-mentor period we hope to knit the student into the project over the summer, to avoid the situation of having the student-mentor interaction happening in private and the code branch languishing without buy-in from the greater developer community.

Is there anything else we should know or you'd like to tell us that doesn't fit anywhere else on the application?

We really do appreciate the unique possibility offer by GSoC and are very thankful for such an opportunity that allows us to attract new talent for our project.

⚠️ **GitHub.com Fallback** ⚠️