SlideShare a Scribd company logo
1 of 34
Download to read offline
Higher SLA Satisfaction in Datacenters 
with Continuous Placement Constraints 
Huynh Tu Dang 
hdang@polytech.unice.fr 
Fabien Hermenier 
fabien.hermenier@unice.fr
SLA for a virtualised application
SLA for a virtualised application 
spread the replicas
SLA for a virtualised application 
performance guarantee
SLA for a virtualised application 
low latency
reconfiguration algorithm 
N2 
N3 
time 
SLA: spread(VM1, VM2) 
VM2 
VM1 
N1
reconfiguration algorithm 
N2 
N3 
time 
SLA: spread(VM1, VM2) 
sys-admin query: offline(N1) 
VM2 
VM2 
VM1 
VM1 
N1 
Reconfiguration 
process
reconfiguration algorithm 
N2 
N3 
time 
SLA: spread(VM1, VM2) 
sys-admin query: offline(N1) 
VM2 
VM2 
VM1 
VM1 
N1 
with discrete restrictions
Discrete restriction is not enough 
not an unpredictable situation, 
an algorithmic issue
Evaluating the reliability of discrete 
placement constraints 
• simulate a 256-server datacenter 
• running 350 HA webapp (5,200 VMs) 
• BtrPlace as the reconfiguration algorithm 
• 4 reconfiguration scenarios that mimic industrial use case 
• 100 instances per scenario
Studied constraints 
spread 
among 
splitAmong 
maxOnline 
singleResource 
Capacity 
replicas on distinct servers for fault 
tolerance 
DBs on a same edge-switch for a 
fast synchronisation. 
webapp split over 2 clusters 
for disaster recovery 
240 nodes online at maximum 
to fit licensing policy 
keep resource for hypervisor 
management operations
scenario 
vertical elasticity 
Tiers 1 
Tiers 2 
Tiers 3
scenario 
vertical elasticity 
Tiers 1 
Tiers 2 
Tiers 3
scenariohorizontal elasticity 
Tiers 1 
Tiers 2 
Tiers 3
scenariohorizontal elasticity 
Tiers 1 
Tiers 2 
Tiers 3
scenarioboot storm x 400
scenarioserver failure
Migrations lead to unanticipated 
Scenario Violated 
SLAs 
placements 
Actions 
VM Boot Migrate Node Boot Node Shutdown 
Vertical Elasticity 40.72 0% 99.99% 0.005% 0.005% 
Horizontal Elasticity 0.19 99.82% 0.18% 2.82% 0% 
Server Failure 29.56 61.29% 35.89% 2.82% 0% 
Boot Storm 0.35 98.57% 1.43% 0% 0%
Migrationstend to violate relative 
100 
75 
50 
25 
0 
Vertical 
Elasticity 
placement constraints 
performance loss 
Horizontal 
Elasticity 
Server 
Failure 
Boot 
Storm 
Violations 
spread among splitAmong maxOnline 
spof 
failure
Trading unreliable 
discrete constraints … 
spread(VM[1,2]) 
we addressed an 
assignment problem
… for safe 
continuous constraints 
spread(VM[1,2]) 
we must address 
a scheduling problem
Continuous placement constraints 
with
from discrete to continuous 
among|simpleAmong 
N1 
N2 N3 
N4 N5 
N6 
stay on a same partition by the end of 
the reconfiguration process
from discrete to continuous 
among|simpleAmong 
N1 
N2 N3 
N4 N5 
N6 
stay on a same partition by the end of 
the reconfiguration process
from discrete to continuous 
among|simpleAmong 
N1 
N2 N3 
N4 N5 
N6 
stay on a same partition by the end of 
the reconfiguration process
from discrete to continuous 
among|simpleAmong 
N1 
N2 N3 
N4 N5 
Disallow movements between partitions 
• basic knowledge of a reconfiguration process 
• still an assignment problem 
N6
from discrete to continuous 
among|simpleAmong 
N1 
N2 N3 
N4 N5 
Disallow movements between partitions 
• basic knowledge of a reconfiguration process 
• still an assignment problem 
N6
continuous spread 
discrete spread(VM[1,2]) ::= continuous spread(VM[1,2]) ::= 
allDi↵erent(dhost 
1 , dhost 
2 ) 
allDi↵erent(dhost 
1 , dhost 
2 ) ^ 
dhost 
1 = chost 
2 =) astart 
1 # aend 
2 ^ 
dhost 
2 = chost 
1 =) astart 
2 # aend 
1 
Disallow temporary overlapping 
• require to know this may happen 
• scheduling 101
continuous maxOnline 
discrete maxOnline(N[1..10], 7)::= 
continuous maxOnline(N[1..10], 7)::= 
X10 
i=1 
nqi 
 7 
8i 2 [1, 10], non 
i = 
⇢ 
0 if nq 
i = 1 
astart 
i otherwise 
noff 
i = 
⇢ 
max(T) if nq 
i = 0 
aend 
i otherwise 
i # t ^ noff 
8t 2 T, card({i|non 
i })  7 
scheduling 201 
detailed knowledge of a 
reconfiguration process 
harder to imagine, 
model & implement
Performance overhead 
5 10 20 50 100 
Duration (sec.) 
Solved instances 
discrete 
continuous 
0 20 40 60 80 100 
10 20 50 100 
Duration (sec.) 
Solved instances 
discrete 
continuous 
0 20 40 60 80 100 
0 20 40 60 80 100vertical elasticity 
discrete 
continuous 
5 10 20 50 100 200 
Duration (sec.) 
5 10 20 50 100 
Duration (sec.) 
Solved instances 
Solved instances 
discrete 
continuous 
0 20 40 60 80 100 boot storm 
horitzontal elasticity server failure
Performance overhead 
5 10 20 50 100 
Duration (sec.) 
Solved instances 
discrete 
continuous 
0 20 40 60 80 100 
10 20 50 100 
Duration (sec.) 
Solved instances 
discrete 
continuous 
0 20 40 60 80 100 
0 20 40 60 80 100vertical elasticity 
discrete 
continuous 
5 10 20 50 100 200 
Duration (sec.) 
5 10 20 50 100 
Duration (sec.) 
Solved instances 
Solved instances 
discrete 
continuous 
0 20 40 60 80 100 boot storm 
horitzontal elasticity server failure
Conclusions 
• discrete restriction is not enough 
• continuous restriction is a solution 
• a different view on the problem 
• challenging, but still possible to implement
Future Work 
• a broader range of constraints and objectives 
• reducing performance overhead 
• static analysis to detect un-necessary 
continuous constraints 
• controlled relaxation to handle hard situations
http://btrp.inria.fr 
open source, 20+ placement constraints, 
demo, tutorials, everything for reproducibility

More Related Content

Viewers also liked

Levels and trends in child malnutrition
Levels and trends in child malnutrition Levels and trends in child malnutrition
Levels and trends in child malnutrition UNICEF Data & Analytics
 
Horror Genre Conventions
Horror Genre ConventionsHorror Genre Conventions
Horror Genre Conventionsgeorgering
 
Shotlist- classroom location
Shotlist- classroom locationShotlist- classroom location
Shotlist- classroom locationdaisysadeh
 
10 steps to using video successsfully for your business
10 steps to using video successsfully for your business10 steps to using video successsfully for your business
10 steps to using video successsfully for your businessThe Farnham Hub
 
Branston Adams 17th October 2014
Branston Adams 17th October 2014Branston Adams 17th October 2014
Branston Adams 17th October 2014The Farnham Hub
 
Horror Conventions
Horror ConventionsHorror Conventions
Horror Conventionsgeorgering
 
Sex og samliv, samlivsformer
Sex og samliv, samlivsformerSex og samliv, samlivsformer
Sex og samliv, samlivsformerkemmit
 
Survey results analysis
Survey results analysis Survey results analysis
Survey results analysis daisysadeh
 
Research for Shoots - Video
Research for Shoots - VideoResearch for Shoots - Video
Research for Shoots - Videogeorgering
 
Online Portfolio
Online Portfolio Online Portfolio
Online Portfolio georgering
 
Recovered file 1
Recovered file 1Recovered file 1
Recovered file 1georgering
 

Viewers also liked (15)

Levels and trends in child malnutrition
Levels and trends in child malnutrition Levels and trends in child malnutrition
Levels and trends in child malnutrition
 
Horror Genre Conventions
Horror Genre ConventionsHorror Genre Conventions
Horror Genre Conventions
 
Shotlist- classroom location
Shotlist- classroom locationShotlist- classroom location
Shotlist- classroom location
 
10 steps to using video successsfully for your business
10 steps to using video successsfully for your business10 steps to using video successsfully for your business
10 steps to using video successsfully for your business
 
Yourprezi
YourpreziYourprezi
Yourprezi
 
Branston Adams 17th October 2014
Branston Adams 17th October 2014Branston Adams 17th October 2014
Branston Adams 17th October 2014
 
Testing
TestingTesting
Testing
 
Horror Conventions
Horror ConventionsHorror Conventions
Horror Conventions
 
Sex og samliv, samlivsformer
Sex og samliv, samlivsformerSex og samliv, samlivsformer
Sex og samliv, samlivsformer
 
Survey results analysis
Survey results analysis Survey results analysis
Survey results analysis
 
Yourprezi
YourpreziYourprezi
Yourprezi
 
Research for Shoots - Video
Research for Shoots - VideoResearch for Shoots - Video
Research for Shoots - Video
 
Online Portfolio
Online Portfolio Online Portfolio
Online Portfolio
 
Recovered file 1
Recovered file 1Recovered file 1
Recovered file 1
 
Quick review
Quick reviewQuick review
Quick review
 

Recently uploaded

IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024vaibhav130304
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Soroosh Khodami
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Andrea Goulet
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersEmilyJiang23
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...OnePlan Solutions
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfQ-Advise
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfkalichargn70th171
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfMehmet Akar
 

Recently uploaded (20)

IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 

Higher SLA Satisfaction in Datacenters with Continuous VM Placement Constraints

  • 1. Higher SLA Satisfaction in Datacenters with Continuous Placement Constraints Huynh Tu Dang hdang@polytech.unice.fr Fabien Hermenier fabien.hermenier@unice.fr
  • 2. SLA for a virtualised application
  • 3. SLA for a virtualised application spread the replicas
  • 4. SLA for a virtualised application performance guarantee
  • 5. SLA for a virtualised application low latency
  • 6. reconfiguration algorithm N2 N3 time SLA: spread(VM1, VM2) VM2 VM1 N1
  • 7. reconfiguration algorithm N2 N3 time SLA: spread(VM1, VM2) sys-admin query: offline(N1) VM2 VM2 VM1 VM1 N1 Reconfiguration process
  • 8. reconfiguration algorithm N2 N3 time SLA: spread(VM1, VM2) sys-admin query: offline(N1) VM2 VM2 VM1 VM1 N1 with discrete restrictions
  • 9. Discrete restriction is not enough not an unpredictable situation, an algorithmic issue
  • 10. Evaluating the reliability of discrete placement constraints • simulate a 256-server datacenter • running 350 HA webapp (5,200 VMs) • BtrPlace as the reconfiguration algorithm • 4 reconfiguration scenarios that mimic industrial use case • 100 instances per scenario
  • 11. Studied constraints spread among splitAmong maxOnline singleResource Capacity replicas on distinct servers for fault tolerance DBs on a same edge-switch for a fast synchronisation. webapp split over 2 clusters for disaster recovery 240 nodes online at maximum to fit licensing policy keep resource for hypervisor management operations
  • 12. scenario vertical elasticity Tiers 1 Tiers 2 Tiers 3
  • 13. scenario vertical elasticity Tiers 1 Tiers 2 Tiers 3
  • 18. Migrations lead to unanticipated Scenario Violated SLAs placements Actions VM Boot Migrate Node Boot Node Shutdown Vertical Elasticity 40.72 0% 99.99% 0.005% 0.005% Horizontal Elasticity 0.19 99.82% 0.18% 2.82% 0% Server Failure 29.56 61.29% 35.89% 2.82% 0% Boot Storm 0.35 98.57% 1.43% 0% 0%
  • 19. Migrationstend to violate relative 100 75 50 25 0 Vertical Elasticity placement constraints performance loss Horizontal Elasticity Server Failure Boot Storm Violations spread among splitAmong maxOnline spof failure
  • 20. Trading unreliable discrete constraints … spread(VM[1,2]) we addressed an assignment problem
  • 21. … for safe continuous constraints spread(VM[1,2]) we must address a scheduling problem
  • 23. from discrete to continuous among|simpleAmong N1 N2 N3 N4 N5 N6 stay on a same partition by the end of the reconfiguration process
  • 24. from discrete to continuous among|simpleAmong N1 N2 N3 N4 N5 N6 stay on a same partition by the end of the reconfiguration process
  • 25. from discrete to continuous among|simpleAmong N1 N2 N3 N4 N5 N6 stay on a same partition by the end of the reconfiguration process
  • 26. from discrete to continuous among|simpleAmong N1 N2 N3 N4 N5 Disallow movements between partitions • basic knowledge of a reconfiguration process • still an assignment problem N6
  • 27. from discrete to continuous among|simpleAmong N1 N2 N3 N4 N5 Disallow movements between partitions • basic knowledge of a reconfiguration process • still an assignment problem N6
  • 28. continuous spread discrete spread(VM[1,2]) ::= continuous spread(VM[1,2]) ::= allDi↵erent(dhost 1 , dhost 2 ) allDi↵erent(dhost 1 , dhost 2 ) ^ dhost 1 = chost 2 =) astart 1 # aend 2 ^ dhost 2 = chost 1 =) astart 2 # aend 1 Disallow temporary overlapping • require to know this may happen • scheduling 101
  • 29. continuous maxOnline discrete maxOnline(N[1..10], 7)::= continuous maxOnline(N[1..10], 7)::= X10 i=1 nqi  7 8i 2 [1, 10], non i = ⇢ 0 if nq i = 1 astart i otherwise noff i = ⇢ max(T) if nq i = 0 aend i otherwise i # t ^ noff 8t 2 T, card({i|non i })  7 scheduling 201 detailed knowledge of a reconfiguration process harder to imagine, model & implement
  • 30. Performance overhead 5 10 20 50 100 Duration (sec.) Solved instances discrete continuous 0 20 40 60 80 100 10 20 50 100 Duration (sec.) Solved instances discrete continuous 0 20 40 60 80 100 0 20 40 60 80 100vertical elasticity discrete continuous 5 10 20 50 100 200 Duration (sec.) 5 10 20 50 100 Duration (sec.) Solved instances Solved instances discrete continuous 0 20 40 60 80 100 boot storm horitzontal elasticity server failure
  • 31. Performance overhead 5 10 20 50 100 Duration (sec.) Solved instances discrete continuous 0 20 40 60 80 100 10 20 50 100 Duration (sec.) Solved instances discrete continuous 0 20 40 60 80 100 0 20 40 60 80 100vertical elasticity discrete continuous 5 10 20 50 100 200 Duration (sec.) 5 10 20 50 100 Duration (sec.) Solved instances Solved instances discrete continuous 0 20 40 60 80 100 boot storm horitzontal elasticity server failure
  • 32. Conclusions • discrete restriction is not enough • continuous restriction is a solution • a different view on the problem • challenging, but still possible to implement
  • 33. Future Work • a broader range of constraints and objectives • reducing performance overhead • static analysis to detect un-necessary continuous constraints • controlled relaxation to handle hard situations
  • 34. http://btrp.inria.fr open source, 20+ placement constraints, demo, tutorials, everything for reproducibility