Myriad ist ein Toolkit für skalierbare parallele Datengeneratoren
Probleme, die sich mit der Generierung großer Mengen synthetischer Daten nach vorgegebenem Schema und statistischen Einschränkungen auseinandersetzen haben zunehmende Bedeutung, insbesondere für das Benchmarken und Testen von Systemen, die mit sehr großen Datenmengen umgehen müssen. Myriad versucht durch einen intuitiven Ansatz für die Spezifikation spezieller Datengeneratoren diesen Prozess zu erleichtern.
Datengeneratoren, die mit Hilfe des Myriad-Toolkits erzeugt werden können parallel in einer Shared-Nothing-Umgebung ausgeführt werden. Der Parallelisierungsansatz wird durch die mathematische Abbildung von Pseudozufallszahlengeneratoren (PRNG) in pseudozufällige Folgen mit benutzerdefiniertem Datentypen formal fundiert. Das parallele Ausführungsmodell basiert auf der horizontalen Partitionierung der generierten Datenfolgen. Die Laufzeitbibliothek führt zu diesem Zweck effiziente Seed-Skip-Operationen auf den zugrundeliegenden PRNGs aus, um die Startposition der Teilfolge für jeden Typ in jedem Knoten anzupassen.
Da die Zufallswerte von jedem Element einer Datenfolge ausschließlich von seiner Position abhängen, kann dieselbe Seed-Skip-Technik auch für die effiziente Realisierung unterschiedlicher Modelleinschränkungen zwischen referenzierten Elementpaaren eingesetzt werden. Betrachten wir als Beispiel ein einfaches Datenmodell, das zwei zufällige Sequenzen vom Typ MOVIE (mi) und Regisseur (di) und eine gerichtete Verbindung zwischen den beiden (MOVIE → DIRECTOR) definiert. Die Verbindung wird mittels eines Fremdschlüssel-Constraints von der Form m.directorid = d.id für jedes verknüpfte (mi, dj) Paar modelliert. Der von Myriad vorgeschlagene Seed-Skip-Ansatz ermöglicht das Sampling beliebiger Regisseure dj für jeden Film mi (wo die mi und dj enthaltenden Partitionen im Allgemeinen zu verschiedenen Knoten zugeordnet sind) - die Fremdschlüssel-Einschränkung kann dabei beim Generieren der Filme lokal durch Neuberechnung der dj.id Werte für die zufällig ausgewählten Regisseure realisiert werden.
Myriad wird im Rahmen des Stratosphere-Projekts von dem Fachgebiet Datenbanksysteme und Informationsmanagement der TU Berlin sowie dem IBM Center for Advanced Studies in Toronto entwickelt.