dimarts, 31 de desembre de 2013

Simulation Engineer per al BSC

The Heterogeneous Architectures group at the Barcelona Supercomputing Center (BSC) is looking for a highly-motivated engineer to participate in the research of a new class of energy-efficient High-Performance Computing (HPC) systems based on low-power processors. This research is part of the Mont-Blanc project, one of the BSC flagship projects, which has set itself the following objective: to design a new type of computer architecture capable of setting future global HPC standards that will deliver Exascale performance while using 15 to 30 times less energy. This research is having a big media impact and important recognition in the research community:
The group has invested considerable amounts of effort to develop a simulation infrastructure for multi-core systems. The simulation environment aids researchers in the evaluation of future processor designs and runtime systems. We look for a person with initiative and a problem-solving mindset to help enhance and maintain the simulation infrastructure as it grows and is being adopted by multiple groups in the center.

The successful candidate will join our research group to implement new features in the simulation infrastructure as they are required by the research tasks in our projects. This includes the following tasks:
  • Implementation and validation of performance and power models such processors models, cache coherence protocols, and emerging memory models
  • Implementation and maintenance of tracers and other simulator components
  • Testing of features and overall functionality
  • Instrumentation, profiling and optimization
The successful candidate is expected to show initiative and strong interpersonal skills to interact with the researchers in the group and other simulation infrastructure users.
  • At least BSc in Computer Science, Computer Engineering, or equivalent. BSc in Electronics, Telecommunications or equivalent is also considered for candidates with strong programming skills. MSc is preferred.
Essential Skills
  • Strong knowledge of C++
  • Strong debugging and problem solving skills
  • Strong software engineering skills including knowledge about data structures and algorithms
  • Good English communication skills
Desirable Skills
  • Knowledge of computer architecture
  • Experience with computer architecture simulators
  • Experience with template metaprogramming, STL containers and C++11 extensions
  • Experience with Linux compilation and debugging toolchains (gcc, autotools, gdb)
  • Experience with distributed control version systems
  • Experience with scripting languages such as shell script and Python
All applicants should submit:
  • Cover letter
  • Curriculum vitae
Date closing: 12/01/2014