SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Rust at Ather
Building smart and efficient EVs with Rust.
Because every ounce of memory matters
Need for Speed
一 Data generated by each scooter
per day ~ 1GB
一 Close to a half million trips taken
by the riders synced on cloud in
under 15 minutes
一 Number of sensors working
unison for creating intelligence -
50+
一 Trip planner, Smart Eco,
Theft-tow detection, Range
prediction, IMU data processing
and more
Talking about data at scale
VEHICLES ON
ROAD
70 k+
LONGEST RIDE
139 km
HOURS SPENT
RIDING
(PER DAY)
105000+
TRIPS
(PER DAY)
450,000
DISTANCE COVERED
(PER DAY)
1,500,000+
km
200+ Million
km ON ROAD
一 Latency in processing data on cloud v/s scooter
一 Limited hardware specs in existing models
一 2GB RAM
一 Quad Core 1.3GHz processor
一 Increased processing cost on cloud
一 Multiple microservices in the constrained hardware environment to control
the peripherals
一 Need for reducing the cost of hardware for overall reduction in the
Bill-of-Materials
一 Need for portability across processors and controllers for a variety of
applications
Where we hit a snag
Why we needed a change in tech stack
Problems we are after
一 Utilizing memory and CPU
efficiently on edge devices.
一 Add more intelligence on edge.
一 Processing data real time and
sending to cloud with minimal
latency
一 A framework that offers complete
memory security with guaranteed
performance.
Why Rust
一 Memory safety at compile time with
very little need for runtime
additions.
一 Lowers TAT of feature roll-out.
一 Good community with a lot of crates
readily available.
一 LLVM compiler infrastructure which
provides same optimizations as that
of C++.
一 Solves for microcontrollers from
memory management at compile
time.
一 Easy cross-compilation
Super secret Architecture Diagram
POC
In use
- Collects real time data generated by different peripherals.
- Crunch crunch
- de-serialise
- process(no complex operations)
- batch them in-memory
- serialise the data
- publish to cloud.
- Maintains a continuous MQTT connection to the cloud.
- We also use C code within rust for HSM related encryption.
Rust on our scooter
- ML packages available in Rust makes matrix & linear algebra computation
easier
- Performance with safety layer which is robust for embedded use cases
- More focus on model building than the reliability of the code
- Allows easier consumption of C-based algo (experimental)
Intelligence with Rust (In evaluation)
What do the tests say?
Some numbers
Language CPU Memory Execution(s)
Rust 70% 0.6mb 2.43
Go 78% 4.2mb 3.82
Python 100% 8mb 190.72
Test Setup
- RAM: 2GB
- Alg : Multiplication of two 9*9 matrices (because this closely relates to
our algs)
- Processor: Quad Core, single threaded, ARM
Some more numbers
Language CPU Memory
Rust 25% 0.4mb
Go 30% 2mb
Test Setup
- RAM: 2GB
- Use Case: ZMQ broker with 2000 messages/sec
- Processor: Quad Core, single threaded, ARM
Why does it all matter
- Our Rust application on the vehicle consumes about 3mb - 15mb of RAM.
- The application processes upto 2000 records / sec each ~1kb in size.
- executes 50% faster than Go.
- The memory consumed by Rust is at-least 40-50% lesser.
Future Scope
- Migrating more data processing applications on edge.
- Batch processing jobs to aid in data transformations at lower cost and infra.
- Real time processing of Big data on cloud using Rust
- Explore avenue for data conversion for data-lake - json to parquet etc.
- Evaluating scope of identifying least resource chip for cost saving while
moving applications to rust
- KataOS (for microcontrollers i.e. very less memory) to be explored for
memory efficient use-cases
Questions?
Rust at Ather

Weitere ähnliche Inhalte

Ähnlich wie Rust at Ather

142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...
142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...
142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...
Brian Carlson
 

Ähnlich wie Rust at Ather (20)

Stream Processing
Stream ProcessingStream Processing
Stream Processing
 
Engineering The New IP Transport
Engineering The New IP TransportEngineering The New IP Transport
Engineering The New IP Transport
 
IBM Power Systems at FIS InFocus 2019
IBM Power Systems at FIS InFocus 2019IBM Power Systems at FIS InFocus 2019
IBM Power Systems at FIS InFocus 2019
 
100 M pps on PC.
100 M pps on PC.100 M pps on PC.
100 M pps on PC.
 
5G and V2X Automotive Slicing
5G and V2X Automotive Slicing5G and V2X Automotive Slicing
5G and V2X Automotive Slicing
 
Embedded systems-unit-1
Embedded systems-unit-1Embedded systems-unit-1
Embedded systems-unit-1
 
Robotics technical Presentation
Robotics technical PresentationRobotics technical Presentation
Robotics technical Presentation
 
Numascale Product IBM
Numascale Product IBMNumascale Product IBM
Numascale Product IBM
 
David Soldani, Huawei
David Soldani, HuaweiDavid Soldani, Huawei
David Soldani, Huawei
 
ScaleConf 2015 - Tim Park - From Screens to Context (Connected Car)
ScaleConf 2015 - Tim Park - From Screens to Context (Connected Car)ScaleConf 2015 - Tim Park - From Screens to Context (Connected Car)
ScaleConf 2015 - Tim Park - From Screens to Context (Connected Car)
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
 
C010221015
C010221015C010221015
C010221015
 
2009-01-28 DOI NBC Red Hat on System z Performance Considerations
2009-01-28 DOI NBC Red Hat on System z Performance Considerations2009-01-28 DOI NBC Red Hat on System z Performance Considerations
2009-01-28 DOI NBC Red Hat on System z Performance Considerations
 
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
 
Ip so c-30sept2010
Ip so c-30sept2010Ip so c-30sept2010
Ip so c-30sept2010
 
142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...
142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...
142 - Enabling an Immersive Mobile Internet Experience with the ARM Cortex-A8...
 
Industry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solutionIndustry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solution
 
SNAP MACHINE LEARNING
SNAP MACHINE LEARNINGSNAP MACHINE LEARNING
SNAP MACHINE LEARNING
 
OMAP
OMAPOMAP
OMAP
 
CTIA 2010 Corporate Overview
CTIA 2010 Corporate OverviewCTIA 2010 Corporate Overview
CTIA 2010 Corporate Overview
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Rust at Ather

  • 1. Rust at Ather Building smart and efficient EVs with Rust. Because every ounce of memory matters
  • 2. Need for Speed 一 Data generated by each scooter per day ~ 1GB 一 Close to a half million trips taken by the riders synced on cloud in under 15 minutes 一 Number of sensors working unison for creating intelligence - 50+ 一 Trip planner, Smart Eco, Theft-tow detection, Range prediction, IMU data processing and more
  • 3. Talking about data at scale VEHICLES ON ROAD 70 k+ LONGEST RIDE 139 km HOURS SPENT RIDING (PER DAY) 105000+ TRIPS (PER DAY) 450,000 DISTANCE COVERED (PER DAY) 1,500,000+ km 200+ Million km ON ROAD
  • 4. 一 Latency in processing data on cloud v/s scooter 一 Limited hardware specs in existing models 一 2GB RAM 一 Quad Core 1.3GHz processor 一 Increased processing cost on cloud 一 Multiple microservices in the constrained hardware environment to control the peripherals 一 Need for reducing the cost of hardware for overall reduction in the Bill-of-Materials 一 Need for portability across processors and controllers for a variety of applications Where we hit a snag
  • 5. Why we needed a change in tech stack
  • 6. Problems we are after 一 Utilizing memory and CPU efficiently on edge devices. 一 Add more intelligence on edge. 一 Processing data real time and sending to cloud with minimal latency 一 A framework that offers complete memory security with guaranteed performance.
  • 7. Why Rust 一 Memory safety at compile time with very little need for runtime additions. 一 Lowers TAT of feature roll-out. 一 Good community with a lot of crates readily available. 一 LLVM compiler infrastructure which provides same optimizations as that of C++. 一 Solves for microcontrollers from memory management at compile time. 一 Easy cross-compilation
  • 8. Super secret Architecture Diagram POC In use
  • 9. - Collects real time data generated by different peripherals. - Crunch crunch - de-serialise - process(no complex operations) - batch them in-memory - serialise the data - publish to cloud. - Maintains a continuous MQTT connection to the cloud. - We also use C code within rust for HSM related encryption. Rust on our scooter
  • 10. - ML packages available in Rust makes matrix & linear algebra computation easier - Performance with safety layer which is robust for embedded use cases - More focus on model building than the reliability of the code - Allows easier consumption of C-based algo (experimental) Intelligence with Rust (In evaluation)
  • 11. What do the tests say?
  • 12. Some numbers Language CPU Memory Execution(s) Rust 70% 0.6mb 2.43 Go 78% 4.2mb 3.82 Python 100% 8mb 190.72 Test Setup - RAM: 2GB - Alg : Multiplication of two 9*9 matrices (because this closely relates to our algs) - Processor: Quad Core, single threaded, ARM
  • 13. Some more numbers Language CPU Memory Rust 25% 0.4mb Go 30% 2mb Test Setup - RAM: 2GB - Use Case: ZMQ broker with 2000 messages/sec - Processor: Quad Core, single threaded, ARM
  • 14. Why does it all matter - Our Rust application on the vehicle consumes about 3mb - 15mb of RAM. - The application processes upto 2000 records / sec each ~1kb in size. - executes 50% faster than Go. - The memory consumed by Rust is at-least 40-50% lesser.
  • 15. Future Scope - Migrating more data processing applications on edge. - Batch processing jobs to aid in data transformations at lower cost and infra. - Real time processing of Big data on cloud using Rust - Explore avenue for data conversion for data-lake - json to parquet etc. - Evaluating scope of identifying least resource chip for cost saving while moving applications to rust - KataOS (for microcontrollers i.e. very less memory) to be explored for memory efficient use-cases