Simulation Engine
A FULL SYSTEM SIMULATOR FOR DNA STORAGE
DNAssim
While Encoding and Decoding can be described by a set of equations, errors are not deterministic in nature, and must be modeled. Both Encoding and Decoding can be optimized if tailored to a specific noise model (i.e. a particular Synthesis/Sequencing technology). Because of the intrinsic statistical behavior of the noise, a simulator is required for figuring out the (non-linear) impact of different algorithms and strategies on the storage properties of synthetic DNA (especially, reliability): this is exactly what DNAssim (DNA storage simulator) does.
A FULL SYSTEM SIMULATOR FOR DNA STORAGE
Simulation Control Panel
DNAssim is a completely customizable simulator for vetting the impact of different encoding and decoding strategies, starting from a custom-defined noise model. A comprehensive Control Panel helps users to define each parameter of the simulation, thus enabling a full design exploration of the entire DNA storing process.
A FULL SYSTEM SIMULATOR FOR DNA STORAGE
Full integration with MongoDB®
Identifying the right Encoding/Decoding (or CODEC) strategy requires a huge amount of simulations, which must then be compared in terms of correction performances, computing power, complexity, etc.
As such, DNAssim is coupled to a MongoDB® database where all the relevant input/output simulations parameters are stored.
In this way, by simply querying the database, designers can easily retrieve the simulation results, thus enabling fast, efficient and sophisticated data analyses.
A FULL SYSTEM SIMULATOR FOR DNA STORAGE
Hardware/Software Co-Simulations
DNAssim enables a full design exploration of the Synthesis and Sequencing technologies in the context of storing digital information inside a DNA string. Because of the number and complexity of the steps involved in the DNA storing process, the number of simulations is huge and a “pure software” simulator can easily run out of gas. To overcome this limitation, at DNAalgo we developed a custom co-simulation (i.e. mix of hardware and software) platform: when functions are too slow in software, a team of senior hardware designers implement them into a piece of hardware, thus boosting the overall simulation speed.
A FULL SYSTEM SIMULATOR FOR DNA STORAGE
Acceleration through PCIe
PCIe-attached hardware is used to accelerate simulations. FPGAs (Field Programmable Gate Arrays) and GPUs (Graphics Processing Units) are great examples of high performance cards using the PCIe interface to communicate to the host PC/workstation/server. FPGAs and GPUs can co-exist in the same platform and they can both be instantiated multiple times.
FPGA or GPU? It depends on the specific computing function that needs to be accelerated (a deep dive on the associated math is definitely required).
“Information is the resolution of uncertainty”