Zusammenfassung


... [ Programmiersprachen und Sprachsysteme ] ... [ Cloud Haskell ] ... [ << Beispiel Anwendung ] ... [ Quellen >> ] ...

Aktueller Stand & TODOs


Die neu entwickelte Cloud Haskell Implementierung "distributed-process" implementiert alle im Paper "Towards Haskell in the Cloud" von Jeff Epstein, Andrew Black und Simon Peyton Jones beschriebenen Konzepte und bietet eine gut dokumentierte Schnittstelle für den Entwickler. Es handelt sich jedoch zum jetzigen Zeitpunkt der Implementation um reine Basis Funktionalität. High-level Frameworks, wie dem OTP-Framework aus Erlang bekannt, befinden sich zwar in der Entwicklung ("distributed-process-platform"), weisen aber eher einen experimentellen Stand auf. Das aus Erlang bekannte Konzept "Code hot swapping", welches es zur Laufzeit etwa ermöglicht, ein Software Update durchzuführen ohne den jeweiligen Serverprozess neu zu starten, sind in Haskell nicht möglich.
Es existieren zwei Backend Implementierungen, "SimpleLocalNet" und "Azure". Weitere befinden sich in der Entwicklung, weisen jedoch ebenfalls den Stand „experimentell“ auf. Bis eine GHC Erweiterung für den neu benötigten Built-in Typ Static erfolgt, sind während der Entwicklung weiterhin die Techniken bezogen auf Template Haskell aus dem Kapitel Serialisierung notwendig und können etwas umständlich erscheinen.


Performance


"Early Benchmarks" bezogen auf den Prozesslayer weisen bereits eine 4x geringere Latenzzeit, sowie ca. 200x höheren Durchsatz gegenüber dem ursprünglichen Prototyp auf. Dieses ist auf Grund des zuvor verwendeten synchronen Nachrichtenversands beim Prototyp zurückzuführen. Es fehlen aber nach aktuellem Stand Vergleiche mit anderen Systemen wie etwa Erlang, um tatsächliche Rückschlüsse folgern zu können. Laut Duncan Coutts und Edsko de Vries weist die aktuelle Implementation einen akzeptable Performance auf und eignet sich für ernstzunehmende Betrachtungen, jedoch noch nicht für den produktiven Einsatz.


... [ Programmiersprachen und Sprachsysteme ] ... [ Cloud Haskell ] ... [ << Beispiel Anwendung ] ... [ Quellen >> ] ...
generated by schmidt-doku-generator (GitHub)