add presentation

This commit is contained in:
Bruno BELANYI 2021-08-30 21:39:22 +02:00
parent 18a246b6e4
commit 0a0fb59978
2 changed files with 127 additions and 1 deletions

View File

@ -1,4 +1,7 @@
all: report.pdf
all: report.pdf presentation.pdf
report.pdf: begin-document.tex config.yaml header.tex
pandoc --defaults config.yaml
pandoc -t beamer --filter pandoc-plantuml --dpi=300 -o $@ $<

123 Normal file
View File

@ -0,0 +1,123 @@
title: "IMC Internship"
author: "Bruno BELANYI"
theme: "Frankfurt"
institute: "EPITA"
date: 2021-08-30
colortheme: "seahorse"
fontsize: 10pt
urlcolor: blue
linkstyle: bold
aspectratio: 169
lang: en-US
section-titles: true
toc: true
header-includes: |
\setbeamertemplate{section page}{%
\begin{beamercolorbox}[sep=12pt,center,colsep=-4bp,rounded=true,shadow=true]{section title}%
\usebeamerfont{section title}%
\addtobeamertemplate{navigation symbols}{}{%
# Introduction
## IMC & Global Execution team
* Market making firm
* Multiple offices
* Over 20 exchanges
## Subject of the internship
> The project is about benchmarking a new service we're building related to
> exchange connectivity. It would involve writing a program to generate load on
> the new service, preparing a test environment and analyzing the performance
> results. Time permitting might also involve making performance improvements to
> the services.
## Motivation
* Early feedback during development
* Track regressions
* Various scenarios
## Additional work
* Compatibility testing
* Test both client and gateway processes
* Test forward and backward compatibility
* Similar to benchmark in its architecture
# Work accomplished
## Parameters of a run
* Lab setup to mirror production
* Multiple scenarios
* Multiple exchanges and gateways
## Workflow
* Scenarios are exchange-agnostic
* Running a benchmark locally and remotely in a transparent manner
* Single command to run
## Architecture
![Component diagram](figs/component-diagram.png){ height=80% }
## Results
![Sample plots, with timings
censored](figs/remote-plots-presentation-censored.png){ width=90% }
## Compatibility testing
* Existing tests only test single version of client and server in lock step
* Forward and backward compatibility
* Multi-process testing
# Benefits of the internship
## To the company
* Framework to use for benchmarking gateways
* Nicely integrated in IMC's build system
* Easy to use for new exchanges
* Easy to extend with new scenarios
* Ground work on compatibility testing
* Peace of mind
* Ensure upgrades/downgrades happen smoothly
* Reduce downtimes due to failures
## To me
* Part of a good team & company
* Learn about finance sector
* Deal with new problems I had not encountered before
# Conclusion
## Challenges of the internship
* Integration among pre-existing code
* Working conditions due to COVID
* Debugging asynchronous, multi-process systems
## Further work
* Integrate with in-house change-point detection
* Integrate with packet sniffing setup
* More exchanges & scenarios