Context And Mission
The Computer Sciences (CS) department of the Barcelona Supercomputing Center aims at carrying out research and development to influence the way computing machines are built, programmed and used. The Workflows and Distributed Computing (WDC) group at the Barcelona Supercomputing Center aims at carrying out research on programming models for distributed computing.
More specifically the group will be contributing to the CEEC CoE project whose ambition is to enable the use of exascale computers for key computational fluid dynamics (CFD) applications and demonstrate their capabilities through key light-house cases.
The WDC group contributes to the project with the PyCOMPSs programming model, as a tool to develop workflows that combine HPC codes (in this case, CFD applications) together with artificial intelligent and data analytics.
PyCOMPSs is a task-based, parallel programming model that supports the development of workflows that run in parallel in distributed computing platforms. The WDC contribution in the project will mainly focus on the integration of PyCOMPSs with the Light House Cases (LHC) to develop complex workflows involving CFD simulations. We also want to extende the current checkpointing mechanism implemented in PyCOMPSs to integrate the checkpoint of MPI tasks.
For this research, the group is looking for an engineer that works directly with the LHC developers to help them to design and implement the required workflows. In addition, if any additional feature is required from PyCOMPSs, the engineer will support the WDC on their development, such as the mentioned check-point mechanism. The main required expertise includes a good level of programming in Python. Additional expertise that will be valued includes distributed computing, task-based environments in distributed systems, machine learning, and CFD. The job includes also active participation in the projects, attending project meetings, collaborating with partners and writing deliverables.
Key Duties
Support to the development of PyCOMPSs that fit the LHC requirements.
Development of required extensions to the PyCOMPSs programming model.
Development of tests to check the extensions with the PyCOMPSs test infrastructure and contribution to PyCOMPSs documentation that illustrates how to use the newly developed features.
The candidate will work closely with other research members on the team of the Workflows and Distributed Computing group.
Contribution of the candidate to the CEEC CoE project, including contribution to project deliverables.
Requirements
Education
Computer science degree (Master or graduated)
Essential Knowledge and Professional Experience
Good programming skills in Python.
Parallel programming.
Knowledge of task-based programming models.
Additional Knowledge and Professional Experience
Previous experience in PyCOMPSS/COMPSs and its runtime or in similar task-based environments.
Knowledge in distributed computing.
Competences
Fluency in spoken and written English, while fluency in other European languages will be also valued.
#J-18808-Ljbffr