For one of our clients in Düsseldorf we’re looking for a freelance Consultant (m/f) Performance Optimization (Python):
In the context of financial modeling 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.
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)
Expert level knowledge in the area of python code optimization
Experience with setting up caching mechanisms * knowledge in python frameworks i.e. Tensor flow are of advantage
Python in distributed computation environments i.e. Kubernetes clusters or equivalent