Beschreibung
For one of our clients in Düsseldorf we are looking for a freelance Consultant (m/f) Performance Optimization (Python):Project description:
In the context of financial modelling the client is looking for consultation in the area of technical model integration and performance optimization for python based models in the energy trading domain. Subject to optimization are valuation models written in python.
Task description:
• Analyze the current valuation models in terms of minimizing the memory consumption and make suggestions for improvement. Afterwards, the client will decide which solution to implement.
• Consult the client’s team in best practice on how to trace memory consumption (with IDE and / or windows/Linux tools)
• Detect memory peaks and which component is causing it – where component is referring to a class instance or function. The consultant will therefore get access to the relevant information in advance. He will present his findings and suggestions to the client.
• Consult the client’s team in how to write unit tests to track memory footprint and to throw alert if exceeded
• Consult the client’s team in how to compare memory consumption of different docker images which execute models
• Consult the client’s team in how to redesign code such that simulations are processed in chunks/batches rather than all in memory at the time
• Train the client’s team to understand how memory is allocated to a Linux process. How and how frequently these training take place is up to the consultant. He will further plan and schedule the sessions.
• Consult the client’s in best practice about how to work with threads & streams
• Make suggestions about how to optimize the io/blocking code and show it by an example to the client’s team.
• Make suggestions about how to optimize reading from sources and show it by an example to the client’s team.
• Make suggestions about how to optimize the reading of big data objects, like pickle or TensorFlow graphs and show it by an example to the client’s team.
• Make suggestions about how to optimize writing to storage accounts and show it by an example to the client’s team (MS Azure)
Skills:
• Expert level knowledge in python code optimization
• Experience with setting up caching mechanisms * knowledge in python frameworks i.e. Tensorflow are of advantage
• Python in distributed computation environments i.e. Kubernetes clusters or equivalent
• English: must have, German: nice to have
Project start: ASAP;
Project duration: 2+ months
Project location: Düsseldorf (remote)