  Many data structures support dictionaries, also known as maps or associative
arrays, which store and manage a set of key-value pairs. A \emph{multimap} is
generalization that allows multiple values to be associated with the same key.
For example, the inverted file data structure that is used prevalently in the
infrastructure supporting search engines is a type of multimap, where words are
used as keys and document pointers are used as values. We study the multimap
abstract data type and how it can be implemented efficiently online in external
memory frameworks, with constant expected I/O performance. The key technique
used to achieve our results is a combination of cuckoo hashing using buckets
that hold multiple items with a multiqueue implementation to cope with varying
numbers of values per key. Our external-memory results are for the standard
two-level memory model.
