Research
Some thoughts about my current research as a PhD student.
Currently, I am reading a lot interesting stuff, for instance:
- [2010,incollection] bibtex
S. Brunthaler, "Inline Caching Meets Quickening," , D’Hondt, T., Ed., Springer Berlin / Heidelberg, 2010, vol. 6183, pp. 429-451.@incollection{springerlink:10.1007/978-3-642-14107-2_21,
author = {Stefan Brunthaler},
booktitle = {ECOOP 2010 – Object-Oriented Programming},
editor = {Theo D’Hondt},
interhash = {a84a91507b8005ca7aea87409e3ab8c0},
intrahash = {b57f8b9e13589bf6524c4091b0c1e2f2},
note = {10.1007/978-3-642-14107-2_21},
pages = {429-451},
publisher = {Springer Berlin / Heidelberg},
series = {Lecture Notes in Computer Science},
title = {Inline Caching Meets Quickening},
url = {http://dx.doi.org/10.1007/978-3-642-14107-2_21},
volume = 6183, year = 2010, keywords = {bytecode interpreter optimization quickening},
added-at = {2010-08-19T13:36:52.000+0200},
isbn = {},
affiliation = {Technische Universität Wien Institut für Computersprachen Argentinierstraße 8 A-1040 Wien},
biburl = {http://www.bibsonomy.org/bibtex/2b57f8b9e13589bf6524c4091b0c1e2f2/gron} } - [5555,article] bibtex
M. Jørgensen and S. Grimstad, "The Impact of Irrelevant and Misleading Information on Software Development Effort Estimates: A Randomized Controlled Field Experiment," IEEE Transactions on Software Engineering, vol. 99, iss. 1, 5555.@article{10.1109/TSE.2010.78, address = {Los Alamitos, CA, USA},
author = {Magne Jørgensen and Stein Grimstad},
interhash = {bbb5cb66156b34cebdd1305ef9d3b3c7},
intrahash = {6682e79a700e18e6c30b09d6f1f5a665},
journal = {IEEE Transactions on Software Engineering},
number = 1, publisher = {IEEE Computer Society},
title = {The Impact of Irrelevant and Misleading Information on Software Development Effort Estimates: A Randomized Controlled Field Experiment},
url = {http://www.computer.org/portal/web/csdl/doi/10.1109/TSE.2010.78},
volume = 99, year = 5555, keywords = {Cost cocomo engineering estimation reliability},
added-at = {2010-08-16T14:43:59.000+0200},
issn = {0098-5589},
description = {The Impact of Irrelevant and Misleading Information on Software Development Effort Estimates: A Randomized Controlled Field Experiment},
biburl = {http://www.bibsonomy.org/bibtex/26682e79a700e18e6c30b09d6f1f5a665/gron},
doi = {10.1109/TSE.2010.78,} } - [2010,inproceedings] bibtex
K. Williams, J. McCandless, and D. Gregg, "Dynamic Interpretation for Dynamic Scripting Languages," in Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, New York, NY, USA, 2010, pp. 278-287.@inproceedings{Williams:2010:DID:1772954.1772993, address = {New York, NY, USA},
author = {Kevin Williams and Jason McCandless and David Gregg},
booktitle = {Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization},
interhash = {83f203366fc5862b459fbc1afb053dd9},
intrahash = {738d69a0ffd40148f2f172d37eba63d6},
pages = {278--287},
publisher = {ACM},
series = {CGO '10},
title = {Dynamic Interpretation for Dynamic Scripting Languages},
url = {/brokenurl#10.1145/1772954.1772993},
year = 2010, keywords = {AST Bytecode Flowgraph Interpretation Interpreter dynamic graph optimization speedup},
added-at = {2010-08-12T12:25:24.000+0200},
location = {Toronto, Ontario, Canada},
acmid = {1772993},
description = {Dynamic interpretation for dynamic scripting languages},
isbn = {978-1-60558-635-9},
numpages = {10},
biburl = {http://www.bibsonomy.org/bibtex/2738d69a0ffd40148f2f172d37eba63d6/gron},
doi = {10.1145/1772954.1772993},
abstract = {Dynamic scripting languages offer programmers increased flexibility by allowing properties of programs to be defined at run-time. Typically, program execution begins with an interpreter where type checks are implemented using conditional statements. Recent JIT compilers have begun removing run-time checks by specializing native code to program properties discovered at JIT time.This paper presents a novel intermediate representation for scripting languages that explicitly encodes types of variables. The dynamic representation is a flow graph, where each node is a specialized virtual instruction and each edge directs program flow based on control and type changes in the program. The interpreter thus performs specialized execution of whole programs. We present techniques for the efficient interpretation of our representation showing speed-ups of greater than 2x over static interpretation, with an average speed-up of approximately 1.3x.} } - [2010,inproceedings] bibtexS. Marr and T. D’Hondt, "Many-Core Virtual Machines: Decoupling Abstract from Concrete Concurrency," in Proc. of Splash 2010 – Poster, 2010.
@inproceedings{SplashPoster2010,
author = {Stefan Marr and Theo D'Hondt},
booktitle = {Proc. of Splash 2010 - Poster},
interhash = {dd6e347dcdbd2585fd2fb1b279369252},
intrahash = {6091ca37e1f2d7aa59f28574c5fdee04},
note = {(preliminary reference, to appear)},
title = {Many-Core Virtual Machines: Decoupling Abstract from Concrete Concurrency},
year = 2010, keywords = {ManyCore MeMyPublication MultiCore Poster SPLASH machines virtual},
added-at = {2010-08-04T16:41:12.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/26091ca37e1f2d7aa59f28574c5fdee04/gron},
month = {October},
abstract = {We propose to search for common abstractions for concurrency models to enable multi-language virtual machines to support a wide range of them. This would enable domain-specific solutions for concurrency problems. Furthermore, such an abstraction could improve portability of virtual machines to the vastly different upcoming many-core architectures.} } - [2010,inproceedings] bibtexS. Marr, "Encapsulation And Locality: A Foundation for Concurrency Support in Multi-Language Virtual Machines?," in Proc. of SPLASH 2010 – Doctoral Symposium, 2010.
@inproceedings{SplashDocSymp2010,
author = {Stefan Marr},
booktitle = {Proc. of SPLASH 2010 - Doctoral Symposium},
interhash = {0a2db296019a5c54a8711b76dd6fd06e},
intrahash = {e5fe09e96f5ebe54872732d142a04b89},
note = {(to appear)},
title = {Encapsulation And Locality: A Foundation for Concurrency Support in Multi-Language Virtual Machines?},
year = 2010, keywords = {Abstraction Concurrency ManyCore MeMyPublication Proposal VM},
added-at = {2010-08-04T16:40:28.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/2e5fe09e96f5ebe54872732d142a04b89/gron},
abstract = {We propose to search for common abstractions for different concurrency models to enable high-level language virtual machines to support a wide range of different concurrency models. This would enable domain-specific solutions for the concurrency problem. Furthermore, advanced knowledge about concurrency in the VM model will most likely lead to better implementation opportunities on top of the different upcoming many-core architectures. The idea is to investigate the concepts of encapsulation and locality to this end. Thus, we are going to experiment with different language abstractions for concurrency on top of a virtual machine, which supports encapsulation and locality, to see how language designers could benefit, and how virtual machines could optimize programs using these concepts.} } - [2010,article] bibtex
J. Larus and G. Hunt, "The Singularity System," Commun. ACM, vol. 53, iss. 8, pp. 72-79, 2010.@article{1787253, address = {New York, NY, USA},
author = {James Larus and Galen Hunt},
interhash = {423d6f177f02fa85811ccff51c100ac5},
intrahash = {2d69bcc2c567ddb47ef49f9cc3c852ca},
journal = {Commun. ACM},
number = 8, pages = {72--79},
publisher = {ACM},
title = {The Singularity System},
url = {http://portal.acm.org/citation.cfm?id=1787234.1787253&coll=portal&dl=ACM&CFID=2556208&CFTOKEN=60657410},
volume = 53, year = 2010, keywords = {Isolation OS OpertingSystem SIP Singularity encapsulation},
added-at = {2010-07-30T11:08:38.000+0200},
issn = {0001-0782},
description = {The Singularity system},
biburl = {http://www.bibsonomy.org/bibtex/22d69bcc2c567ddb47ef49f9cc3c852ca/gron},
doi = {10.1145/1787234.1787253},
abstract = {Safe, modern programming languages let Microsoft rethink the architectural trade-offs in its experimental operating system.} } - [2010,inproceedings] bibtexS. Adams and D. Ungar, "Lessons from LY: Integrating Ensembles, Adverbs, and Object-based Inheritance (working title)," in OOPSLA ’10: Proceeding of the 25th ACM SIGPLAN conference on Object oriented programming systems languages and applications, Onward! Short Paper Track, New York, NY, USA, 2010.
@inproceedings{LyLang, address = {New York, NY, USA},
author = {Sam Adams and David Ungar},
booktitle = {OOPSLA '10: Proceeding of the 25th ACM SIGPLAN conference on Object oriented programming systems languages and applications, Onward! Short Paper Track},
interhash = {8f69ee63b094deb5cea8463b0aa356e8},
intrahash = {ccebe71785c2b166c9377b344cd338ed},
note = {(to appear)},
publisher = {ACM},
title = {Lessons from LY: Integrating Ensembles, Adverbs, and Object-based Inheritance (working title)},
year = 2010, keywords = {concurrency design language ly non-determenism},
added-at = {2010-07-29T15:14:07.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/2ccebe71785c2b166c9377b344cd338ed/gron} } - [2006,inproceedings] bibtex
M. Aiken, M. Fähndrich, C. Hawblitzel, G. Hunt, and J. Larus, "Deconstructing Process Isolation," in MSPC ’06: Proceedings of the 2006 workshop on Memory system performance and correctness, New York, NY, USA, 2006, pp. 1-10.@inproceedings{1178599, address = {New York, NY, USA},
author = {Mark Aiken and Manuel F\"{a}hndrich and Chris Hawblitzel and Galen Hunt and James Larus},
booktitle = {MSPC '06: Proceedings of the 2006 workshop on Memory system performance and correctness},
interhash = {c3c2d063751f9b812ce4f1d842599a80},
intrahash = {5f16fa1e28cdbb88fe6bbc6c366468a1},
pages = {1--10},
publisher = {ACM},
title = {Deconstructing Process Isolation},
url = {http://portal.acm.org/citation.cfm?id=1178599},
year = 2006, keywords = {.NET CLI CLR Isolation Mircosoft Singularity VM encapsulation},
added-at = {2010-07-28T16:08:46.000+0200},
location = {San Jose, California},
description = {Deconstructing process isolation},
isbn = {1-59593-578-9},
biburl = {http://www.bibsonomy.org/bibtex/25f16fa1e28cdbb88fe6bbc6c366468a1/gron},
doi = {10.1145/1178597.1178599},
abstract = {Most operating systems enforce process isolation through hardware protection mechanisms such as memory segmentation, page mapping, and differentiated user and kernel instructions. Singularity is a new operating system that uses software mechanisms to enforce process isolation. A software isolated process (SIP) is a process whose boundaries are established by language safety rules and enforced by static type checking. SIPs provide a low cost isolation mechanism that provides failure isolation and fast inter-process communication.To compare the performance of Singularity's SIPs against traditional isolation techniques, we implemented an optional hardware isolation mechanism. Protection domains are hardware-enforced address spaces, which can contain one or more SIPs. Domains can either run at the kernel's privilege level or be fully isolated from the kernel and run at the normal application privilege level. With protection domains, we can construct Singularity configurations that are similar to micro-kernel and monolithic kernel systems. We found that hardware-based isolation incurs non-trivial performance costs (up to 25--33%) and complicates system implementation. Software isolation has less than 5% overhead on these benchmarks.The lower run-time cost of SIPs makes their use feasible at a finer granularity than conventional processes. However, hardware isolation remains valuable as a defense-in-depth against potential failures in software isolation mechanisms. Singularity's ability to employ hardware isolation selectively enables careful balancing of the costs and benefits of each isolation technique.} } - [2002,article] bibtex
M. B. Taylor, J. Kim, J. Miller, D. Wentzlaff, F. Ghodrat, B. Greenwald, H. Hoffman, P. Johnson, J. Lee, W. Lee, A. Ma, A. Saraf, M. Seneski, N. Shnidman, V. Strumpen, M. Frank, S. Amarasinghe, and A. Agarwal, "The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs," IEEE Micro, vol. 22, iss. 2, pp. 25-35, 2002.@article{10.1109/MM.2002.997877, address = {Los Alamitos, CA, USA},
author = {Michael Bedford Taylor and Jason Kim and Jason Miller and David Wentzlaff and Fae Ghodrat and Ben Greenwald and Henry Hoffman and Paul Johnson and Jae-Wook Lee and Walter Lee and Albert Ma and Arvind Saraf and Mark Seneski and Nathan Shnidman and Volker Strumpen and Matt Frank and Saman Amarasinghe and Anant Agarwal},
interhash = {43995e0dfbce86ad063cb5d5e1a5c919},
intrahash = {7dc0831a876c61e673c8184e49930ac1},
journal = {IEEE Micro},
number = 2, pages = {25-35},
publisher = {IEEE Computer Society},
title = {The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs},
url = {http://www.computer.org/portal/web/csdl/doi/10.1109/MM.2002.997877},
volume = 22, year = 2002, keywords = {CPU Chip Design Processor Raw Tile64 Tilera},
added-at = {2010-07-27T15:57:26.000+0200},
issn = {0272-1732},
description = {The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs},
biburl = {http://www.bibsonomy.org/bibtex/27dc0831a876c61e673c8184e49930ac1/gron},
doi = {10.1109/MM.2002.997877,} } - [2008,article] bibtexM. D. Hill and M. R. Marty, "Amdahl’s Law in the Multicore Era," Computer, vol. 41, iss. 7, pp. 33-38, 2008.
@article{AmdahlsLawInMulticore, address = {Los Alamitos, CA, USA},
author = {Mark D. Hill and Michael R. Marty},
interhash = {e04374d5093d95c165af31c079a34f13},
intrahash = {f3b5238c9d779c8878741086beed1dee},
journal = {Computer},
number = 7, pages = {33-38},
publisher = {IEEE Computer Society},
title = {Amdahl's Law in the Multicore Era},
volume = 41, year = 2008, keywords = {Design Heterogeneous Homogeneous ManyCore Me:ToRead MultiCore PhD Processor Space},
added-at = {2010-07-27T14:16:41.000+0200},
issn = {0018-9162},
description = {Amdahl's Law in the Multicore Era},
biburl = {http://www.bibsonomy.org/bibtex/2f3b5238c9d779c8878741086beed1dee/gron},
doi = {10.1109/MC.2008.209} } - [2008,inproceedings] bibtex
S. B. Wickizer, H. Chen, R. Chen, Y. Mao, F. Kaashoek, R. Morris, A. Pesterev, L. Stein, M. Wu, Y. Dai, Y. Zhang, and Z. Zhang, "Corey: An Operating System for Many Cores," in Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’08), San Diego, California, 2008.@inproceedings{corey:osdi08, address = {San Diego, California},
author = {Silas B. Wickizer and Haibo Chen and Rong Chen and Yandong Mao and Frans Kaashoek and Robert Morris and Aleksey Pesterev and Lex Stein and Ming Wu and Yuehua Dai and Yang Zhang and Zheng Zhang},
booktitle = {Proceedings of the 8th {USENIX} {S}ymposium on {O}perating {S}ystems {D}esign and {I}mplementation ({OSDI} '08)},
interhash = {28d18a7671bcab86bf646b6a03082b55},
intrahash = {d906a90b6d83dab777cd4a8b0a0ae1ad},
title = {Corey: An Operating System for Many Cores},
url = {http://www.usenix.org/events/osdi/tech/full\_papers/boyd-wickizer/boyd\_wickizer.pdf},
year = 2008, keywords = {Architecture Design ManyCore OS},
added-at = {2010-07-26T00:03:27.000+0200},
posted-at = {2008-12-08 19:28:50},
description = {CiteULike: Corey: An Operating System for Many Cores},
priority = {2},
biburl = {http://www.bibsonomy.org/bibtex/2d906a90b6d83dab777cd4a8b0a0ae1ad/gron},
citeulike-article-id = {3757886},
citeulike-linkout-0 = {http://www.usenix.org/events/osdi/tech/full\_papers/boyd-wickizer/boyd\_wickizer.pdf},
month = {December} } - [2009,inproceedings] bibtex
A. Baumann, P. Barham, P. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania, "The Multikernel: A New OS Architecture for Scalable Multicore Systems," in SOSP ’09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, New York, NY, USA, 2009, pp. 29-44.@inproceedings{1629579, address = {New York, NY, USA},
author = {Andrew Baumann and Paul Barham and Pierre-Evariste Dagand and Tim Harris and Rebecca Isaacs and Simon Peter and Timothy Roscoe and Adrian Sch\"{u}pbach and Akhilesh Singhania},
booktitle = {SOSP '09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles},
interhash = {abab40513e242d9c4cafb4de36bc736c},
intrahash = {f5e979ec87335853475b4f454225b00c},
pages = {29--44},
publisher = {ACM},
title = {The Multikernel: A New OS Architecture for Scalable Multicore Systems},
url = {http://portal.acm.org/citation.cfm?id=1629579&dl=ACM&coll=Portal&CFID=81562282&CFTOKEN=57727087},
year = 2009, keywords = {ManyCore MessageBased Messaging MultiCore OS},
added-at = {2010-07-25T23:40:06.000+0200},
location = {Big Sky, Montana, USA},
description = {The multikernel},
isbn = {978-1-60558-752-3},
biburl = {http://www.bibsonomy.org/bibtex/2f5e979ec87335853475b4f454225b00c/gron},
doi = {10.1145/1629575.1629579},
abstract = {Commodity computer systems contain more and more processor cores and exhibit increasingly diverse architectural tradeoffs, including memory hierarchies, interconnects, instruction sets and variants, and IO configurations. Previous high-performance computing systems have scaled in specific cases, but the dynamic nature of modern client and server workloads, coupled with the impossibility of statically optimizing an OS for all workloads and hardware variants pose serious challenges for operating system structures. We argue that the challenge of future multicore hardware is best met by embracing the networked nature of the machine, rethinking OS architecture using ideas from distributed systems. We investigate a new OS structure, the multikernel, that treats the machine as a network of independent cores, assumes no inter-core sharing at the lowest level, and moves traditional OS functionality to a distributed system of processes that communicate via message-passing.} } - [2005,inproceedings] bibtex
C. Click, G. Tene, and M. Wolf, "The Pauseless GC Algorithm," in VEE ’05: Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, New York, NY, USA, 2005, pp. 46-56.@inproceedings{1064988, address = {New York, NY, USA},
author = {Cliff Click and Gil Tene and Michael Wolf},
booktitle = {VEE '05: Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments},
interhash = {a18f41bd12bddbae6601dc630f847537},
intrahash = {bf5ddb95faa500429f75ee8ea92ec61d},
pages = {46--56},
publisher = {ACM},
title = {The Pauseless GC Algorithm},
url = {http://portal.acm.org/citation.cfm?id=1064988},
year = 2005, keywords = {Azul GC GarbageCollection Memory Pauseless Performance},
added-at = {2010-07-25T22:34:56.000+0200},
location = {Chicago, IL, USA},
description = {The pauseless GC algorithm},
isbn = {1-59593-047-7},
biburl = {http://www.bibsonomy.org/bibtex/2bf5ddb95faa500429f75ee8ea92ec61d/gron},
doi = {10.1145/1064979.1064988},
abstract = {Modern transactional response-time sensitive applications have run into practical limits on the size of garbage collected heaps. The heap can only grow until GC pauses exceed the response-time limits. Sustainable, scalable concurrent collection has become a feature worth paying for.Azul Systems has built a custom system (CPU, chip, board, and OS) specifically to run garbage collected virtual machines. The custom CPU includes a read barrier instruction. The read barrier enables a highly concurrent (no stop-the-world phases), parallel and compacting GC algorithm. The Pauseless algorithm is designed for uninterrupted application execution and consistent mutator throughput in every GC phase.Beyond the basic requirement of collecting faster than the allocation rate, the Pauseless collector is never in a "rush" to complete any GC phase. No phase places an undue burden on the mutators nor do phases race to complete before the mutators produce more work. Portions of the Pauseless algorithm also feature a "self-healing" behavior which limits mutator overhead and reduces mutator sensitivity to the current GC state.We present the Pauseless GC algorithm, the supporting hardware features that enable it, and data on the overhead, efficiency, and pause times when running a sustained workload.} } - [2010,inproceedings] bibtex
K. Barabash and E. Petrank, "Tracing Garbage Collection on Highly Parallel Platforms," in ISMM ’10: Proceedings of the 2010 international symposium on Memory management, New York, NY, USA, 2010, pp. 1-10.@inproceedings{1806653, address = {New York, NY, USA},
author = {Katherine Barabash and Erez Petrank},
booktitle = {ISMM '10: Proceedings of the 2010 international symposium on Memory management},
interhash = {e37d6b0e5f2f2b09c09945e2f83497da},
intrahash = {a14f4de80de1919bae2e66551faaf41e},
pages = {1--10},
publisher = {ACM},
title = {Tracing Garbage Collection on Highly Parallel Platforms},
url = {http://portal.acm.org/citation.cfm?id=1806651.1806653&coll=Portal&dl=GUIDE&CFID=98230158&CFTOKEN=87309692},
year = 2010, keywords = {GC GarbageCollection Heap Locality Me:ToRead Object Optimization Shape Trace},
added-at = {2010-07-25T22:24:38.000+0200},
location = {Toronto, Ontario, Canada},
description = {Tracing garbage collection on highly parallel platforms},
isbn = {978-1-4503-0054-4},
biburl = {http://www.bibsonomy.org/bibtex/2a14f4de80de1919bae2e66551faaf41e/gron},
doi = {10.1145/1806651.1806653},
abstract = {The pervasiveness of multiprocessor and multicore hardware and the rising level of available parallelism are radically changing the computing landscape. Can software deal with tomorrow's potential higher parallelism? In this paper we study this issue from the garbage collection perspective. In particular, we investigate the scalability of parallel heap tracing, which stands at the core of the garbage collection activity. Heap shapes can be sequential in nature, and prevent the collector from scaling the trace. We start by proposing the idealized trace utilization as a scalability measure for evaluating the scalability of a given heap shape. We then examine standard Java benchmarks and evaluate the existence of non-scalable object-graph shapes in their execution. Next, we propose and implement a prototype of garbage collection techniques that attempt to ameliorate the object-graph shape problem. Finally, we measure and report their efficacy.} } - [2001,inproceedings] bibtex
M. Paleczny, C. Vick, and C. Click, "The Java Hotspot(TM) Server Compiler," in JVM’01: Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium, Berkeley, CA, USA, 2001, pp. 1-1.@inproceedings{1267848, address = {Berkeley, CA, USA},
author = {Michael Paleczny and Christopher Vick and Cliff Click},
booktitle = {JVM'01: Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium},
interhash = {9c0d2a20b08b85e195e3019b59107145},
intrahash = {214ff02739029c4abfc259146a1c9fa5},
pages = {1--1},
publisher = {USENIX Association},
title = {The Java Hotspot(TM) Server Compiler},
url = {http://www.usenix.org/events/jvm01/full_papers/paleczny/paleczny.pdf},
year = 2001, keywords = {C2 Compiler Hotspot JVM Java Me:ToRead Optimization},
added-at = {2010-07-25T22:22:55.000+0200},
location = {Monterey, California},
description = {The java hotspotTM server compiler},
biburl = {http://www.bibsonomy.org/bibtex/2214ff02739029c4abfc259146a1c9fa5/gron},
abstract = {The Java HotSpotTM Server Compiler achieves improved asymptotic performance through a combination of object-oriented and classical-compiler optimizations. Aggressive inlining using class-hierarchy analysis reduces function call overhead and provides opportunities for many compiler optimizations.} } - [1995,inproceedings] bibtex
C. Click and M. Paleczny, "A simple graph-based intermediate representation," in IR ’95: Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations, New York, NY, USA, 1995, pp. 35-49.@inproceedings{202534, address = {New York, NY, USA},
author = {Cliff Click and Michael Paleczny},
booktitle = {IR '95: Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations},
interhash = {5b290bc7097668add5935072ac5ef466},
intrahash = {2965e974247356f884b8e70976d5db6d},
pages = {35--49},
publisher = {ACM},
title = {A simple graph-based intermediate representation},
url = {http://portal.acm.org/citation.cfm?id=202529.202534&coll=Portal&dl=GUIDE&CFID=98230158&CFTOKEN=87309692},
year = 1995, keywords = {Compiler IntermediateRepresentation Me:ToRead Optimization},
added-at = {2010-07-25T22:19:28.000+0200},
location = {San Francisco, California, United States},
description = {A simple graph-based intermediate representation},
isbn = {0-89791-754-5},
biburl = {http://www.bibsonomy.org/bibtex/22965e974247356f884b8e70976d5db6d/gron},
doi = {10.1145/202529.202534},
abstract = {We present a graph-based intermediate representation (IR) with simple semantics and a low-memory-cost C++ implementation. The IR uses a directed graph with labeled vertices and ordered inputs but unordered outputs. Vertices are labeled with opcodes, edges are unlabeled. We represent the CFG and basic blocks with the same vertex and edge structures. Each opcode is defined by a C++ class that encapsulates opcode-specific data and behavior. We use inheritance to abstract common opcode behavior, allowing new opcodes to be easily defined from old ones. The resulting IR is simple, fast and easy to use.} } - [2009,inproceedings] bibtex
F. Pizlo, L. Ziarek, and J. Vitek, "Real time Java on resource-constrained platforms with Fiji VM," in JTRES ’09: Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, New York, NY, USA, 2009, pp. 110-119.@inproceedings{1620421, address = {New York, NY, USA},
author = {Filip Pizlo and Lukasz Ziarek and Jan Vitek},
booktitle = {JTRES '09: Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems},
interhash = {9d9e4b5c89fe890b757b61ff0fdec079},
intrahash = {b42da0d53296d956d49f7f735cf45ca8},
pages = {110--119},
publisher = {ACM},
title = {Real time Java on resource-constrained platforms with Fiji VM},
url = {http://portal.acm.org/citation.cfm?id=1620405.1620421&coll=Portal&dl=GUIDE&CFID=98230158&CFTOKEN=87309692},
year = 2009, keywords = {Fiji Java Realtime VM Vitek},
added-at = {2010-07-25T22:16:09.000+0200},
location = {Madrid, Spain},
description = {Real time Java on resource-constrained platforms with Fiji VM},
isbn = {978-1-60558-732-5},
biburl = {http://www.bibsonomy.org/bibtex/2b42da0d53296d956d49f7f735cf45ca8/gron},
doi = {10.1145/1620405.1620421},
abstract = {Real-time Java is quickly emerging as a platform for building safety-critical embedded systems. The real-time variants of Java, including [8, 15], are attractive alternatives to Ada and C since they provide a cleaner, simpler, and safer programming model. Unfortunately, current real-time Java implementations have trouble scaling down to very hard real-time embedded settings, where memory is scarce and processing power is limited. In this paper, we describe the architecture of the Fiji VM, which enables vanilla Java applications to run in very hard environments, including booting on bare hardware with only very rudimentary operating system support. We also show that our minimalistic approach delivers comparable performance to that of server-class production Java Virtual Machine implementations.} } - [2010,inproceedings] bibtex
F. Pizlo, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, and J. Vitek, "Schism: fragmentation-tolerant real-time garbage collection," in PLDI ’10: Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation, New York, NY, USA, 2010, pp. 146-159.@inproceedings{1806615, address = {New York, NY, USA},
author = {Filip Pizlo and Lukasz Ziarek and Petr Maj and Antony L. Hosking and Ethan Blanton and Jan Vitek},
booktitle = {PLDI '10: Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation},
interhash = {a5f8f0f046da4a3f8738ba02fb2083f7},
intrahash = {af79ed907efb7618c991197eaf823e81},
pages = {146--159},
publisher = {ACM},
title = {Schism: fragmentation-tolerant real-time garbage collection},
url = {http://portal.acm.org/citation.cfm?id=1806596.1806615&coll=Portal&dl=GUIDE&CFID=98230158&CFTOKEN=87309692},
year = 2010, keywords = {Fragmentation GC GarbageCollection Me:ToRead RealTime SummerSchool Vitek},
added-at = {2010-07-25T22:15:25.000+0200},
location = {Toronto, Ontario, Canada},
description = {Schism},
isbn = {978-1-4503-0019-3},
biburl = {http://www.bibsonomy.org/bibtex/2af79ed907efb7618c991197eaf823e81/gron},
doi = {10.1145/1806596.1806615},
abstract = {Managed languages such as Java and C# are being considered for use in hard real-time systems. A hurdle to their widespread adoption is the lack of garbage collection algorithms that offer predictable space-and-time performance in the face of fragmentation. We introduce SCHISM/CMR, a new concurrent and real-time garbage collector that is fragmentation tolerant and guarantees time-and-space worst-case bounds while providing good throughput. SCHISM/CMR combines mark-region collection of fragmented objects and arrays (arraylets) with separate replication-copying collection of immutable arraylet spines, so as to cope with external fragmentation when running in small heaps. We present an implementation of SCHISM/CMR in the Fiji VM, a high-performance Java virtual machine for mission-critical systems, along with a thorough experimental evaluation on a wide variety of architectures, including server-class and embedded systems. The results show that SCHISM/CMR tolerates fragmentation better than previous schemes, with a much more acceptable throughput penalty.} } - [2009,inproceedings] bibtex
C. Click, "Java on 1000 Cores: Tales of Hardware/Software Co-Design," in Proceedings of the 23rd European Conference on Object-Oriented Programming, Berlin, Heidelberg, 2009, pp. 444-444.@inproceedings{1615212, address = {Berlin, Heidelberg},
author = {Cliff Click},
booktitle = {Proceedings of the 23rd European Conference on Object-Oriented Programming},
interhash = {da7a1d66924854dd17f5d55adf6ee74d},
intrahash = {0cf907ac91a64d52ccf48a840b93d60e},
pages = {444--444},
publisher = {Springer-Verlag},
title = {Java on 1000 Cores: Tales of Hardware/Software Co-Design},
url = {http://portal.acm.org/citation.cfm?id=1615184.1615212&coll=Portal&dl=GUIDE&CFID=98230158&CFTOKEN=87309692},
year = 2009, keywords = {Azul Java Talk},
added-at = {2010-07-25T22:10:46.000+0200},
location = {Italy},
description = {Java on 1000 Cores},
isbn = {978-3-642-03012-3},
biburl = {http://www.bibsonomy.org/bibtex/20cf907ac91a64d52ccf48a840b93d60e/gron},
doi = {10.1007/978-3-642-03013-0_20},
abstract = {Azul Systems designs and builds systems for running business logic applications written in Java. Unlike scientific computing, business logic code tends to be very large and complex (> 1MLOC is *common*), display very irregular data access patterns, and make heavy use of threads and locks. The common unit of parallelism is the transaction or thread-level task. Business logic programs tend to have high allocation rates which scale up with the amount of work accomplished, and they are sensitive to Garbage Collection max-pause-times. Typical JVM implementations for heaps greater than 4 Gigabytes have unacceptable pause times and this forces many applications to run clustered.} } - [1981,article] bibtexP. L. Deutsch, "Building Control Structures in the Smalltalk-80 System," BYTE Magazine Special Issue on Smalltalk, vol. 6, iss. 8, pp. 322-346, 1981.
@article{DeutschByte81,
author = {L. Peter Deutsch},
interhash = {5ee427c0ca332c27ee7113b318efb9e1},
intrahash = {5e0424c1ac430c5827956f6993ed3e58},
journal = {BYTE Magazine Special Issue on Smalltalk},
number = 8, pages = {322-346},
title = {Building Control Structures in the Smalltalk-80 System},
volume = 6, year = 1981, keywords = {ControlStructures Smalltalk},
added-at = {2010-07-25T21:50:36.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/25e0424c1ac430c5827956f6993ed3e58/gron} }
My Publications
- [2010,inproceedings] bibtexS. Marr and T. D’Hondt, "Many-Core Virtual Machines: Decoupling Abstract from Concrete Concurrency," in Proc. of Splash 2010 – Poster, 2010.
@inproceedings{SplashPoster2010,
author = {Stefan Marr and Theo D'Hondt},
booktitle = {Proc. of Splash 2010 - Poster},
interhash = {dd6e347dcdbd2585fd2fb1b279369252},
intrahash = {6091ca37e1f2d7aa59f28574c5fdee04},
note = {(preliminary reference, to appear)},
title = {Many-Core Virtual Machines: Decoupling Abstract from Concrete Concurrency},
year = 2010, keywords = {ManyCore MeMyPublication MultiCore Poster SPLASH machines virtual},
added-at = {2010-08-04T16:41:12.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/26091ca37e1f2d7aa59f28574c5fdee04/gron},
month = {October},
abstract = {We propose to search for common abstractions for concurrency models to enable multi-language virtual machines to support a wide range of them. This would enable domain-specific solutions for concurrency problems. Furthermore, such an abstraction could improve portability of virtual machines to the vastly different upcoming many-core architectures.} } - [2010,inproceedings] bibtexS. Marr, "Encapsulation And Locality: A Foundation for Concurrency Support in Multi-Language Virtual Machines?," in Proc. of SPLASH 2010 – Doctoral Symposium, 2010.
@inproceedings{SplashDocSymp2010,
author = {Stefan Marr},
booktitle = {Proc. of SPLASH 2010 - Doctoral Symposium},
interhash = {0a2db296019a5c54a8711b76dd6fd06e},
intrahash = {e5fe09e96f5ebe54872732d142a04b89},
note = {(to appear)},
title = {Encapsulation And Locality: A Foundation for Concurrency Support in Multi-Language Virtual Machines?},
year = 2010, keywords = {Abstraction Concurrency ManyCore MeMyPublication Proposal VM},
added-at = {2010-08-04T16:40:28.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/2e5fe09e96f5ebe54872732d142a04b89/gron},
abstract = {We propose to search for common abstractions for different concurrency models to enable high-level language virtual machines to support a wide range of different concurrency models. This would enable domain-specific solutions for the concurrency problem. Furthermore, advanced knowledge about concurrency in the VM model will most likely lead to better implementation opportunities on top of the different upcoming many-core architectures. The idea is to investigate the concepts of encapsulation and locality to this end. Thus, we are going to experiment with different language abstractions for concurrency on top of a virtual machine, which supports encapsulation and locality, to see how language designers could benefit, and how virtual machines could optimize programs using these concepts.} } - [2010,inproceedings] bibtexM. Haupt, R. Hirschfeld, T. Pape, G. Gabrysiak, S. Marr, A. Bergmann, A. Heise, M. Kleine, and R. Krahn, "The SOM Family: Virtual Machines for Teaching and Research," in Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), 2010, pp. 18-22.
@inproceedings{SOMFamily,
author = {Michael Haupt and Robert Hirschfeld and Tobias Pape and Gregor Gabrysiak and Stefan Marr and Arne Bergmann and Arvid Heise and Matthias Kleine and Robert Krahn},
booktitle = {Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE)},
interhash = {60d5f63bfbb8aad1fddc8fedff16c905},
intrahash = {71f674a8a2bc44dd50dbe7ac9b4be344},
pages = {18--22},
publisher = {ACM Press},
title = {The SOM Family: Virtual Machines for Teaching and Research},
year = 2010, keywords = {CSOM MeMyPublication SOM Teaching VM},
added-at = {2010-07-06T13:06:37.000+0200},
location = {Bilkent, Ankara, Turkey},
isbn = {978-1-60558-729-5},
biburl = {http://www.bibsonomy.org/bibtex/271f674a8a2bc44dd50dbe7ac9b4be344/gron},
doi = {10.1145/1822090.1822098},
abstract = {This paper introduces the SOM (Simple Object Machine) family of virtual machine (VM) implementations. Starting from a Java-based implementation, several ports of the VM to different programming languages have been developed and put to successful use in teaching at both undergraduate and graduate levels since 2006. Moreover, the VMs have been used in various research projects. We document the rationale behind each of the SOM VMs and results that have been achieved in teaching and research.} } - [2010,inproceedings] bibtexS. Marr, S. Verhaegen, B. D. Fraine, T. D’Hondt, and W. D. Meuter, "Insertion Tree Phasers: Efficient and Scalable Barrier Synchronization for Fine-grained Parallelism," in Proceedings of the 12th IEEE International Conference on High Performance Computing and Communications, 2010.
@inproceedings{InsertionTreePhasers,
author = {Stefan Marr and Stijn Verhaegen and Bruno De Fraine and Theo D'Hondt and Wolfgang De Meuter},
booktitle = {Proceedings of the 12th IEEE International Conference on High Performance Computing and Communications},
interhash = {db46bfb816422a5055237a1b387e3dfe},
intrahash = {e0e488ee39b6fcbeedb6f7d221df958a},
note = {(to appear)},
publisher = {IEEE CS},
title = {Insertion Tree Phasers: Efficient and Scalable Barrier Synchronization for Fine-grained Parallelism},
year = 2010, keywords = {Barrier MeMyPublication Phasers X10 algorithm benchmarks clocks evaluation habanero insertionTree tree},
added-at = {2010-07-06T11:18:37.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/2e0e488ee39b6fcbeedb6f7d221df958a/gron},
month = {September},
abstract = {This paper presents an algorithm and a data structure for scalable dynamic synchronization in fine-grained parallelism. The algorithm supports the full generality of phasers with dynamic, two-phase, and point-to-point synchronization. It retains the scalability of classical tree barriers, but provides unbounded dynamicity by employing a tailor-made insertion tree data structure. It is the first completely documented implementation strategy for a scalable phaser synchronization construct. Our evaluation shows that it can be used as a drop-in replacement for classic barriers without harming performance, despite its additional complexity and potential for performance optimizations. Furthermore, our approach overcomes performance and scalability limitations which have been present in other phaser proposals.} } - [2010,inproceedings] bibtex
S. Marr, M. Haupt, S. Timbermont, B. Adams, T. D’Hondt, P. Costanza, and W. D. Meuter, "Virtual Machine Support for Many-Core Architectures: Decoupling Abstract From Concrete Concurrency Models," in Second International Workshop on Programming Languages Approaches to Concurrency and Communication-cEntric Software, York, UK, 2010, pp. 63-77.@inproceedings{places09, address = {York, UK},
author = {Stefan Marr and Michael Haupt and Stijn Timbermont and Bram Adams and Theo D'Hondt and Pascal Costanza and Wolfgang De Meuter},
booktitle = {Second International Workshop on Programming Languages Approaches to Concurrency and Communication-cEntric Software},
interhash = {951ffceb7deb0e7a0880a89ac3df470b},
intrahash = {88f7f1a18d61f2db356e0658d392215c},
pages = {63-77},
series = {Electronic Proceedings in Theoretical Computer Science},
title = {Virtual Machine Support for Many-Core Architectures: Decoupling Abstract From Concrete Concurrency Models},
url = {http://dx.doi.org/10.4204/EPTCS.17.6},
volume = 17, year = 2010, keywords = {MeMyPublication},
added-at = {2010-03-03T13:20:01.000+0100},
biburl = {http://www.bibsonomy.org/bibtex/288f7f1a18d61f2db356e0658d392215c/gron},
month = {February},
abstract = {The upcoming many-core architectures require software developers to exploit concurrency to utilize available computational power. Today's high-level language virtual machines (VMs), which are a cornerstone of software development, do not provide sufficient abstraction for concurrency concepts. We analyze concrete and abstract concurrency models and identify the challenges they impose for VMs. To provide sufficient concurrency support in VMs, we propose to integrate concurrency operations into VM instruction sets. Since there will always be VMs optimized for special purposes, our goal is to develop a methodology to design instruction sets with concurrency support. Therefore, we also propose a list of trade-offs that have to be investigated to advise the design of such instruction sets. As a first experiment, we implemented one instruction set extension for shared memory and one for non-shared memory concurrency. From our experimental results, we derived a list of requirements for a full-grown experimental environment for further research.} } - [2009,inproceedings] bibtex
S. Marr, M. Haupt, and T. D’Hondt, "Intermediate Language Design of High-level Language Virtual Machines: Towards Comprehensive Concurrency Support," in Proceedings of the 3rd Workshop on Virtual Machines and Intermediate Languages, New York, NY, USA, 2009, p. 3:1-3:2.@inproceedings{VMIL09, address = {New York, NY, USA},
author = {Stefan Marr and Michael Haupt and Theo D'Hondt},
booktitle = {Proceedings of the 3rd Workshop on Virtual Machines and Intermediate Languages},
interhash = {2b7468ff600c441ea322f28dfdac938e},
intrahash = {4cadae2ab990d54d761d2233f8a21505},
note = {(extended abstract)},
pages = {3:1--3:2},
publisher = {ACM},
title = {Intermediate Language Design of High-level Language Virtual Machines: Towards Comprehensive Concurrency Support},
url = {http://doi.acm.org/10.1145/1711506.1711509},
year = 2009, keywords = {Bytecode Concurrency Design InstructionSet IntermediateLanguage Language Machines MeMyPublication Survey Virtual},
added-at = {2010-02-07T23:21:28.000+0100},
biburl = {http://www.bibsonomy.org/bibtex/24cadae2ab990d54d761d2233f8a21505/gron},
month = {October},
abstract = {Today's major high-level language virtual machines (VMs) are becoming successful in being multi-language execution platforms, hosting a wide range of languages. With the transition from few-core to many-core processors, we argue that VMs will also have to abstract from concrete concurrency models at the hardware level, to be able to support a wide range of abstract concurrency models on a language level. To overcome the lack of sufficient abstractions for concurrency concepts in VMs, we proposed earlier to extend VM intermediate languages by special concurrency constructs. As a first step towards this goal, we try to fill a gap in the current literature and survey the intermediate language design of VMs. Our goal is to identify currently used techniques and principles as well as to gain an overview over the available concurrency related features in intermediate languages. Another aspect of interest is the influence of the particular target language, for which the VM is originally intended, on the intermediate language.} } - [2009,inproceedings] bibtex
H. Schippers, T. V. Cutsem, S. Marr, M. Haupt, and R. Hirschfeld, "Towards an Actor-based Concurrent Machine Model," in Proceedings of the fourth workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS), New York, NY, USA, 2009, pp. 4-9.@inproceedings{TowardsACMM, address = {New York, NY, USA},
author = {Hans Schippers and Tom Van Cutsem and Stefan Marr and Michael Haupt and Robert Hirschfeld},
booktitle = {Proceedings of the fourth workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS)},
interhash = {6b2514a55e250ff8f88ac54a52b71323},
intrahash = {43d4b86261eac5a70d28160c493e70d1},
pages = {4--9},
publisher = {ACM},
title = {Towards an Actor-based Concurrent Machine Model},
url = {http://portal.acm.org/citation.cfm?id=1565824.1565825&coll=GUIDE&dl=&type=series&idx=SERIES12774&part=series&WantType=Proceedings&title=ECOOP},
year = 2009, keywords = {Actors Concurrency Io Java MDSOC MachineModel MeMyPublication Salsa VM},
added-at = {2009-08-23T10:55:42.000+0200},
location = {Genova, Italy},
isbn = {978-1-60558-541-3},
biburl = {http://www.bibsonomy.org/bibtex/243d4b86261eac5a70d28160c493e70d1/gron},
doi = {http://doi.acm.org/10.1145/1565824.1565825},
abstract = {In this position paper we propose to extend an existing delegation-based machine model with concurrency primitives. The original machine model which is built on the concepts of objects, messages, and delegation, provides support for languages enabling multi-dimensional separation of concerns (MDSOC). We propose to extend this model with an actor-based concurrency model, allowing for both true parallelism as well as lightweight concurrency primitives such as coroutines. In order to demonstrate its expressiveness, we informally describe how three high-level languages supporting different concurrency models can be mapped onto our extended machine model. We also provide an outlook on the extended model's potential to support concurrency-related MDSOC features.} } - [2008,mastersthesis] bibtexS. Marr, "Modularisierung Virtueller Maschinen," Master’s Dissertation , Potsdam, Germany, 2008.
@mastersthesis{MAThesis, address = {Potsdam, Germany},
author = {Stefan Marr},
interhash = {5e1e1e699ff09e4ff0e9a15937aad116},
intrahash = {b55cd84fb04798e86e1ed74d902e2755},
school = {Hasso Plattner Institute},
title = {Modularisierung Virtueller Maschinen},
year = 2008, keywords = {Me:MastersThesis MeMyPublication},
added-at = {2009-04-12T23:57:52.000+0200},
biburl = {http://www.bibsonomy.org/bibtex/2b55cd84fb04798e86e1ed74d902e2755/gron},
month = {September} }
I started as a PhD student in October 2008 at the