Code Modernization: Powering Scientific Discovery and Fostering Innovation Globally at CERN (Part 2)

An Interview with Maria Girone, CTO, CERN openlab

 Intel recently talked to CERN openlab CTO Maria Girone to discuss how CERN and Intel work together to deliver improvements in processing speed, sometimes by factors, and how that impacts CERN’s research on the basic constituents of matter. This conversation is meant to help developers understand how a Modern Code approach can help advance research and breakthroughs globally.  

In part 2 of the interview, Maria offers advice for developers around building a code modernization strategy and discusses the programs available to enable developers and students to develop their skills, advance their careers, and bring large-factor improvements to the applications they work with.

  1. What advice do you have for developers and companies building a code modernization strategy and looking to ensure that their applications take full advantage of modern server hardware?

    First, it’s important to recognize that there’s room for significant improvement when it comes to legacy code. And that it represents a good career opportunity for developers who are good at updating it.

    Then, specifically, they should work to understand the gap between where their legacy software currently stands performance-wise, and the gains achievable through efficient parallelization and vectorization. Next, it’s important to demonstrate the improvements that can be made by undertaking a code modernization effort.

    Learning from examples available in the coding and research communities, and having concrete illustrations of how to move from theory to practical application, is critical. Unearthing opportunities such as the recent CERN openlab/Intel hands-on workshop on code optimization is helpful. It provided the opportunity for developers to bring their legacy code and learn face to face from experts the specific techniques to improve it.

    Finding case studies of organizations that have already achieved large-factor improvements is important, too. At CERN, we’ll continue to work with our communities to share our insights in ways that developers can build on. We believe that sharing concrete examples of the results we’ve been able to achieve is the best way to convince our audience as they face the growing challenges that legacy code brings.

  2. Describe the role of the internships that you and Intel have provided through the Modern Code Developer Challenge.
    Training younger researchers and providing them access to dedicated experts is a top priority for CERN openlab. We provide opportunities for students to work with modern tools to advance their software development and program knowledge, as well as their ability to build software that takes advantage of the latest hardware.

    Students work on a variety of code modernization projects. Most recently Mathieu Gravey, winner of the 2015 Intel® Modern Code Developer Challenge, joined us for a summer internship, where he worked on software used to track the passage of particles through matter following collisions in the Large Hadron Collider (LHC) detectors. Through our internship program, we routinely put students to work on a variety of projects, such as optimizing sections of code for the BioDynaMo (Biology Dynamic Modeller) project (mentioned in part 1 of this blog post series), to see the kinds of gains in processing speed that could be achieved.

    Not only does this program provide key interactions for our upcoming research community, it enables us to demonstrate the opportunities available to help solve challenges in high-energy physics and beyond. And it’s worth noting that one of the students who worked on the BioDynaMo project last summer has recently joined our team on a longer-term basis.

    Read Mathieu’s blog post and five big insights on optimizing legacy code.

  3. What would you recommend that today’s students do to prepare to enter the workforce—potentially with companies facing the need to modernize their code?
    Foremost, I would remind them that there are a lot of opportunities within technology companies and in research to make large-scale impact with code modernization.

    Additionally, it’s important to be aware that it’s a major move to parallel code. We're in the midst of changing assumptions of how much capacity we can exploit to achieve possible performance metrics that we could only imagine five years ago. With it, knowledge and learning is changing, too. Students would do well to stay close to the companies that are at the forefront of these changes, and learn how to use these modern techniques.

    At CERN openlab, we need a lot of students like Mathieu! Our Summer Student Programme is a great way to gain experience in using the cutting-edge computing technologies and strategies that can pave the way for a successful career.

  4. Tell us about the Intel Innovation and Entrepreneurship project.

    This is a collaboration between CERN openlab, Intel, IdeaSquare, and the KT Group to support innovation and identify interesting technical ideas within the CERN community. Through it, we focus on how to build upon innovative ideas within the scientific community and translate them into the world of enterprise and entrepreneurship. Last year we hosted an event at which expert speakers and coaches from various technical and business domains helped budding entrepreneurs to define how good ideas can be turned into business plans.

Watch for our next Innovation and Entrepreneurship event with Intel and read more about CERN and Intel. This case study describes CERN upgrades for its online data acquisition system using the Lustre* file system and the online data analysis cluster supported by Intel® technologies, in prep for one of its general-purpose experiments, the Compact Muon Solenoid (CMS).

For more complete information about compiler optimizations, see our Optimization Notice.