Making devices perform faster is always a challenge, but a challenge that drives us to develop the very best solutions. Recently Northforge was tasked with increasing the performance of a mission critical Cavium OCTEON® -based device by a factor of 3-4X – certainly a tall order.
To realize that magnitude of improvement, we calculated that the device needed to take advantage of new hardware acceleration libraries, but these typically operate in an environment that requires more memory than was available. The device is powered by a Cavium OCTEON® processor and has a small memory footprint design, with all software and the OS residing in 256MB of flash memory. Thus any changes we made had to fit into the available memory. Our new more efficient design was achieved by converting the existing applications to seamlessly use the Cavium OCTEON Application Development Kit (ADK), which allows them to take more advantage of the hardware acceleration features embedded in the OCTEON.
But no challenge is complete without some technological obstacles.
To garner the faster performance we had to migrate the device software to use the Cavium ADK so that we could make use of the latest acceleration libraries. Our challenge was that the standard ADK acceleration libraries only come with a full version of glibc, a C standard library which requires more memory than was available on the customer’s device Flash memory.
To solve this problem, Northforge modified the build implementation of the standard Cavium ADK to use a much smaller library, we choose to use uclibc instead of glibc, thus reducing the memory requirements while gaining access to the acceleration libraries. With this design modification and integration of uclibc into the Cavium ADK, we completely replaced glibc so that all device applications could continue to use the same APIs and we didn’t have to modify any of the other device software. Our new design along with the complete device system load, still fits within the 256MB flash storage limit of the device.
Northforge also developed drivers to bypass some kernel network processing steps and used the hardware acceleration in the Cavium OCTEON to gain even better performance.
The result: Overall performance has improved by 7 times, and a very happy customer!
Our Cavium Expertise
Working in partnership with your engineers, Northforge can ease the integration of Cavium products to complete your solution quickly and get your products to market faster. For some examples of how our expertise helped companies to increase performance and capacity, click here.