TWiki> LHCb Web>LHCbComputing>CoreSoftwareProjects (revision 2)EditAttachPDF

LHCb Core Software Development projects

This page lists development projects that are available within the LHCb Core Software group. They are intended for students or fellows either within CERN funded programmes or from LHCb participating institutes who wish to contribute to LHCb computing.

Short projects (e.g. Summer students or Technical students)

Upgrade of the packaging system used for LHCb Software.

Analysis of Conditions Database access patterns to optimize proxy settings.

Optimization of the Memory Usage of the ROOT I/O Engine in LHCb.

Optimization of the File Usage and Read Time of ROOT files in LHCb.

Development of monitoring sensors for the LHCb distributed computing framework

The LHCb experiment is using the DIRAC framework for processing the experiments physics data on the worldwide provided computing infrastructure, distributed over 120 computing sites. DIRAC is based on several dozen sub services which provide different functionalities needed for the data processing activities e.g., for job submission, data transfer etc. The proper functioning of these services is vital for the DIRAC framework. The successful candidate will implement monitoring sensors that will provide the status of the services to an already existing monitoring framework provided by Cern/IT. As the different services are not all working in the same manner (different payloads, scheduling, turn around times) special thought will have to be given to generalize these sensors as much as possible to provide an easy means of their subsequent maintenance.
  • Training value for the Student: The student will work in an international collaboration and get a deep insight into the functioning of the experiments worldwide grid operations. S/he will also collaborate with many different groups at Cern within the Physics and IT Departments.
  • Student profile: Computer Scientist
  • Project content: 100 % computing
  • Computing skills: Python, Unix shell scripting,

Migration of the QMTest-based testing infrastructure to Python Nose

Long projects (e.g. Doctoral students or Fellows)

An improved detector description framework for Gaudi

Design and implementation of a general-purpose detector description framework for simulation, reconstruction and visualization of data from particle physics detectors.

Unifying the monitoring of grid computing services for the LHCb experiment

The LHCb experiment at Cern is processing its physics data on a computing grid, distributed over 120 different computer centers worldwide. The infrastructure for this computing is partly provided by LHCb itself and the "Worldwide LHC Computing Grid" (WLCG). Both LHCb and WLCG are providing means to monitor the different services provided within each community but with only a minimal linking of the two. The successful candidate will investigate possibilities on how to generate a common view of the different monitoring systems in a single system and provide also views which are meaningful for both the experiment seeing the activities of the computer centers and for computer centers seeing the activities of the different experiments working at one site. Work in this area is essential for the streamlining and further optimization of the operations activities for the experiment and computing sites.

The successful candidate will be in touch with several different groups at CERN (Physics, IT), computer centers world wide and other LHC experiments, in order to evaluate the needs of the different parties and implement a common solution. Investigating the different services that are monitored will furthermore provide her/him a very good understanding of the LHC computing grid infrastructure.

Profile: Computer Scientist

Development of a User Interface for the automation of release management tasks in the LHCb Experiment

The LHCb Experiment maintains several, large software projects, developed by about 100 individual developers. A few project managers are in charge of the preparation and the validation of releases.

The candidate will develop a comprehensive User Interface that integrates all the tools (Tag Collector, Nightly Builds, Subversion, etc.) currently used during the preparation of a release, to simplify the validation and automate the finalization of the release.

The candidate will investigate different approaches (web application frameworks, libraries, etc.) and technologies (Web based, Eclipse, Qt, Java) to find the best software tools to accomplish the task.

Profile: Computer Scientist
Computing Knowledge: Web Development (AJAX, Web frameworks), knowledge of databases, knowledge of Python may be an advantage

Technical Optimization of LHCb Software

Optimization of C++ code used by LHCb to improve the use of computing resources available to the experiment.

The software used by the LHCb experiment to filter and analyze the data is based on the Gaudi framework and consists of C++ and Python code. The computing intensive part of the code is implemented in C++ and is compiled with several compilers (GNU CC, Intel compiler...).

Studies have shown that it is possible to improve the software performance by tuning the compiler options and change the code to use the processor(s) as best as possible. As the core part of the software is run on thousands of machines, even small improvements to the compiled code can have significant impact on the overall use of resources.

In order to do so, the first task is to put in place the tools and processes for a systematic benchmarking of the software, according to the main use cases of the LHCb experiment.

Once this done, a detailed survey of the performance of the current code will be performed to suggest and test optimization solutions (like the vectorization of the code, improvements of the data access patterns...)

The successful candidate must have experience of programming in C or C++. Good knowledge of computer architecture would be an advantage. He or she will work in the LHCb core software team.

Profile: Software engineer
Qualifications: experience with programming in C/C++. Good knowledge of computer architecture would be an advantage.

-- MarcoCattaneo - 07-Mar-2012

Edit | Attach | Watch | Print version | History: r6 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2012-03-08 - MarcoCattaneo
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback