SlideShare a Scribd company logo
1 of 9
Download to read offline
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
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
5
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
6
Introduction FeedBack Demo Conclusion
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
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
11
Component containers cabling
Introduction FeedBack Demo Conclusion
40
41 Sensor.Link_To (Processor.Reference);
42
SENSOR
SENSOR
COMPONENT
SENSOR
COMPONENT
CAPSULECAPSULE
PROCESSOR
PROCESSOR
COMPONENT
PROCESSOR
COMPONENT
CAPSULECAPSULE
12
Data processing flow
Introduction FeedBack Demo Conclusion
43
44 Element.Set_Pipeline_Id (Hash);
45 Sensor.Process (Element);
46
Publish
SENSOR
SENSOR
COMPONENT
SENSOR
COMPONENT
CAPSULECAPSULE
PROCESSOR
PROCESSOR
COMPONENT
PROCESSOR
COMPONENT
CAPSULECAPSULE
Process
Process
Partition 3
13
Deployment flexibility
Introduction FeedBack Demo Conclusion
Partition 1
Processing
Manager
Processing
ManagerProcessing
Manager
Processing
ManagerProcessing
Manager
Processing
ManagerComponent
A
Component
A
Partition 2
Processing
Manager
Processing
ManagerComponent
B
Component
B
Component
D
Component
D
Processing
Manager
Processing
ManagerProcessing
Manager
Processing
ManagerComponent
C
Component
C
14
Introduction FeedBack Demo Conclusion
Partition 1 Partition 2
15
Introduction FeedBack Demo Conclusion
Data
Injector
Data
Injector
Processing
Manager
Processing
ManagerProcessing
Manager
Processing
ManagerProcessing
Manager
Processing
ManagerProcessing
Manager
Processing
Manager
Input Flow
Manager
Input Flow
Manager
16
• Make the framework formally proven
• Add more features (memory pools,…)
•Add dynamic behaviors
What’s next ?
Introduction FeedBack Demo Conclusion
17
Introduction FeedBack Demo Conclusion

More Related Content

Similar to AdaEurope 2013 - Berlin - Industrial Experience - Feedback on improving performance and scalability using multicore and distribution while preserving correctness

VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center VMworld
 
Continuous Delivery for Machine Learning
Continuous Delivery for Machine LearningContinuous Delivery for Machine Learning
Continuous Delivery for Machine LearningThoughtworks
 
Lns enablinga smartconnectedsupplychain
Lns enablinga smartconnectedsupplychainLns enablinga smartconnectedsupplychain
Lns enablinga smartconnectedsupplychainKaizenlogcom
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...Hendrik van Run
 
CaseStudy_4_Master
CaseStudy_4_MasterCaseStudy_4_Master
CaseStudy_4_MasterBrian Lawson
 
How Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDBHow Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDBMariaDB plc
 
Democratize Observability with Software Defined Packet Brokers
Democratize Observability with Software Defined Packet BrokersDemocratize Observability with Software Defined Packet Brokers
Democratize Observability with Software Defined Packet BrokersEnterprise Management Associates
 
VMworld 2016: The KISS of vRealize Operations!
VMworld 2016: The KISS of vRealize Operations! VMworld 2016: The KISS of vRealize Operations!
VMworld 2016: The KISS of vRealize Operations! VMworld
 
ETL Using Informatica Power Center
ETL Using Informatica Power CenterETL Using Informatica Power Center
ETL Using Informatica Power CenterEdureka!
 
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...Sebastian Verheughe
 
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...Neo4j
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIsCisco DevNet
 
IBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & Wieck
IBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & WieckIBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & Wieck
IBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & WieckIBM Events
 
MT49 Dell EMC XtremIO: Product Overview and New Use Cases
MT49 Dell EMC XtremIO: Product Overview and New Use CasesMT49 Dell EMC XtremIO: Product Overview and New Use Cases
MT49 Dell EMC XtremIO: Product Overview and New Use CasesDell EMC World
 
Emerson converged infrastructure (thermal-power-mgt.-security (gs)
Emerson   converged infrastructure (thermal-power-mgt.-security (gs)Emerson   converged infrastructure (thermal-power-mgt.-security (gs)
Emerson converged infrastructure (thermal-power-mgt.-security (gs)Greg Stover
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Codemotion
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the CloudBen Saunders
 
5 Ways to Reduce Costs While Modernizing Your Infrastructure
5 Ways to Reduce Costs While Modernizing Your Infrastructure5 Ways to Reduce Costs While Modernizing Your Infrastructure
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)

VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center
 
Continuous Delivery for Machine Learning
Continuous Delivery for Machine LearningContinuous Delivery for Machine Learning
Continuous Delivery for Machine Learning
 
Lns enablinga smartconnectedsupplychain
Lns enablinga smartconnectedsupplychainLns enablinga smartconnectedsupplychain
Lns enablinga smartconnectedsupplychain
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
 
CaseStudy_4_Master
CaseStudy_4_MasterCaseStudy_4_Master
CaseStudy_4_Master
 
How Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDBHow Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDB
 
SnappyFlow Presentation.pdf
SnappyFlow Presentation.pdfSnappyFlow Presentation.pdf
SnappyFlow Presentation.pdf
 
Democratize Observability with Software Defined Packet Brokers
Democratize Observability with Software Defined Packet BrokersDemocratize Observability with Software Defined Packet Brokers
Democratize Observability with Software Defined Packet Brokers
 
Mohideen Khader-122316
Mohideen Khader-122316Mohideen Khader-122316
Mohideen Khader-122316
 
VMworld 2016: The KISS of vRealize Operations!
VMworld 2016: The KISS of vRealize Operations! VMworld 2016: The KISS of vRealize Operations!
VMworld 2016: The KISS of vRealize Operations!
 
ETL Using Informatica Power Center
ETL Using Informatica Power CenterETL Using Informatica Power Center
ETL Using Informatica Power Center
 
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
 
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
Using Graph Databases in Real-Time to Solve Resource Authorization at Telenor...
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
IBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & Wieck
IBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & WieckIBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & Wieck
IBM InterConnect 2013 Expert Integrated Systems Keynote: Sotiropoulos & Wieck
 
MT49 Dell EMC XtremIO: Product Overview and New Use Cases
MT49 Dell EMC XtremIO: Product Overview and New Use CasesMT49 Dell EMC XtremIO: Product Overview and New Use Cases
MT49 Dell EMC XtremIO: Product Overview and New Use Cases
 
Emerson converged infrastructure (thermal-power-mgt.-security (gs)
Emerson   converged infrastructure (thermal-power-mgt.-security (gs)Emerson   converged infrastructure (thermal-power-mgt.-security (gs)
Emerson converged infrastructure (thermal-power-mgt.-security (gs)
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the Cloud
 
5 Ways to Reduce Costs While Modernizing Your Infrastructure
5 Ways to Reduce Costs While Modernizing Your Infrastructure5 Ways to Reduce Costs While Modernizing Your Infrastructure
5 Ways to Reduce Costs While Modernizing Your Infrastructure
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 Takeoffsammart93
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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 Scriptwesley chun
 
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 WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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?Antenna Manufacturer Coco
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
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
  • 3. 5 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 6 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
  • 6. 11 Component containers cabling Introduction FeedBack Demo Conclusion 40 41 Sensor.Link_To (Processor.Reference); 42 SENSOR SENSOR COMPONENT SENSOR COMPONENT CAPSULECAPSULE PROCESSOR PROCESSOR COMPONENT PROCESSOR COMPONENT CAPSULECAPSULE 12 Data processing flow Introduction FeedBack Demo Conclusion 43 44 Element.Set_Pipeline_Id (Hash); 45 Sensor.Process (Element); 46 Publish SENSOR SENSOR COMPONENT SENSOR COMPONENT CAPSULECAPSULE PROCESSOR PROCESSOR COMPONENT PROCESSOR COMPONENT CAPSULECAPSULE Process Process
  • 7. Partition 3 13 Deployment flexibility Introduction FeedBack Demo Conclusion Partition 1 Processing Manager Processing ManagerProcessing Manager Processing ManagerProcessing Manager Processing ManagerComponent A Component A Partition 2 Processing Manager Processing ManagerComponent B Component B Component D Component D Processing Manager Processing ManagerProcessing Manager Processing ManagerComponent C Component C 14 Introduction FeedBack Demo Conclusion
  • 8. Partition 1 Partition 2 15 Introduction FeedBack Demo Conclusion Data Injector Data Injector Processing Manager Processing ManagerProcessing Manager Processing ManagerProcessing Manager Processing ManagerProcessing Manager Processing Manager Input Flow Manager Input Flow Manager 16 • Make the framework formally proven • Add more features (memory pools,…) •Add dynamic behaviors What’s next ? Introduction FeedBack Demo Conclusion