Job offer

Faites partie des premiers candidats.
Inria Grenoble
France
EUR 40 000 - 60 000
Faites partie des premiers candidats.
Il y a 4 jours
Description du poste

Organisation/Company: Inria Grenoble

Research Field: Computer science » Computer architecture

Researcher Profile: First Stage Researcher (R1)

Country: France

Application Deadline: 11 Jun 2025 - 00:00 (UTC)

Type of Contract: To be defined

Job Status: Negotiable

Is the job funded through the EU Research Framework Programme? Not funded by a EU programme

Is the Job related to staff position within a Research Infrastructure? No

Offer Description

Within the context of an Inria Challenge, the project-teams PACAP and MADMax join forces to develop a demonstrator of dynamic binary rewriter to explore long-term support of RISC-V processors.

RISC-V provides an opportunity to update the ISA and the executable format to mandate that any instruction being fetched by the processor that is not supported by it trigger a fault. This includes unimplemented encodings but also encodings implemented as part of a different extension (e.g., processor supports extension A with encoding E, and the binary has an instruction from extension B with encoding E). This facility would allow to provide compatibility layers as part of an operating system service, whereby any binary compiled targeting – almost – any extension could be run on hardware that does not feature these extensions, with the missing extensions being emulated in software. This would decrease the burden placed on software to either target a common set of extensions, thereby limiting performance if the hardware has extensions that could accelerate the code, or target specific extensions, thereby making binaries even less portable.

The objective consists in developing such facility as a demonstrator based on dynamic binary rewriting. The mechanism could be implemented either in the OS kernel or in userland. The kernel offers the advantage of sharing the portability across all processes. Userland, on the other hand, does not require any privilege and lets different users handle different instructions. As a first step, we will emulate the instruction semantics when the unsupported instruction raises an exception. We will then give back control to the user program. However, this mechanism will incur significant overhead as the cost of trapping into the kernel is in the hundreds of cycles, without even considering the cost of the emulation itself. As a result, a second, more optimized mechanism will attempt to dynamically patch the user binary with regular jumps to library functions emulating the unsupported instructions. Further optimizations such as chaining such calls if the user code features several contiguous unsupported instructions and even optimizing such chained calls on the fly could be envisioned as future work. Nevertheless, this can be seen as an efficient but also transparent dynamic binary translation mechanism, with RISC-V as both the host and target.

Travels between Rennes and Grenoble are expected, typically three or four days every six months. Travel expenses will be reimbursed within the limits of current regulations.

Main activities

The candidate will be expected to:

  • Setup a RISC-V platform based on QEMU.
  • Specify an emulation mechanism based on the SIGILL signal.
  • Specify which RISC-V extensions can be emulated, and which ones cannot.
  • Implement a first demonstrator of the dynamic binary rewriter.
  • Analyze the SAIL language to automatically generate the emulation code.

In addition, the candidate is expected to:

  • Write the documentation.
  • Follow development good practices such as use version control, continuous integration.
  • Assess the performance of the tool.
  • Contribute to the open-source strategy for the software.

Skills

Technical skills and level required:

  • Good knowledge of C/C++.
  • Good knowledge of Linux programming.
  • Basics of RISC-V assembler (possibly x86).
  • Good knowledge of software engineering: source code organization, testing, version management, continuous integration.

Languages: French and English read and written, spoken a bonus.

Interpersonal skills: teamwork required, and in particular team project management.

Benefits

  • Subsidies for lunch.
  • Public transportation partially reimbursed.
  • 7 weeks of annual paid leave + 10 additional days + possibility of exceptional leave (e.g., sick child, moving).
  • Remote work possible (after 6 months), possibility of different working time arrangement.
Obtenez un examen gratuit et confidentiel de votre CV.
Sélectionnez le fichier ou faites-le glisser pour le déposer
Avatar
Coaching en ligne gratuit
Multipliez vos chances de décrocher un entretien !
Faites partie des premiers à découvrir de nouveaux postes de Job offer à France