Vespa Product Updates, September 2019: Tensor Float Support, Reduced Memory Use for Text Attributes, Prometheus Monitoring Support, and Query Dispatch Integrated in Container
<p><a href="https://www.linkedin.com/in/kraune/">Kristian Aune</a>, Tech Product Manager, Verizon Media<br/></p><p>In the <a href="https://yahoodevelopers.tumblr.com/post/187128604568/vespa-product-updates-august-2019-bm25-rank">August Vespa product update</a>, we mentioned BM25 Rank Feature, Searchable Parent References, Tensor Summary Features, and Metrics Export. Largely developed by Yahoo engineers, <a href="https://github.com/vespa-engine/vespa">Vespa</a> is an open source big data processing and serving engine. It’s in use by many products, such as Yahoo News, Yahoo Sports, Yahoo Finance, and the Verizon Media Ad Platform. Thanks to feedback and contributions from the community, Vespa continues to grow.<br/></p><p><b></b></p><p>This month, we’re excited to share the following updates with you:</p><p><b></b></p><p><b>Tensor Float Support</b></p><p><b></b></p><p>Tensors now supports <i>float</i> cell values, for example <i>tensor<float>(key{}, x[100])</i>. Using the 32 bits float type cuts memory footprint in half compared to the 64 bits double, and can increase ranking performance up to 30%. Vespa’s <a href="https://www.tensorflow.org/">TensorFlow</a> and <a href="https://docs.vespa.ai/documentation/onnx.html">ONNX</a> integration now converts to float tensors for higher performance. <a href="https://docs.vespa.ai/documentation/reference/tensor.html#tensor-type-spec">Read more</a>.</p><p><b></b></p><p><b>Reduced Memory Use for Text Attributes</b> </p><p><b></b></p><p><a href="https://docs.vespa.ai/documentation/attributes.html">Attributes</a> in Vespa are fields stored in columnar form in memory for access during ranking and grouping. From Vespa 7.102, the <i>enum store</i> used to hold attribute data uses a set of smaller buffers instead of one large. This typically cuts static memory usage by 5%, but more importantly reduces peak memory usage (during background compaction) by 30%.</p><p><b></b></p><p><b>Prometheus Monitoring Support</b></p><p>Integrating with the <a href="https://prometheus.io">Prometheus</a> open source monitoring solution is now easy to do using the new interface to Vespa metrics. <a href="https://docs.vespa.ai/documentation/reference/metrics.html#prometheus-integration">Read more</a>.</p><p><b></b></p><p><b>Query Dispatch Integrated in Container</b></p><p>The Vespa query flow is optimized for multi-phase evaluation over a large set of search nodes. Since Vespa-7-109.10, the dispatch function is integrated into the Vespa Container process which simplifies the architecture with one less service to manage. <a href="https://docs.vespa.ai/documentation/querying-vespa.html">Read more</a>.</p><p>We welcome your <a href="https://github.com/vespa-engine/vespa/blob/master/CONTRIBUTING.md">contributions</a> and feedback (<a href="https://twitter.com/vespaengine">tweet</a> or <a href="mailto:info@vespa.ai">email</a>) about any of these new features or future improvements you’d like to request.</p>