CMOS: advanced and beyond
Discover why imec is the premier R&D center for advanced logic & memory devices.
Connected health solutions
Explore the technologies that will power tomorrow’s wearable, implantable, ingestible and non-contact devices.
Life sciences
See how imec brings the power of chip technology to the world of healthcare.
Sensor solutions for IoT
Dive into innovative solutions for sensor networks, high speed networks and sensor technologies.
Artificial intelligence
Explore the possibilities and technologies of AI.
More expertises
Discover all our expertises.
Research
Be the first to reap the benefits of imec’s research by joining one of our programs or starting an exclusive bilateral collaboration.
Development
Build on our expertise for the design, prototyping and low-volume manufacturing of your innovative nanotech components and products.
Solutions
Use one of imec’s mature technologies for groundbreaking applications across a multitude of industries such as healthcare, agriculture and Industry 4.0.
Venturing and startups
Kick-start your business. Launch or expand your tech company by drawing on the funds and knowhow of imec’s ecosystem of tailored venturing support.
/Job opportunities/Evaluate instruction set architecture dependency of computer system simulations

Evaluate instruction set architecture dependency of computer system simulations

Master projects/internships - Leuven | More than two weeks ago

Explore the impact of different instruction set architectures (e.g. x86, ARM, RISC-V) on results of computer system simulators. 

To improve today’s computing devices like smartphones, laptops and high-performance servers, researchers must examine bottlenecks in application execution. Detailed architectural simulation is one alternative to gain insights into these performance bottlenecks, but it  has several drawbacks, mainly the simulation time. Application profiling is a faster way to explore and detect the hotspots of the code. And, to get the most out of profiling, it is usually required to instrument the application. 

Dynamic Binary Instrumentation (DBI) is a well-established approach for analyzing the execution of applications at the level of machine code. DBI frameworks implement a runtime system capable of modifying running applications without access to their source code. These frameworks provide Application Programming Interfaces (APIs) used by DBI tools (e.g., computer architecture simulators such as CMP$im) to plug in their specific analysis and instrumentation routines. However, these frameworks are specific to a single Instruction-Set Architecture (ISA). For instance, Pin is probably the most popular DBI framework on Intel’s architecture, but all the tools built on Pin cannot be used to analyze code running on other prominent architectures, such as Arm or RISC-V. As developing equivalent analysis tools for each ISA-specific DBI framework is a tedious and costly process, we intend to investigate how the choice of ISA affects data movement in multicore architectures. In concrete, we are interested in comparing Intel and Arm architectures.

In this master thesis internship, the candidate will analyze how the memory behavior of an application varies between an Intel x86 and an Arm 64-bit multicore architecture. To do that, the student will develop equivalent analysis tools for Pin and an Arm-specific DBI framework. One specific example of such a tool would be to implement a trace generator that captures an application memory access pattern following a standard format (like protobuf). This internship is part of an international collaboration and will be jointly supervised by researchers at imec, (Leuven, BE), LIRMM (Montpellier, FR) and UCM (Madrid, ES).
 
 

Prerequisites: excellent C/C++ programming skills and a strong background in computer architecture.

Type of Project: Internship; Thesis; Combination of internship and thesis 

Master's degree:  Master of Engineering Technology; Master of Science; Master of Engineering Science 

Duration: 6 - 9 months 

Master program:  Computer Science 

Supervising scientist(s):  Timon Evenblij, Francky Catthoor 

For further information or for application, please contact Timon Evenblij (timon.evenblij@imec.be). 

Only for self-supporting students.