In Disney World verwenden sie ein System namens Fastpass , um eine zweite, kürzere Linie für beliebte Fahrten zu erstellen. Die Idee ist, dass Sie in der Standardzeile warten können, oft mit einer Wartezeit von mehr als einer Stunde, oder Sie können einen FastPass erhalten, mit dem Sie während eines bestimmten Zeitblocks (normalerweise ein paar Stunden später) zurückkehren und nur 10 warten können Minuten oder weniger. Mit einem FastPass können Sie jeweils nur auf eine Fahrt "warten".
Ich habe versucht, die Warteschlangentheorie hinter diesem Konzept herauszufinden, aber die einzige Erklärung, die ich gefunden habe, ist, dass sie dazu dient, Menschen aus den Reihen zu bringen und Dinge zu tun, die zusätzliche Einnahmen bringen (Einkaufen, Essen usw.).
Wurde FastPass aus diesem Grund implementiert oder gibt es ein echtes Problem mit der Besuchereffizienz, das es löst? Gibt es Softwareanwendungen, die eine ähnliche Logik angewendet haben? Gibt es Softwareanwendungen, die die eine ähnliche Logik anwenden sollten ?
Ein Teil des Problems, das ich bei der Implementierung von Ähnlichem in Software sehe, besteht darin, dass es darauf basiert, dass Benutzer ihre Warteschlange auswählen. Angesichts der schnelleren Wartezyklen in der Software würde eine gute Anwendung dieser Theorie erfordern, dass die Anwendung intelligent genug ist, um zu wissen, in welche Warteschlangen Personen basierend auf ihren Anforderungen gestellt werden müssen, ohne dass der Endbenutzer eine Auswahl treffen muss.
quelle
Antworten:
Die Fast-Pass-Linie erhöht natürlich nicht den Gesamtdurchsatz in einer bestimmten Fahrwarteschlange, hilft jedoch bei der Ressourcenplanung und Ressourcenzuweisung, bei der Personen und Fahrten die Ressourcen sind.
Wie ich bereits sagte, werden Sie für diese Fahrt keinen Gesamtdurchsatz mehr erzielen, aber es kann sein, dass Fahrten an anderer Stelle nicht ausreichend genutzt werden. Wenn Sie nun in der Lage sind, diese Fahrten sowie die Fahrten, auf die Sie warten müssen, zu fahren, können Sie die Gesamteffizienz des Parks steigern. Damit meine ich die Minimierung der Anzahl der Fahrten, die unter der Passagierkapazität liegen.
Wenn Sie Computerressourcen im Leerlauf haben und darauf warten, eine Aufgabe auszuführen, die möglicherweise lange dauert, ist es sinnvoll, diese Ressource in der Zwischenzeit für etwas anderes zu verwenden, oder? Aus dieser Perspektive ist es einfach.
quelle
Es geht um Akkumulation, nicht um Effizienz in der Warteschlange.
Fastpass funktioniert, weil es die einzelnen Elemente in der Warteschlange effizienter macht, etwas zu "konsumieren". Es ist nicht so sehr eine Warteschlange wie ein Prozessor, der auf die Ausführung von Anweisungen wartet, sondern vielmehr Leute, die in der Schlange auf Essen warten.
Bei Menschen in Disneyland können sie so ihren Spaß maximieren .
Denken Sie an einen Prozessor, der Anweisungen akzeptiert. Jeder Befehl wartet darauf, in der Warteschlange ausgeführt zu werden, um seine Aufgabe auszuführen. Ändern Sie es jetzt - stellen Sie sich vor, jeder Befehl wartet in der Schlange, um keinen Befehl auszuführen, sondern um etwas vom Prozessor zu erhalten - jedes Mal, wenn er einen Prozessor trifft, wird er mit einem goldenen Stern belohnt, und seine Aufgabe besteht darin, möglichst viele davon zu akkumulieren wie möglich.
Fastpass ist so, als würde man der Anweisung erlauben, an einen anderen Prozessor zu gehen, um dort einen goldenen Stern zu erhalten, bevor man zum Hauptprozessor zurückkehrt, um den goldenen Stern von ihm zu erhalten.
Im Falle von Nutzern in Disneyland sind sie daran interessiert, Spaß zu haben - Fahrerlebnisse zu sammeln. Der Fastpass ermöglicht eine Maximierung, indem der Benutzer eine andere Fahrt mit einer kürzeren Linie finden kann, sodass er in kürzerer Zeit mehr sammeln kann.
quelle
Ich habe FastPass ausprobiert und so sehe ich es:
Angenommen, Sie fahren mit einer erwarteten Wartezeit von 1 Stunde. Wenn Sie zu FastPass gehen, erhalten Sie einen zugewiesenen Zeitraum, in dem Ihnen der sofortige Eintritt garantiert ist. Es ist normalerweise nach mehr als 1 Stunde.
Wir haben FastPasses für die beliebten Fahrten erhalten und standen während dieser Zeit in Warteschlangen von 10 bis 15 m in der Warteschlange, sodass wir uns in der virtuellen FastPass-Warteschlange anstellen und zu drei Fahrten gehen können. Sie gaben uns auch extra ungezählte FastPasses für einige sehr unbeliebte Fahrten. Wenn wir diese verwenden würden, würden wir die populäreren Fahrten etwas entlasten und die sehr unbeliebten füllen.
Hier ist eine Grafik, in der die Zeit, die wir verbracht haben, mit der Option ohne Fastpass verglichen wird:
Es scheint mir eine gültige Warteschlangentheorie zu sein, die es ermöglicht, Ressourcen mit weniger erwarteten Wartezeiten auszuführen, während Ressourcen mit einer höheren erwarteten Wartezeit noch mehr verzögert werden.
quelle
Der FastPass implementiert grundsätzlich nicht blockierende Besucher mit einer Art Prioritätswarteschlange. Sie blockieren nicht, sie schlafen nicht, sie geben Geld aus. Es funktioniert, weil John es um 11:00 Uhr benutzt, Joe um 11:15 Uhr (oder 11:01 Uhr). Wenn nun jeder einen schnellen Pass hätte, wäre die reguläre Linie viel schneller, während die meisten Besucher mehr Geld für Essen und Geschenke ausgaben. Für Disney ist dies bis zu einem gewissen Grad der gewünschte Effekt.
Der Pass macht einige Annahmen und hat einige Einschränkungen. Es wird davon ausgegangen, dass Fastpass-Inhaber die Minderheit sind. Wenn sich dies ändert, müssten sie den Pass für mehrere Fahrten verwenden, oder Fastpass-Inhaber würden Geld ausgeben, während sie nur sehr wenige Personen in der regulären Linie sehen. Kontraproduktiv. Da nur eine Fahrt unterstützt wird, werden keine zwei Fastpass-Inhaber gleichzeitig nach derselben Fahrt fragen.
Wenn man bedenkt, dass Joe den Park verlassen könnte, bevor er an die Reihe kommt, müsste man sich eine Art Besucher-Futex einfallen lassen, um das System effizienter zu gestalten. Wenn Joe ging und John früh ankam, konnte John reiten. Außerdem würde John sich fragen, warum sein schneller Pass ihn nicht darüber informierte, dass er nn Minuten früher fahren könnte. Dort macht es wirklich Spaß. Was wäre, wenn Joe gehen würde, um Sonnencreme aus dem Auto zu holen, und zurückkehren würde? Immerhin ist er zwei Stunden entfernt, es sei denn, 200 weitere Personen vor ihm verließen den Park, während er blockierte (während er Sonnencreme bekam), eine Aufgabe, die nicht unterbrochen werden kann. In diesem Fall versetzen wir Joe in eine Art Festplattenschlaf oder in einen Ruhezustand, der nicht unterbrochen oder beendet werden kann. Er bekommt keine Signale, er fragt nichts ab, er ist aus dem Park.
Dies ist die Art von Theorie, die die praktische sperrenfreie Programmierung vorantreibt. Es ist genauso interessant wie das Problem der Speisephilosophen , in der Tat mehr.
Was Disney betrifft, ist dies kein Fehler, sondern ein Merkmal. Die Menschen neigen weniger dazu, den Park zu verlassen, während sie eher dazu neigen, Geld auszugeben.
quelle
In einer normalen Warteschlange können Sie nicht wirklich abschätzen, wie schnell Sie Ihre Fahrt bekommen. Sie sind nervös und denken manchmal daran, die Idee einfach fallen zu lassen.
Mit FastPass "wissen" Sie, dass die Fahrt in einem genau definierten Zeitraum stattfinden wird. Sie sind sich "sicher", wann dies passiert, und denken darüber nach, weniger oft aufzuhören. Sie gehen einkaufen und essen und kehren bei Bedarf zurück. Sie werden wahrscheinlich zurückkehren, da Sie sich im Voraus für die Fahrt beworben haben und sich verpflichtet fühlen. Joel Spolsky beschreibt eine ähnliche Verpflichtungsidee, die in Starbucks-Warteschlangen verwendet wird .
FastPass ist also eine Art Komfort sowohl für den Park als auch für die Besucher. Die Besucher sind mehr begeistert und der Park kann sie mehr verkaufen, während sie warten.
Nur ein Beispiel für gutes Social Engineering.
quelle
Ich denke in gewisser Weise könnte man dies mit einem asynchronen Programmiermodell vergleichen .
Sie fordern das System auf, eine Aktion auszuführen, und Sie werden später auf das Ergebnis zurückkommen.
Der große Unterschied besteht darin, dass Sie entweder angeben, welches Ereignis / welcher Rückruf nach Abschluss aufgerufen werden soll, oder dass Sie die Wartezeit zu einem Zeitpunkt eingeben müssen, zu dem Sie bereit sind zu warten. Ich habe keinen Mechanismus gesehen, der Ihnen sagt, dass Sie zu einem späteren Zeitpunkt wiederkommen und niedrigere Wartezeiten garantieren sollen.
quelle
Für mich scheint dies eine Prioritätswarteschlange zu sein .
Wenn man zum ersten Mal einen SpeedPass nimmt , erreicht man eine höhere Priorität. Beim Abspringen hat
general line queue
der SpeedPass eine höhere Priorität in der Warteschlange.Und wenn wir uns einig sind, dass dies eine Prioritätswarteschlange ist, ist die offensichtlichste Softwareimplementierung die Betriebssystemplanung
Geändert vom Scheduling-Wiki-Artikel:
quelle
Die FastPass-Idee scheint mir eine Lösung für Systeme zu sein, auf denen ich die Aufgaben 1 bis N ausführen muss, und basierend auf einigen Kenntnissen, die ich über mich selbst habe (bei Disney weiß ich vielleicht, dass meine Kinder gerne auf der Teststrecke fahren würden, während sie auf die warten Soarin 'FastPass-Zeitscheibe, um anzukommen) Ich könnte mich einplanen, in die' FastPass'-Warteschlange für Aufgabe N zu gehen und auch in die Standardwarteschlange für Aufgabe M zu gelangen. Dies würde funktionieren, wenn die Reihenfolge der Aufgabe nicht unbedingt wichtig ist und wo die Warteschlangenzeit war bekannt und ich konnte abschätzen, wie lange es dauern würde, Aufgabe M oder N zu erledigen. Ich bin mir nicht sicher, ob ich ein gutes reales Programmierbeispiel habe - ein Großteil unseres Denkens ist linearer Natur, und daher sind unsere Workflows in der Regel so .
quelle
Mit FastPass können Sie in mehreren Zeilen gleichzeitig warten. Sie können das Warten vermeiden, erhöhen jedoch die durchschnittliche Wartezeit, da die Leitungen effektiv länger werden.
Aber die meisten Leute haben nicht ihre ganze Zeit mit Fahrten verbracht. Einige Veranstaltungen, wie die Paraden, haben keine Wartezeit. Mit einem schnellen Pass können Sie zu mehr dieser No-Line- oder Short-Line-Events gehen, ohne auf so viele Long-Line-Fahrten verzichten zu müssen.
quelle
Mir fallen zwei Stellen ein, die sich in der Softwareentwicklung für mich ähnlich verhalten. Beides ist jedoch keine exakte Analogie, da beide erfordern
Das erste ist die asynchrone Programmierung. Wie bereits erwähnt , gibt es einige Unterschiede zwischen dem Async-Modell und dem Fastpass-Modell in Bezug auf die Wartezeit. Einige andere Programmiermodelle (z. B. Message Passing Interface) ) bieten Ihnen jedoch einige andere Optionen, die dem FastPass-Modell wahrscheinlich etwas näher kommen.
Insbesondere habe ich an die MPI_Gather-Methoden in MPI gedacht - sie verwenden ein Modell, das wahrscheinlich etwas näher liegt. Jede Funktion wird im Cluster verteilt, und dann können Sie collect vom Stamm aus aufrufen, um die aktuell verarbeiteten Daten abzurufen. Das Ziel ist das gleiche (alle weniger warten lassen [den Benutzer nicht blockieren] und herumlaufen, Daten ausgeben [oder verarbeiten]).
Der andere Ort, an dem ich eine Ähnlichkeit feststellen kann, sind erweiterte Threading-Programmiermodelle wie der neue Scheduler in der TPL . Einer der Hauptvorteile der in C # 4 enthaltenen TPL besteht darin, dass der Scheduler das Stehlen von Arbeit ermöglicht. Dies scheint mir eine klare Implementierung in Software zu sein, bei der versucht wird, die Linien dynamisch zu verschieben - was auf FastPass zurückgeht. Eines der schönen Dinge mit Fastpass ist, dass Sie weniger in der Schlange sitzen, mehr fahren und sich mehr bewegen. Mit TPL wird (hoffentlich) weniger blockiert und gewartet, da ein Thread, der seine Warteschlange beendet hat, Aufgaben aus anderen Warteschlangen stehlen kann.
quelle
Ein interessanter Aspekt von FastPass ist die Einführung eines Feedback-Kanals für Disney. Wenn Sie eine einzelne Linie haben, die fast immer darauf wartet, dass die Attraktion verfügbar wird, können Sie nicht viel tun, außer irgendwie zu messen, wie lange die Linie tagsüber in festen Zeitintervallen ist. Mit FastPass sammelt Disney Bedarfs- und Verkehrsdaten pro Attraktion in Echtzeit und ist bereits digitalisiert. Sie sollten sofort zum Mining in das Data Warehouse gehen.
Ich stimme eher zu, dass diejenigen, die FastPass als Ressourcenzuweisungssystem qualifizieren, mehr als als Ressourcenwarteschlangensystem. Eine andere Analogie wäre, jeden Disney-Kunden als Betriebssystemprozess zu behandeln, der ein Thread ist, bis ein Kunde einen FastPass abholt. Dies macht den Kunden zu einem 2-Thread-Prozess, der wie zuvor durch den Park fährt und einen weiteren Thread ausführt, der darauf wartet, dass er für eine bestimmte Ressource an der Reihe ist (FastPass-Attraktion). Durch das Zulassen mehrerer FastPasses für Benutzer (Prozesse) werden solche Prozesse multithreadingfähiger. Die Thread-Synchronisierung findet statt, wenn der Kunde endlich die FastPass-Attraktion erreicht, um sie zu genießen.
quelle
Die einzige Software-Analogie, die ich sehen kann, ist, dass diese Methode ein Überlaufen des Warteschlangenpuffers vermeidet. Wenn viele Clients alle versuchen, ungefähr zur gleichen Zeit zu einer Warteschlange hinzuzufügen, kann diese Warteschlange schnell voll werden. Wenn Clients aufgefordert werden, eine bestimmte Zeitspanne zu warten, müssen sie ihre (relativ) weniger Elemente lokal puffern, bevor sie zur Warteschlange hinzugefügt werden.
In den meisten anderen Fällen führt dies jedoch zu einem weniger effizienten Durchsatz, da die Warteschlange bei schlecht gewählten Wartezeiten knapp werden kann.
Versuchen Sie, eine Testanwendung zu schreiben, die Warteschlangen mit und ohne 'FastPass' unter verschiedenen Metriken verwendet und die Ergebnisse vergleicht - und lassen Sie uns wissen, wenn Sie etwas Interessantes finden! :) :)
quelle
Ich weiß nicht, wie es in Software angewendet wird. Aber das System hat definitiv seine Vorteile für Besucher: Sie können einen Fastpass für eine Fahrt haben und in der Zwischenzeit zu einer anderen Fahrt gehen, deren Warteschlange nicht so lang ist (oder, wie Sie sagen, einkaufen, essen usw.). Es war ein ziemlicher Lebensretter, als ich und meine Familie dort waren (obwohl es zugegebenermaßen die Nebensaison war).
quelle
Da es ausgenutzt wird , müsste man den Warteschlangenbenutzern vertrauen ;-)
quelle
Aus meiner Supply-Chain-Klasse ist der Aspekt der Warteschlange, der sofort zu mir kam, dass er Ihre wahrgenommene Wartezeit verkürzt, sodass es den Leuten nichts ausmacht, überhaupt zu warten. Ich glaube nicht, dass es die Hauptlinien verkürzt, aber es lindert die Angst von jemandem, in der regulären Linie zu warten, da sie wissen, dass sie, sobald sie von der Fahrt absteigen, gleich ein zweites Mal zurückkehren können (wenn sie ihren Fastpass haben) die Zeit ist sowieso abgelaufen).
Ich weiß, dass ich mit dem Fastpass viel mehr Fahrten fahren kann, obwohl ich nicht weiß, ob dies tatsächlich der Fall ist oder ob es nur eine clevere Neuformulierung meiner Wartezeit ist.
quelle
Ich denke, Sie haben dort den Hauptpunkt erreicht, aber Sie lassen es korporativer klingen, als es vielleicht verdient. Ich würde mich beim Einkaufen und Essen sicherlich lieber „virtuell anstellen“ als physisch in einer Schlange stehen.
Theoretisch könnte FastPass versuchen, mehr Personen zu Zeiten zu planen, in denen die natürliche Nachfrage geringer war. Das ist es, was Sie tun würden, um mehr Durchsatz aus einer echten geplanten Warteschlange herauszuholen. In der Praxis vermute ich jedoch, dass die Fahrten den größten Teil des Tages ziemlich ausgelastet sind, sodass hierdurch nur wenig Produktivität erzielt werden kann.
quelle
Es geht um die Ressourcenplanung für beliebte Fahrten sowie um die Möglichkeit, durch den Verkauf von Waren zusätzliche Einnahmen zu erzielen. Wenn Sie in einer Schlange warten, bedeutet dies, dass Sie nicht die Möglichkeit haben, mehr Geld auszugeben.
quelle
Es liegt im Interesse von Disney, seine Kunden zufrieden zu stellen. Während Merchandising sicherlich einen erheblichen Umsatz darstellt, ist es um ein Vielfaches wertvoller, Stammkunden zu gewinnen.
Wenn ich 150 Dollar für ein 1-Tages-Park-Hopper-Ticket bezahle und nur 10 Fahrten machen darf, weil die Warteschlangen so lang sind, würde ich fragen, ob diese Fahrten wirklich 15 Dollar pro Stück wert sind. Wenn es jedoch einen Weg für mich gibt, 30 Fahrten zu unternehmen, werde ich eine bessere Erfahrung machen, den Wert dieser Erfahrung weniger in Frage stellen und eher zurückkehren und Disneyland weitere 150 USD + Lebensmittel + Waren geben.
Vor FastPass war das einzige Unterscheidungsmerkmal zwischen meinen 10 und 30 Fahrten, wie voll der Park war. Dies ist ein häufiges Problem, das andere wünschenswerte Attraktionen auf andere Weise anzugehen versucht haben. Zum Beispiel wird das Northstar-Skigebiet in Tahoe die Anzahl der Liftkarten begrenzen, die sie an einem bestimmten Tag verkaufen (oder zumindest früher). Damit wird auch das Problem angegangen, jedoch auf eine Weise, die sich negativer auf den Umsatz auswirkt.
In der Software würde ein ähnliches Paradigma das Laden einer Webseite sein. In der Antike war dieser Prozess ein einziger Thread: Holen Sie sich den gesamten Inhalt, rendern Sie den gesamten Inhalt und zeigen Sie die Seite an. Mit zunehmendem Verkehr und zunehmenden Daten (insbesondere der Einbeziehung von Bildern) stand dieses Modell vor dem gleichen Problem wie Disneyland. Wenn es viele Bilder auf der Seite gäbe und das Laden lange dauern würde, würde ich nicht auf den Inhalt warten und mich möglicherweise nicht die Mühe machen, jemals wieder auf diese Site zurückzukehren.
Heutzutage werden Webseiten anders geladen. Der Inhalt wird zuerst geladen, gerendert und angezeigt, während ein anderer Thread die Bilder lädt, rendert und anzeigt. Dies verbessert die Benutzererfahrung erheblich und vorausgesetzt, es gibt wünschenswerte Inhalte, werde ich weiterhin auf die Website zurückkehren und meine wiederholten Seitenaufrufe in $$$ umwandeln.
quelle
Dies ähnelt in gewisser Hinsicht einem Echtzeit-Betriebssystem.
Einige Prozesse laufen schnell ab und werden als Echtzeit markiert.
Sie haben die Garantie, dass sie die Ressource innerhalb eines bestimmten Zeitraums erhalten. Sie können nicht in die Warteschlange springen, aber sie können hineinschieben! Während sie die Fahrt nicht nutzen, können andere Nicht-Echtzeit-Gäste sie nutzen.
-Alex
quelle
Das ist großartiges Zeug. Disney stellt im Wesentlichen zwei Warteschlangen mit linear niedrigeren Serviceraten in Abhängigkeit von der Anzahl der verteilten FASTpässe.
Die kurze FASTpass-Warteschlange kann als Warteschlange modelliert werden, die für eine kurze Wartezeit immer im Gleichgewicht ist. Wenn Sie die Warteschlange kurz halten, wird das Feedback zwischen den beiden Warteschlangen minimiert - was für die stochastische Modellierung gut ist. Die andere Warteschlange ist eine typische Warteschlange mit einer langsameren Servicerate.
Sollte das FASTpass-Kontingent jemals zu groß werden, würde sich natürlich ein Rückschlag zwischen den beiden Warteschlangen ergeben, was das System chaotisch macht und den Effekt von Warteschlangenmodellen zur Beschreibung der Ergebnisse minimiert.
Eine andere Strategie besteht darin, die Wartezeiten der Benutzer so gering wie möglich zu halten, da Fahrten nur nach Terminvereinbarung geplant werden. In diesem Fall handelt es sich um eine reine Batch-Warteschlange, die einfach zu optimieren ist. Ich denke nicht, dass das in den USA funktionieren würde. :-)
quelle
Sie fahren nicht mehr. Die Schlangen für unbeliebte Schlangen sind jetzt länger, weil mehr Leute Zeit auf ihnen töten, während sie darauf warten, dass ihre beliebten Fahrpässe reifen. Kapazität ist Kapazität.
"Twitter ist derzeit sehr beschäftigt. Bitte kommen Sie zwischen 15:00 und 15:15 Uhr zurück und wir garantieren, dass Sie Ihre Tweets in 5 Sekunden oder weniger erhalten."
quelle