We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Boosting simulation performance with Python

00:00

Formal Metadata

Title
Boosting simulation performance with Python
Subtitle
Simulating hours of robots' work in minutes
Title of Series
Number of Parts
130
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Our product uses a fleet of real (not virtual) robots to perform different tasks in a fulfillment warehouse. Simulation is an essential tool in this kind of product: it allows to perform regression tests and test new features without the need for real and expensive hardware, to compare the impact of different algorithms and optimizations, to inject failures, and more. Tasks performed by physical robots take time (movement over the warehouse, box lifting, etc.), but in simulation, where virtual robots are used, there is no need to wait all that time. I will describe our implementation of the Discrete-Event Simulation approach which allows us to simulate hours of real-life in minutes. Shortening simulation time improves the development process by providing faster feedback to developers and quicker CI and testing cycles. Another powerful advantage is a more deterministic simulation - using this approach, each component in the system gets equal opportunity (CPU time) in each time tick, which is not affected by the underlying machine that the simulation is running on. Also, it is possible to simulate any date and hour easily, and by that we wouldn't panic before the "Y2K bug". I will elaborate on some challenges we encountered: time leak of event-driven components, differences between dev and production environments and running a distributed simulation due to the transition to microservices.
Computer simulationRoboticsComputer simulationField (computer science)Computer architecturePhysical systemComputational geometrySoftware developerElectronic mailing listComputer scienceTouchscreenComputer animationMeeting/Interview
Computer simulationPhysical systemGraph (mathematics)Type theoryVideoconferencingExecution unitRoboticsPhysical systemSoftware bugComputer simulation2 (number)Asynchronous Transfer ModeINTEGRALDiscrete groupMultiplication signEvent horizonWorkstation <Musikinstrument>Software testingFloppy diskComputer animation
RobotComputer fontSimulationData Encryption StandardDistribution (mathematics)Military operationPhysical systemProcess (computing)Computer simulationFront and back endsOrder (biology)Linear regressionSoftware testingRegression analysisAlgorithmPoint cloudFormal verificationEvent horizonDiscrete groupOperations researchSequenceLibrary (computing)Software frameworkIntegrated development environmentRoboticsComputer simulationDiscrete groupEvent horizonGraph (mathematics)Library (computing)Client (computing)Software frameworkMultiplication signCodeSoftware testingIntegrated development environmentCASE <Informatik>Connectivity (graph theory)Term (mathematics)Ferry CorstenAreaAsynchronous Transfer ModeSet (mathematics)Uniform resource locatorState of matterMetreSoftwareSoftware developerComputer hardwareBitPhysical systemProduct (business)Computer virusQueue (abstract data type)Object (grammar)Web 2.0OrbitInformationProcess (computing)Computer configurationMereologySampling (statistics)WritingAlgorithmMathematical optimizationSimulationComplex systemOpen sourceReal numberReal-time operating systemFront and back endsPoint cloudThermal conductivityINTEGRALContinuous integrationOffice suiteLinear regressionConstructor (object-oriented programming)Operator (mathematics)Right angleAnalytic continuationMiniDiscOpen setComplex (psychology)2 (number)Floppy diskSoftware development kitDifferent (Kate Ryan album)
Hydraulic jumpRobotThread (computing)Parameter (computer programming)Asynchronous Transfer ModeSimulationNumberConnectivity (graph theory)Data Encryption StandardComputer simulationMultiplicationPhysical systemFront and back endsOrder (biology)Event horizonEuclidean vectorProcess (computing)System programmingQueue (abstract data type)Inheritance (object-oriented programming)Inclusion mapPermianQueue (abstract data type)Computer simulationMessage passingThread (computing)Physical systemRun time (program lifecycle phase)Software developerLaptopResultantState of matterCalculationDeterminismEvent horizonMultiplication signRoboticsProcess (computing)outputSoftware bugPatch (Unix)Functional (mathematics)TouchscreenSocial class2 (number)Letterpress printingView (database)ImplementationIterationCodeOperator (mathematics)Integrated development environmentGame theoryRegular graphConnectivity (graph theory)Parameter (computer programming)NumberAutomatic differentiationDiscrete groupAsynchronous Transfer ModeGraph (mathematics)Event-driven programmingSoftware testingFront and back endsUniform resource locatorVirtual machineReal-time operating systemMetreRandomizationPoint (geometry)Computer programmingSlide ruleComputer hardwareSystem callRight angleFlow separationComputer animation
Computer simulationCodeFunction (mathematics)TimestampImplementationModule (mathematics)Event horizonProduct (business)Computer simulationThread (computing)Front and back ends
Computer simulationCodeFunction (mathematics)TimestampImplementationModule (mathematics)Service (economics)Vapor barrierServer (computing)Process (computing)Client (computing)FreezingDependent and independent variablesProduct (business)Slide ruleService (economics)SynchronizationComputer simulationMessage passingDefault (computer science)Personal digital assistantExtension (kinesiology)Multiplication signFunctional (mathematics)TimestampFront and back endsServer (computing)Right anglePhysical systemModule (mathematics)MehrprozessorsystemShared memoryVapor barrierComputer animationProgram flowchart
ExistenceMessage passingService (economics)Computer simulationLibrary (computing)Physical systemLeakEvent horizonQueue (abstract data type)Data Encryption StandardSimulationMoment (mathematics)Vapor barrierExtension (kinesiology)Socket-SchnittstelleMultiplication signConnectivity (graph theory)ImplementationElectric generatorIntegrated development environmentOnline chatComputer hardwarePairwise comparisonTrailDiscrete groupZoom lensModule (mathematics)CASE <Informatik>Meeting/Interview
Transcript: English(auto-generated)