For High Performance Software
NASA Mission Operations was tasked with porting their high-performance desktop software, that was previously written in the C programming language, to a programming language that would support the display of high-frequency, real-time telemetry and health data acquired from the International Space Station (ISS), onto tablet devices with limited processing power. NASA tested numerous solutions without success before turning to Modulus for help.
NASA required a solution that would process and display up to a half a billion data points per second on tablet devices.
The end product would need to allow NASA Mission Control to analyze telemetry and health data transferred in real-time from the ISS via satellite link.
In the past, NASA used high performance C programs to view and analyze data, however they required the exact same performance on tablet devices.
This posed design challenges because programs written in JavaScript for web and mobile applications typically cannot offer the greater performance as can programs written in C. In fact, JavaScript interpreters are typically written in C or C++.
JavaScript is a scripting language, not a native programming language. While there are ongoing efforts to make JavaScript run nearly as fast as a native language (such as asm.js), it is commonly known that generating highly efficient native code from a high level dynamic language such as JavaScript is extraordinarily difficult.
Without alternatives, we had to get creative.
For this project, our engineers designed and patented a method for compressing time-series data into a special format for graphical display, squeezing every last bit and byte out of every single CPU cycle possible. The project was a success and the final solution displays as much high-frequency data on a tablet as NASA had previously been displaying in their desktop software written in C, if not more! Next, we implemented our compression algorithm into our own charting library for insanely fast display of hundreds of millions of data points.
This project added to our portfolio of computationally intense, highly scalable, client-server applications. Modulus is excited to continue to push the envelope from "what is" to "what's possible".
The ISS is a space station in low Earth orbit. Now the largest artificial body in orbit, it can often be seen with the naked eye from Earth. The ISS consists of pressurized modules, external trusses, solar arrays and other components. The station serves as a microgravity and space environment research laboratory in which crew members conduct experiments in biology, human biology, physics, astronomy, meteorology and other fields.