Internship Murex: Optimize in-memory database using off-heap allocation
Murex is a recognized global leader in software development for trading, risk management and processing. Every day banks, asset managers, corporations and utilities, across the world, rely on Murex people and Murex solutions to support their capital markets activities. Our motto “pioneering again” sums it all up: since its creation, Murex has reinvented itself time and again to adapt to capital markets revolutions – each time offering innovative software solutions to the industry.
Over 1,800 specialists are located across our 17 offices: Beijing, Beirut, Dubai, Dublin, Hong Kong, London, Luxembourg, Moscow, New York, Paris, Sao Paulo, Santiago, Seoul, Singapore, Sydney, Tokyo, and Toronto.
The Murex platform is an integrated Front to Back to Risk system to manage a wide range of financial products : OTC, listed and different types of stock.
The platform also allows the real time handling of all the market data required to price these products. The Pop R&D team is responsible for investigating and building the technical foundations for the future of Murex. It is composed of the RTBI, GUI & IMDB teams.
This internship should take place within the IMDB team We are currently building a real time aggregator of the maket risks faced by our customers. In order to handle their high expectations in terms of volumes, latency and throughputs that are typically encountered within Capital Markets, we are using state of the art technologies, like In-Memory and Big Data computing. In order insert seamlessly within the existing ecosystem, our system also exposes an SQL interface.
We are using a blend of ScrumBan and Extreme Programming, placing quality and real teamwork at the core of everything we do. Memory resident database implies usage of a huge amount of main memory. Java virtual machine’s heap, where Java objects live, is subject to garbage collection (GC) which takes long as its size becomes large. Part of these GC are futile as data inserted into the database are supposed to live long. Off-heap allocation is a candidate to avoid this issue of ever-increasing GC pauses as it allows us to allocate autonomous memory regions with their own GC rules.
The goal of this internship is to applying off-heap allocation in implementing primitive type columns in our database using open source solutions such as LArray, Chronicle-Map or, optionally, developing an in-house solution.
You will be primarily in charge of:
-Research on open source off-heap solutions.
-Gathering and drafting user stories (tasks) related to the subject.
-Applying/Implementing off-heap data structure to implement primitive type columns for an in-memory database.
-Benchmarking/profiling improvements with data-set and queries provided by TPC-H specification.
You will follow the test-driven and the agile methodology during the development.
-You will be proactive and self-driven.
-You will be a team player, communicating and building relationships.
-You have good communication skills.
-You have good computer programming skills.
-You have a solid knowledge of Java.
-You have a good level in written and spoken English.
-Experience in test-driven development,
-high-performance computing is an advantage.
-Last year student in Engineering School or Master looking for end of study internship
-Good level in software development (Java)
-No financial knowledge required
-Length: 6 months