We had the opportunity to participate in the Google Summer of Code (GSoC) for the third time and would like to share the resulting open source activities.
While many GSoC participating organizations focus on a single ecosystem, we have a variety of projects that span multiple programming languages and communities. And for the first time, we participated in Outreach Program for Women (OPW) — an organization that focuses on helping women get involved in open source.
In total, we worked on nine successful projects with nine amazing students over the summer.
Apache Mesos CLI improvements
Isabel Jimenez worked with her mentor Ben Hindman to add new functionality to the Mesos CLI interface. You can read about the work via her blog posts over the summer and review commits associated with the project.
Apache Mesos slave unregistration support
Alexandra Sava worked with mentor Ben Mahler to add the ability to unregister a slave and have it drain all tasks instead of leaving tasks running underneath it. Check out ReviewBoard to look at the commits that have been merged already, and take a look at her blog posts that summarize her experience.
Use zero-copy read path in @ApacheParquet
Sunyu Duan worked with mentors Julien Le Dem and Gera Shegalov on improving performance in Parquet by using the new ByteBuffer based APIs in Hadoop. As a result of their efforts, performance has improved up to 40% based on initial testing and the work will make its way into the next Parquet release.
Currently when a new EventLoop is needed to register a Channel, EventLoopGroup implementations use a round-robin-like algorithm to choose the next EventLoop. Since different different EventLoops might become busier than others over time, the support for pluggable algorithms to increase performance was needed.
Compression codecs will allow cutting traffic and creating applications, which are able to transfer large amounts of data faster and more effectively.
Android support for Pants build
Mateo Rodriguez added Android support to the Pants build system (see commits) so Pants can build Android applications (APKs) on top of the many other languages and tools it supports.
Since Finagle strives to provide fully asynchronous protocol support, baking in SMTP support was required instead of using third-party libraries (such as javamail and commons-email) which are synchronous by design.
The result of this work improved the performance of Cassovary when dealing with large graphs. See the commits associated with the project to see how it was done.
As part of GSoC, students and mentoring organizations receive a stipend. We are donating our portion of the stipend to the Outreach Program for Women to support their mission of involving more women in open source communities. In the end, we really enjoyed the opportunity to take part in Google Summer of Code and Outreach Program for Women. Thanks again to our nine students and mentors. We look forward to the next time.