STAGE 3A - DEV JAVA - Removing shared memory fragmentation H/F

Job ID:  39823
Location:  PARIS (FRA)


Murex is a global fintech leader in trading, risk management, and processing solutions for capital markets. Operating from our 19 offices, 2,500 Murexians from over 60 different nationalities ensure the development, implementation, and support of the MX.3 platform which is used by banks, asset managers, corporations and utilities, across the world.

Join Murex and work on the challenges of an industry at the forefront of innovation and thrive in a people-centric environment.
You’ll be part of one global team where you can learn fast and stay true to yourself.



Context :


The "Market Data Real-Time" team is responsible for integrating "Real-Time" data into the Mx application.

The module allows you to subscribe to market data provided by external service providers such as Bloomberg and Reuters. Then, these market data enable the evaluation of the bank's positions in the MX.3 application.

The team maintains and develops the several components and services composing the "Real-Time" chain.


Team expertise:

  • Development in C++ and Java
  • SQL, 
  • Services and REST
  • Gemefire


Missions :


The usage of shared memory is the heart of the real-time market data chain. It allows multiple process to access the market data efficiently. The memory is snapshotted to be dispatched over the network to the clients.

With high volumes of marketdata, memory fragmentation is observed, we thus want to improve the usage of shared memory.


The purpose of the internship is to:


  • Analyze the current fragmentation problem
  • Propose possible solutions for the issue
  • Test and select  the most optimal solution
  • Document all the work done


This work will be exploratory, thus a final "perfect" solution is not an obligatory expected outcome.


Milestones :

  • Learn the existing architecture of the real-time chain and the underlying shared memory.
  • Understand and document the problem.
  • Work on theories to solve the issue.
  • Implement and test proposed solutions.
  • Propose a final solution (if possible).
  • Document the entire process.


Profil :


  • Familiar with Java and C++ 
  • Interested in technical topics like: memory management, performance optimization,..
  • Good analytical skills  
  • Good communication and collaboration skills