User:Zxiao2/sandbox

A torus interconnect is a network topology for connecting processing nodes in a parallel computer system. It can be visualized as a mesh interconnect with nodes arranged in a rectilinear array of N = 2, 3, or more dimensions, with processors connected to their nearest neighbors, and corresponding processors on opposite edges of the array connected. The lattice has the topology of an N-dimensional torus and each node has 2N connections.

A number of supercomputers on the TOP500 list use three-dimensional torus networks, e.g. IBM's Blue Gene/L and Blue Gene/P, and the Cray XT3. IBM's Blue Gene/Q uses a five-dimensional torus network. Fujitsu's K computer and the PRIMEHPC FX10 use a proprietary six-dimensional torus interconnect called Tofu.

Visualization
Higher-dimensional arrays can't be directly visualized, but each higher dimension adds another pair of nearest neighbor connections to each node.
 * In a two-dimensional torus interconnect, the nodes are imagined laid out in a two-dimensional rectangular lattice of rows and columns, with each node connected to its 4 nearest neighbors, and corresponding nodes on opposite edges connected. The connection of opposite edges can be visualized by rolling the rectangular array into a "tube" to connect two opposite edges and then bending the "tube" into a torus to connect the other two.
 * In a three-dimensional torus interconnect the nodes are imagined in a three-dimensional lattice in the shape of a rectangular prism, with each node connected with its 6 neighbors, with corresponding nodes on opposing faces of the array connected.

While long wrap-around links may be the easiest way to visualize the connection topology, in practice, restrictions on cable lengths often make long wrap-around links impractical. Instead, directly connected nodes -- including nodes that the above visualization places on opposite edges of a grid, connected by a long wrap-around link -- are physically placed nearly adjacent to each other in a folded torus network. Every link in the folded torus network is very short -- almost as short as the nearest-neighbor links in a simple grid interconnect -- and therefore low-latency.

Company
Algolia was founded in 2012 by Nicholas Dessainge and Julien Lemoine, whom are originally from Paris, France. cite It was originally a company focused on offline search on mobile phones. Later it was selected to be part of Y Combinator's Winter 2014 class.

Starting with two data centres in Europe and the US, Algolia opened a third centre in Singapore in March 2014. and has now expanded to 47 locations across 15 worldwide regions. And it serves over 1,600 customers, handling 12 billion user queries per month. Those customers are among ecommerce, meduim and other fields, including DC Shoes, Medium and vevo. In May 2015, Algolia received 18.3 million dollars in a series A investment from a finantial froup led by Accel Partners. Since June 2016, the usage of Algolia by small websites is increasing profoundly.

Products and Services
The Algolia model provides search as a service, offering web search across a client's website using an externally hosted search engine.http://stackshare.io/posts/how-algolia-built-their-realtime-search-as-a-service-product Although in-site search has long been available from general web search providers such as Google, this is typically done as a subset of general web searching. The search engine crawls or spiders the web at large, including the client site, and then offers search features restricted to only that target site. This is a large and complex task, available only to large organisations at the scale of Google or Microsoft.

Algolia's product only indexes their clients' sites and so the search task is far simpler. Data for the client site is pushed from the client to Algolia via a RESTful JSON API, then the search box is added simply to the client's web pages. This search model is intended to give the performance and sophistication advantages of a full in-house search engine operating on the native web site back-end database, but with the simplicity of setup of using a site-restricted Google search.

Products
Algolia claim a number of advantages for their approach, including speed of response from searching a single site rather than the entire web. Moreover, as Algolia's search can be tailored to the client site, its known structure and its metadata facets, the search offered can be smarter and more site-specific than a generalised web text search. This improves the relevance of search results as searching may take the semantics of site content into account. A web site selling both puppies and dog clutches could avoid the search confusions and homonymy that bedevil the simple text-based search approaches.

Algolia emphasize on their ability to provide instantaneous, multi-platform and typo-tolerant features. Though Algolia's software is closed source, they engage in open source community to an extend. Some new and interesting products emerge from their community port . Two examples are Algolia Place and Algolia Document. and in document search.

API
Algolia provide their search service via various APIs, the Rest API provides basic features of search, analysis and monitoring. There are 10 supported languages and platforms for client usage. Supported languages include Python, Ruby, PHP, JavaScript, Java, Go, C#, Scala. And 2 mobile platforms iOS, Android are also supported. For better web usage, Algolia can be also intergrated with 4 frameworks, Rails, Symphony, Django and Laravel. For user interface, Algolia has a few UI libraries options to choose from.

Besides these products, Algolia also has integration with various other open source and thrid party software, including wordpress, Magento and Woo Com.

Infrastructure
Algolia documented an attempt to remove any single point of failure in the architecture and proposed a worldwide infrastructure called Distributed Search Network to efficiently reply to a search query from any location.

The DSN feature allows to set the locations in Algolia's network where the data should be duplicated. The API and queries are routed from the end-user’s browser or mobile application to the closest location in the network. This set up reduces latency for end users and improves availability for searches.

Competitors

 * Swiftype
 * Amazon AWS Cloud Search
 * Solr
 * Azure Search
 * Elasticsearch
 * Searchify
 * Qbox