@article{BaumanBolzHirschfeldetal.2015, author = {Bauman, Spenser and Bolz, Carl Friedrich and Hirschfeld, Robert and Kirilichev, Vasily and Pape, Tobias and Siek, Jeremy G. and Tobin-Hochstadt, Sam}, title = {Pycket: A Tracing JIT for a Functional Language}, series = {ACM SIGPLAN notices}, volume = {50}, journal = {ACM SIGPLAN notices}, number = {9}, publisher = {Association for Computing Machinery}, address = {New York}, issn = {0362-1340}, doi = {10.1145/2784731.2784740}, pages = {22 -- 34}, year = {2015}, abstract = {We present Pycket, a high-performance tracing JIT compiler for Racket. Pycket supports a wide variety of the sophisticated features in Racket such as contracts, continuations, classes, structures, dynamic binding, and more. On average, over a standard suite of benchmarks, Pycket outperforms existing compilers, both Racket's JIT and other highly-optimizing Scheme compilers. Further, Pycket provides much better performance for Racket proxies than existing systems, dramatically reducing the overhead of contracts and gradual typing. We validate this claim with performance evaluation on multiple existing benchmark suites. The Pycket implementation is of independent interest as an application of the RPython meta-tracing framework (originally created for PyPy), which automatically generates tracing JIT compilers from interpreters. Prior work on meta-tracing focuses on bytecode interpreters, whereas Pycket is a high-level interpreter based on the CEK abstract machine and operates directly on abstract syntax trees. Pycket supports proper tail calls and first-class continuations. In the setting of a functional language, where recursion and higher-order functions are more prevalent than explicit loops, the most significant performance challenge for a tracing JIT is identifying which control flows constitute a loop-we discuss two strategies for identifying loops and measure their impact.}, language = {en} } @book{GayvoronskayaMeinelSchnjakin2018, author = {Gayvoronskaya, Tatiana and Meinel, Christoph and Schnjakin, Maxim}, title = {Blockchain}, number = {113}, publisher = {Universit{\"a}tsverlag Potsdam}, address = {Potsdam}, isbn = {978-3-86956-394-7}, issn = {1613-5652}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:517-opus4-103141}, publisher = {Universit{\"a}t Potsdam}, pages = {109}, year = {2018}, abstract = {Der Begriff Blockchain ist in letzter Zeit zu einem Schlagwort geworden, aber nur wenige wissen, was sich genau dahinter verbirgt. Laut einer Umfrage, die im ersten Quartal 2017 ver{\"o}ffentlicht wurde, ist der Begriff nur bei 35 Prozent der deutschen Mittelst{\"a}ndler bekannt. Dabei ist die Blockchain-Technologie durch ihre rasante Entwicklung und die globale Eroberung unterschiedlicher M{\"a}rkte f{\"u}r Massenmedien sehr interessant. So sehen viele die Blockchain-Technologie entweder als eine Allzweckwaffe, zu der aber nur wenige einen Zugang haben, oder als eine Hacker-Technologie f{\"u}r geheime Gesch{\"a}fte im Darknet. Dabei liegt die Innovation der Blockchain-Technologie in ihrer erfolgreichen Zusammensetzung bereits vorhandener Ans{\"a}tze: dezentrale Netzwerke, Kryptographie, Konsensfindungsmodelle. Durch das innovative Konzept wird ein Werte-Austausch in einem dezentralen System m{\"o}glich. Dabei wird kein Vertrauen zwischen dessen Knoten (z.B. Nutzer) vorausgesetzt. Mit dieser Studie m{\"o}chte das Hasso-Plattner-Institut den Lesern helfen, ihren eigenen Standpunkt zur Blockchain-Technologie zu finden und dabei dazwischen unterscheiden zu k{\"o}nnen, welche Eigenschaften wirklich innovativ und welche nichts weiter als ein Hype sind. Die Autoren der vorliegenden Arbeit analysieren positive und negative Eigenschaften, welche die Blockchain-Architektur pr{\"a}gen, und stellen m{\"o}gliche Anpassungs- und L{\"o}sungsvorschl{\"a}ge vor, die zu einem effizienten Einsatz der Technologie beitragen k{\"o}nnen. Jedem Unternehmen, bevor es sich f{\"u}r diese Technologie entscheidet, wird dabei empfohlen, f{\"u}r den geplanten Anwendungszweck zun{\"a}chst ein klares Ziel zu definieren, das mit einem angemessenen Kosten-Nutzen-Verh{\"a}ltnis angestrebt werden kann. Dabei sind sowohl die M{\"o}glichkeiten als auch die Grenzen der Blockchain-Technologie zu beachten. Die relevanten Schritte, die es in diesem Zusammenhang zu beachten gilt, fasst die Studie f{\"u}r die Leser {\"u}bersichtlich zusammen. Es wird ebenso auf akute Fragestellungen wie Skalierbarkeit der Blockchain, geeigneter Konsensalgorithmus und Sicherheit eingegangen, darunter verschiedene Arten m{\"o}glicher Angriffe und die entsprechenden Gegenmaßnahmen zu deren Abwehr. Neue Blockchains etwa laufen Gefahr, geringere Sicherheit zu bieten, da {\"A}nderungen an der bereits bestehenden Technologie zu Schutzl{\"u}cken und M{\"a}ngeln f{\"u}hren k{\"o}nnen. Nach Diskussion der innovativen Eigenschaften und Probleme der Blockchain-Technologie wird auf ihre Umsetzung eingegangen. Interessierten Unternehmen stehen viele Umsetzungsm{\"o}glichkeiten zur Verf{\"u}gung. Die zahlreichen Anwendungen haben entweder eine eigene Blockchain als Grundlage oder nutzen bereits bestehende und weitverbreitete Blockchain-Systeme. Zahlreiche Konsortien und Projekte bieten „Blockchain-as-a-Service" an und unterst{\"u}tzen andere Unternehmen beim Entwickeln, Testen und Bereitstellen von Anwendungen. Die Studie gibt einen detaillierten {\"U}berblick {\"u}ber zahlreiche relevante Einsatzbereiche und Projekte im Bereich der Blockchain-Technologie. Dadurch, dass sie noch relativ jung ist und sich schnell entwickelt, fehlen ihr noch einheitliche Standards, die Zusammenarbeit der verschiedenen Systeme erlauben und an die sich alle Entwickler halten k{\"o}nnen. Aktuell orientieren sich Entwickler an Bitcoin-, Ethereum- und Hyperledger-Systeme, diese dienen als Grundlage f{\"u}r viele weitere Blockchain-Anwendungen. Ziel ist, den Lesern einen klaren und umfassenden {\"U}berblick {\"u}ber die Blockchain-Technologie und deren M{\"o}glichkeiten zu vermitteln.}, language = {de} }