SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Marcus  Gründler  |  aixigo  AG
Financial  Portfolio  
Management  on  Steroids
About me
Marcus  Gründler
@marcusgruendler
Head  of Portfolio  Management  Systems
Architect at  aixigo  AG,  Germany
www.aixigo.de
JAX  Finance 2016  -­ London
Agenda
• Financial  portfolio management
• Hardware
• Java  memory
• Programming patterns
• Scaling
What exactly is
Financial  Portfolio
Management?
Portfolio  Management
• Transactions,  prices,  securities
• Financial  algorithms
• Historical  analysis
• Time  series
Portfolio  Management
• No extreme  low latency
• High  data throughput (1  mio rec/sec)
• Low  response times (100ms/10,000  rec)
• Very large  datasets
Is
high  performance
computing
possible with
Java?
Yes  ...
...  read the fine print!
Matrix  Sum
23 101 2 34 88 120 4
44 12 234 211 112 189 11
33 1 86 201 3 11 22
65 32 62 22 34 15 67
43 178 105 138 192 38 41
11 58 35 25 27 16 21
Row major access
Matrix  Sum
23 101 2 34 88 120 4
44 12 234 211 112 189 11
33 1 86 201 3 11 22
65 32 62 22 34 15 67
43 178 105 138 192 38 41
11 58 35 25 27 16 21
Column major access
Matrix  Sum
(10,000  x  10,000  elements)
ops/sec
ops/sec
ops/sec
Matrix  Sum
Row major access
Column major access
Matrix  Sum
Row major access
Column major access
Matrix  Sum
Row major access
Column major access
Matrix  Sum
Row major access
Column major access
Matrix  Sum
Row major access
Column major access
Matrix  Sum
Row major access
Column major access
Matrix  Sum
Row major access
Column major access
Matrix  Sum
Row major access
Column major access
Tool  Support  -­ JMH
• OpenJDK JMH  (Java  Microbenchmark Harness)  
• Eliminates measurement (in)accuracy
• Statistically robust  measurements
• Maven  and Jenkins  support
http://openjdk.java.net/projects/code-­tools/jmh/
Memory  Access
CPU
RAM
Cached Memory  Access
CPU
RAM
Cache
Multi  Level  Caches
CPU
RAM
L1 L2 L3
Latency Numbers
CPU  cycles Time Size
L1  latency ~  4-­5  cycles 1.5 ns 32  KB
L2  latency ~  12  cycles 3.5  ns 256  KB
L3  latency ~  36  cycles 10.6 ns 8-­40  MB
RAM  latency ~  230  cycles 67.6  ns 256  GB
2KB  over 1GBit 20,000 ns
1  MB  from RAM 250,000  ns
Disk  seek 10,000,000 ns
Roundtrip US-­EU-­US 150,000,000  ns
Intel  i7-­4770  (Haswell),  3.4  GHz Sources:http://www.7-­cpu.com/cpu/Haswell.html
http://norvig.com/21-­days.html#answers
Latency Numbers
CPU  cycles Time Size
L1  latency ~  4-­5  cycles 1.5 ns 32  KB
L2  latency ~  12  cycles 3.5  ns 256  KB
L3  latency ~  36  cycles 10.6 ns 8-­40  MB
RAM  latency ~  230  cycles 67.6  ns 256  GB
2KB  over 1GBit 20,000 ns
1  MB  from RAM 250,000  ns
Disk  seek 10,000,000 ns
Roundtrip US-­EU-­US 150,000,000  ns
Intel  i7-­4770  (Haswell),  3.4  GHz Sources:http://www.7-­cpu.com/cpu/Haswell.html
http://norvig.com/21-­days.html#answers
Cache-­oblivious Algorithms
• Optimized for minimal  memory transfer
• All  computation with L1  cache
• Cache-­“oblivious“:  no knowledge about
cache hierarchy
• Keeps CPU  permanently „under pressure“
• Empowers cache prefetching
Plain Matrix  Transpose
1 2 3
4 5 6
...
1 4
...2 5
637
7
Cache-­oblivious Transpose
Matrix  Transpose
(4096  x  4096  elements)
ops/sec
Matrix  Transpose
(4096  x  4096  elements)
Cores
ops/sec
• Memory  access patterns matter
• Avoid main memory jumps
• Algorithms should support prefetching
How much
memory
do  we
consume?
How large  is an  object?
double  =  8 byte
Double  =  ? byte
BigDecimal =  ? byte
java.lang.Double
double  =  8 byte
Double  =  ? byte
BigDecimal =  ? byte
0 4 8 12 16 20 24 28
Padding
8  byte
alignment
Object
header
„Mark  word“
• HashCode
• Flags
Class  
pointer
Data
java.lang.Double
double  =  8 byte
Double  =  ? byte
BigDecimal =  ? byte
0 4 8 12 16 20 24 28
Object
header
„Mark  word“
• HashCode
• Flags
Class  
pointer
Data
double  =      8  byte
Double  =  24  byte
BigDecimal =      ?  byte
double  array
0 4 8 12 16 20 24 28
„Mark  word“
• HashCode
• Flags
Class  
pointer
Data  0 Data  1Array
length
...
double  =      8  byte
Double  =  24  byte
BigDecimal =      ?  byte
java.lang.Double
double  =      8  byte
Double  =  24  byte
BigDecimal =      ?  byte
BigDecimal
0 4 8 12 16 20 24 28 32 36 40
ref to BigInteger
ref to int[  ]
Σ 40  byte
Σ 40  byte
Σ >16  byte
>96  byte
double  =          8  byte
Double  =      24  byte
BigDecimal =  >96  byte
BigDecimal
Tool  Support  -­ JOL
• OpenJDK tool – JOL  (Java  Object Layout)
• Insight  into memory layout
• Heap  dump analysis
• Exact memory usage
• Graphical layout visualization
• Maven  module
http://openjdk.java.net/projects/code-­tools/jol/
Tool  Support  -­ JOL
java -jar jol-cli.jar 
internals java.math.BigDecimal
or
java –cp jol-cli.jar:my-own.jar 
org.openjdk.jol.Main 
internals foo.MyClass
Tool  Support  -­ JOL
java.math.BigDecimal object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
0 12 (object header) N/A
12 4 int BigDecimal.scale N/A
16 8 long BigDecimal.intCompact N/A
24 4 int BigDecimal.precision N/A
28 4 BigInteger BigDecimal.intVal N/A
32 4 String BigDecimal.stringCache N/A
36 4 (loss due to the next object alignment)
Instance size: 40 bytes (estimated, the sample instance is not available)
Space losses: 0 bytes internal + 4 bytes external = 4 bytes total
Data  Locality
56  +  520  =  576  bytes 64  Bytes
Memory  Layout
TransactionPlain[100]
TransactionCompact[100]
276  kB
• Keep  data compact
• Think  about data types
• Keep  memory allocations low
• Keep  garbage collection rate  low
And...
Which patterns
should I
use?
Tree Model
Flattened Data  Model
Streaming  Data  Access
!
𝑧
𝑦
𝑥
4
%
𝑦
𝑥
1
%
𝑥
𝑥
3
2
Decoupled Algorithms
• Prefer primitives  over classes
• Prefer arrays over object trees
• Process one array at  a  time
What about
cluster
replication?
MVCC
(Multi  Version  Concurrency Control)
V1
V2
V3
V4
View1View1+2View1+2+3View1+2+3+4
Compact  Data
V1
V2
V3
V4
View1View1+2View1+2+3View1+2+3+4
Off  heap RAM
On  disk
From Disk  to RAM
V1
V2
V3
V1 V2 V3
MappedByteBuffer
Data  Distribution
Apache  Kafka
Data  Distribution
Data  Distribution
Summary
• Large  speedups through cache optimized
algorithms
• Memory  layout is crucial
• Scale by cache replication
@marcusgruendler
Thank
you!

Contenu connexe

Tendances

Tendances (20)

Japan Lustre User Group 2014
Japan Lustre User Group 2014Japan Lustre User Group 2014
Japan Lustre User Group 2014
 
Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)
 
ZFSperftools2012
ZFSperftools2012ZFSperftools2012
ZFSperftools2012
 
Extreme Linux Performance Monitoring and Tuning
Extreme Linux Performance Monitoring and TuningExtreme Linux Performance Monitoring and Tuning
Extreme Linux Performance Monitoring and Tuning
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
 
Performance Tuning EC2 Instances
Performance Tuning EC2 InstancesPerformance Tuning EC2 Instances
Performance Tuning EC2 Instances
 
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
 
Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016
 
Cassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWSCassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWS
 
YOW2021 Computing Performance
YOW2021 Computing PerformanceYOW2021 Computing Performance
YOW2021 Computing Performance
 
Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)
 
Vacuum more efficient than ever
Vacuum more efficient than everVacuum more efficient than ever
Vacuum more efficient than ever
 
USENIX NSDI 2016 (Session: Resource Sharing)
USENIX NSDI 2016 (Session: Resource Sharing)USENIX NSDI 2016 (Session: Resource Sharing)
USENIX NSDI 2016 (Session: Resource Sharing)
 
PROSE
PROSEPROSE
PROSE
 
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDBDebugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDB
 
QCon 2015 Broken Performance Tools
QCon 2015 Broken Performance ToolsQCon 2015 Broken Performance Tools
QCon 2015 Broken Performance Tools
 
PG-Strom - GPGPU meets PostgreSQL, PGcon2015
PG-Strom - GPGPU meets PostgreSQL, PGcon2015PG-Strom - GPGPU meets PostgreSQL, PGcon2015
PG-Strom - GPGPU meets PostgreSQL, PGcon2015
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
 
Red Hat Enterprise Linux OpenStack Platform on Inktank Ceph Enterprise
Red Hat Enterprise Linux OpenStack Platform on Inktank Ceph EnterpriseRed Hat Enterprise Linux OpenStack Platform on Inktank Ceph Enterprise
Red Hat Enterprise Linux OpenStack Platform on Inktank Ceph Enterprise
 
Gash Has No Privileges
Gash Has No PrivilegesGash Has No Privileges
Gash Has No Privileges
 

En vedette (7)

Cualidades del personal del futuro
Cualidades del personal del futuroCualidades del personal del futuro
Cualidades del personal del futuro
 
безсмертна пам’ять
безсмертна      пам’ятьбезсмертна      пам’ять
безсмертна пам’ять
 
Disturbios de aprendizagem
Disturbios de aprendizagemDisturbios de aprendizagem
Disturbios de aprendizagem
 
Four hands
Four handsFour hands
Four hands
 
Building data pipelines
Building data pipelinesBuilding data pipelines
Building data pipelines
 
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
 
Building a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe CrobakBuilding a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe Crobak
 

Similaire à Financial Portfolio Management with Java on Steroids - JAX Finance 2016

SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
Chester Chen
 

Similaire à Financial Portfolio Management with Java on Steroids - JAX Finance 2016 (20)

SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
 
Sql server scalability fundamentals
Sql server scalability fundamentalsSql server scalability fundamentals
Sql server scalability fundamentals
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Managing your black friday logs Voxxed Luxembourg
Managing your black friday logs Voxxed LuxembourgManaging your black friday logs Voxxed Luxembourg
Managing your black friday logs Voxxed Luxembourg
 
DotNet 2019 | Javier Cantón - Writing high performance code in NetCore 3.0
DotNet 2019 | Javier Cantón - Writing high performance code in NetCore 3.0DotNet 2019 | Javier Cantón - Writing high performance code in NetCore 3.0
DotNet 2019 | Javier Cantón - Writing high performance code in NetCore 3.0
 
Writing high performance code in NetCore 3.0
Writing high performance code in NetCore 3.0Writing high performance code in NetCore 3.0
Writing high performance code in NetCore 3.0
 
An introduction to column store indexes and batch mode
An introduction to column store indexes and batch modeAn introduction to column store indexes and batch mode
An introduction to column store indexes and batch mode
 
Chronix Poster for the Poster Session FAST 2017
Chronix Poster for the Poster Session FAST 2017Chronix Poster for the Poster Session FAST 2017
Chronix Poster for the Poster Session FAST 2017
 
NYJavaSIG - Big Data Microservices w/ Speedment
NYJavaSIG - Big Data Microservices w/ SpeedmentNYJavaSIG - Big Data Microservices w/ Speedment
NYJavaSIG - Big Data Microservices w/ Speedment
 
Apache IOTDB: a Time Series Database for Industrial IoT
Apache IOTDB: a Time Series Database for Industrial IoTApache IOTDB: a Time Series Database for Industrial IoT
Apache IOTDB: a Time Series Database for Industrial IoT
 
Agility and Scalability with MongoDB
Agility and Scalability with MongoDBAgility and Scalability with MongoDB
Agility and Scalability with MongoDB
 
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
 
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
 
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL
 
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
 
23 October 2013 - AWS 201 - A Walk through the AWS Cloud: Introduction to Ama...
23 October 2013 - AWS 201 - A Walk through the AWS Cloud: Introduction to Ama...23 October 2013 - AWS 201 - A Walk through the AWS Cloud: Introduction to Ama...
23 October 2013 - AWS 201 - A Walk through the AWS Cloud: Introduction to Ama...
 
MongoDB Sharding Webinar 2014
MongoDB Sharding Webinar 2014MongoDB Sharding Webinar 2014
MongoDB Sharding Webinar 2014
 
Avoiding big data antipatterns
Avoiding big data antipatternsAvoiding big data antipatterns
Avoiding big data antipatterns
 

Plus de aixigo AG

Plus de aixigo AG (8)

High Performance PMS - 1 Mio. Portfolios in weniger als 6 Minuten
High Performance PMS - 1 Mio. Portfolios in weniger als 6 MinutenHigh Performance PMS - 1 Mio. Portfolios in weniger als 6 Minuten
High Performance PMS - 1 Mio. Portfolios in weniger als 6 Minuten
 
EXEC 2017 - aixigos High Performance Technologie
EXEC 2017 - aixigos High Performance TechnologieEXEC 2017 - aixigos High Performance Technologie
EXEC 2017 - aixigos High Performance Technologie
 
FinovateEurope 2017 - aixigo high performance technology
FinovateEurope 2017 - aixigo high performance technologyFinovateEurope 2017 - aixigo high performance technology
FinovateEurope 2017 - aixigo high performance technology
 
Next Generation Customer
Next Generation CustomerNext Generation Customer
Next Generation Customer
 
Vermögensverwaltung - individuell und digital
Vermögensverwaltung - individuell und digitalVermögensverwaltung - individuell und digital
Vermögensverwaltung - individuell und digital
 
Digitale Vermögensverwaltung
Digitale VermögensverwaltungDigitale Vermögensverwaltung
Digitale Vermögensverwaltung
 
investify Presentation
investify Presentationinvestify Presentation
investify Presentation
 
aixigo AG API Banking – Motor für Fintech, Chance für die Etablierten?
aixigo AG API Banking – Motor für Fintech, Chance für die Etablierten?aixigo AG API Banking – Motor für Fintech, Chance für die Etablierten?
aixigo AG API Banking – Motor für Fintech, Chance für die Etablierten?
 

Dernier

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Financial Portfolio Management with Java on Steroids - JAX Finance 2016