AdaEurope 2013 - Berlin - Industrial Experience - Feedback on improving performance and scalability using multicore and distribution while preserving correctness
Feedback on improving a Smart Metering product performance and scalability using multi core and distribution while preserving its correctness.
David DHENAUX - SmartSide, France
David SAUVAGE - AdaLabs Ltd, Mauritius
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
More Related Content
Similar to AdaEurope 2013 - Berlin - Industrial Experience - Feedback on improving performance and scalability using multicore and distribution while preserving correctness
5 Ways to Reduce Costs While Modernizing Your InfrastructureITOutcomes
Similar to AdaEurope 2013 - Berlin - Industrial Experience - Feedback on improving performance and scalability using multicore and distribution while preserving correctness (20)
AWS Community Day CPH - Three problems of Terraform
AdaEurope 2013 - Berlin - Industrial Experience - Feedback on improving performance and scalability using multicore and distribution while preserving correctness
1. 1
Introduction FeedBack Demo Conclusion
Feedback on improving performance and scalability
using
while preserving correctness
David SAUVAGE
Software architect
David DHÉNAUX
Co-founder & CTO
Ada Europe 2013 - Berlin
2
David DHÉNAUX
Co-founder & CTO
David SAUVAGE
Software architect
Who are we ?
Introduction FeedBack Demo Conclusion
2. 3
Commercial
RésidentialPublic lightning
Renewable
Electric cars
Billing
Client management
Maintenance
10 000 data per second
• Collect
• Validate
• Analyze
• Restitute
• Visualize
• …
Smart Grid Systems need to manage huge amount of data
Introduction FeedBack Demo Conclusion
4
Critical system for utilities
MDMS needs high reliability…
…and high performances
Formal verification and proof secure our customers’ business
Smart Grid Systems need to manage huge amount of data
Introduction FeedBack Demo Conclusion
4. 7
Multi-Core
Introduction FeedBack Demo Conclusion
Ada provides an attractive semantic
but bad practices could lead to …
Code duplication
Tasking architecture rigidity
Test instabilities
8
Distribution with DSA
Introduction FeedBack Demo Conclusion
Amazing concept
but could lead to …
Behavior hiding (network, asynchronous)
Heavy impact on legacy code
5. 9
Our recommendations
Introduction FeedBack Demo Conclusion
Best practices
Add Separation of Concerns beetween
Business and Infrastructure Components
Manage Tasking and Distribution in the
Infrastructure Layer
10
Business component encapsulation
Introduction FeedBack Demo Conclusion
31
32 package Container is new Rachis.Components.Containers
33 (Label => "Business_Component",
34 Id => 2,
35 Policy => By_Pipeline_FIFO_Two_Task_Policy,
36 T_Capsule => Capsule);
37
38 pragma Remote_Call_Interface (Container);
39
1
2 type Capsule is new T_Capsule with null record;
3
4 overriding procedure Initialize (...)
5 -- ...
6
7 overriding procedure Process (...)
8 -- ...
9
BUSINESS
COMPONENT
BUSINESS
COMPONENT
CAPSULECAPSULE
CONTAINER