Note: This page is historical.

Current pages about Yenta are here. Please look at those pages first.

Yenta is still under active development, but this particular page is not. If you're interested in current research papers about Yenta, or obtaining a copy of Yenta, please start here instead.

This page is one of many that were written in late 1994 and early 1995, and are being preserved here for historical purposes. If you're viewing this page, you probably found it via an old link or are interested in the history of how Yenta came to be. These pages have not been actively maintained since 1995, so you'll find all sorts of older descriptions which may not match the current system, citations to old papers and old results, and so forth.

Does this situation [Lots of users,
one agent]
lead to growth like this? Quadratic growth,
or worse

-----

Scaling issues in multiuser agents

There are problems with scaling whenever one agent tries to serve multiple users; eventually, the user load will grow too great.

Agents such as Julia can sometimes avoid this because of their environment: In general, MUDs also scale badly with large numbers of users. This means that Julia never has to contend with a room of more than a handful of characters, or a database of more than a few thousand rooms or characters.

On the other hand, agents such as Ringo find this problem more difficult to avoid. As the number of users in Ringo's ratings database grows, the amount of work required to find a match grows proportionally. Further, as the number of users grows, the rate at which they make queries of the database grows, too. This quadratic growth will eventually exhaust almost any reasonable implementation unless steps are taken either to cluster groups of users together (so that the smaller numbers of clusters can be searched instead) or to distribute the application among multiple servers (which begs the question of how to do the distribution).

Other solutions have certainly been proposed and adopted. For example, hierarchical organization of the entities, as is done with resource records in the Internet domain name system or with newsgroup topics in the Usenet, can help to reduce the inherently quadratic problem into a logarithmic one. However, such approaches depend on some inherent organizational principle that is established in advance, which is neither always optimal nor always convenient (for example, consider the number of crossposted Usenet articles, a clear indication that single-inheritance hierarchies are not necessarily a good match to the underlying topic space).


Lenny Foner
Last modified: Thu Dec 8 23:58:50 1994