Research
Some thoughts about my current research as a PhD student.
Currently, I am reading a lot interesting stuff, for instance:
- [1988,inproceedings] bibtex
D. A. Thomas, W. R. LaLonde, J. Duimovich, M. Wilson, J. McAffer, and B. Barry, "Actra – A Multitasking/Multiprocessing Smalltalk," in OOPSLA/ECOOP ‘88: Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming, New York, NY, USA, 1988, pp. 87-90.@inproceedings{67409, title = {Actra - A Multitasking/Multiprocessing Smalltalk},
address = {New York, NY, USA},
author = {David A. Thomas and Wilf R. LaLonde and John Duimovich and Michael Wilson and Jeff McAffer and Brian Barry},
booktitle = {OOPSLA/ECOOP '88: Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming},
pages = {87--90},
publisher = {ACM},
year = 1988, url = {http://portal.acm.org/citation.cfm?id=67409},
description = {Actra-a multitasking/multiprocessing smalltalk},
biburl = {http://www.bibsonomy.org/bibtex/231c87c4ac17504cfe5532468b46c8e37/gron},
keywords = {Actors Actra Smalltalk},
location = {San Diego, California, United States},
isbn = {0-89791-304-3},
doi = {http://doi.acm.org/10.1145/67386.67409} } - [1989,inproceedings] bibtex
J. Briot, "Actalk: A Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment," in ECOOP, 1989, pp. 109-129.@inproceedings{Actalk, title = {Actalk: A Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment},
author = {Jean-Pierre Briot},
booktitle = {ECOOP},
pages = {109-129},
publisher = {Cambridge University Press},
series = {British Computer Society Workshop Series},
year = 1989, url = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/ec89/ec890109.pdf},
biburl = {http://www.bibsonomy.org/bibtex/248f4b965d938a0ce232441619817b463/gron},
keywords = {Actalk Concurrency Smalltalk actors},
bibsource = {DBLP, http://dblp.uni-trier.de} } - [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, 2010.
@inproceedings{SOMFamily, title = {The SOM Family: Virtual Machines for Teaching and Research},
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},
note = {(to appear)},
publisher = {ACM},
year = 2010, 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.},
biburl = {http://www.bibsonomy.org/bibtex/299e4683bf43ceb7700dd06d8bf734c83/gron},
keywords = {CSOM MeMyPublication SOM Teaching VM},
} - [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, title = {Virtual Machine Support for Many-Core Architectures: Decoupling Abstract From Concrete Concurrency Models},
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},
pages = {63-77},
series = {Electronic Proceedings in Theoretical Computer Science},
volume = 17, year = 2010, url = {http://dx.doi.org/10.4204/EPTCS.17.6},
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.},
biburl = {http://www.bibsonomy.org/bibtex/288f7f1a18d61f2db356e0658d392215c/gron},
keywords = {MeMyPublication},
} - [2009,inproceedings] bibtex
J. R. Rose, "Bytecodes meet combinators: Invokedynamic on the JVM," in VMIL ‘09: Proceedings of the Third Workshop on Virtual Machines and Intermediate Languages, New York, NY, USA, 2009, pp. 1-11.@inproceedings{1711508, title = {Bytecodes meet combinators: Invokedynamic on the JVM},
address = {New York, NY, USA},
author = {John R. Rose},
booktitle = {VMIL '09: Proceedings of the Third Workshop on Virtual Machines and Intermediate Languages},
pages = {1--11},
publisher = {ACM},
year = 2009, url = {http://portal.acm.org/citation.cfm?id=1711506.1711508},
description = {Bytecodes meet combinators},
abstract = {The Java Virtual Machine (JVM) has been widely adopted in part because of its classfile format, which is portable, compact, modular, verifiable, and reasonably easy to work with. However, it was designed for just one language---Java---and so when it is used to express programs in other source languages, there are often "pain points" which retard both development and execution. The most salient pain points show up at a familiar place, the method call site. To generalize method calls on the JVM, the JSR 292 Expert Group has designed a new invokedynamic instruction that provides user-defined call site semantics. In the chosen design, invokedynamic serves as a hinge-point between two coexisting kinds of intermediate language: bytecode containing dynamic call sites, and combinator graphs specifying call targets. A dynamic compiler can traverse both representations simultaneously, producing optimized machine code which is the seamless union of both kinds of input. As a final twist, the user-defined linkage of a call site may change, allowing the code to adapt as the application evolves over time. The result is a system balancing the conciseness of bytecode with the dynamic flexibility of function pointers.},
biburl = {http://www.bibsonomy.org/bibtex/29adb66a808244f7ab4847716517be1e6/gron},
keywords = {Dynamic InstructionSet InvokeDynamic JVM Languages bytecodes},
location = {Orlando, Florida},
isbn = {978-1-60558-874-2},
doi = {http://doi.acm.org/10.1145/1711506.1711508} } - [2006,article] bibtex
M. Kistler, M. Perrone, and F. Petrini, "Cell Multiprocessor Communication Network: Built for Speed," IEEE Micro, vol. 26, iss. 3, pp. 10-23, 2006.@article{10.1109/MM.2006.49, title = {Cell Multiprocessor Communication Network: Built for Speed},
address = {Los Alamitos, CA, USA},
author = {Michael Kistler and Michael Perrone and Fabrizio Petrini},
journal = {IEEE Micro},
number = 3, pages = {10-23},
publisher = {IEEE Computer Society},
volume = 26, year = 2006, url = {http://www.computer.org/portal/web/csdl/doi/10.1109/MM.2006.49},
description = {Cell Multiprocessor Communication Network: Built for Speed},
biburl = {http://www.bibsonomy.org/bibtex/2144a965baf9222ffa27e4b04e627bf2c/gron},
keywords = {Cell Communication Multicore Network},
issn = {0272-1732},
doi = {http://doi.ieeecomputersociety.org/10.1109/MM.2006.49} } - [2003,article] bibtex
A. Iliasov, "Templates-based Portable Just-In-Time Compiler," SIGPLAN Not., vol. 38, iss. 8, pp. 37-43, 2003.@article{944588, title = {Templates-based Portable Just-In-Time Compiler},
address = {New York, NY, USA},
author = {Alex Iliasov},
journal = {SIGPLAN Not.},
number = 8, pages = {37--43},
publisher = {ACM},
volume = 38, year = 2003, url = {http://portal.acm.org/citation.cfm?id=944588&dl=GUIDE&coll=GUIDE&CFID=77477024&CFTOKEN=80099946},
description = {Templates-based portable just-in-time compiler},
abstract = {Usage of the platform-neutral bytecode interpreters is often limited by their restricted performance. Just-in-time compilers effectively solve this problem. However they are hard to develop and retarget. This paper demonstrates that dynamic code generation from the templates created by a C compiler can be used to build a simple and highly-portable JIT compiler.},
biburl = {http://www.bibsonomy.org/bibtex/28b9ef1eeb3274c8d64ec1e6e941faa76/gron},
keywords = {JIT compiler templates},
issn = {0362-1340},
doi = {http://doi.acm.org/10.1145/944579.944588} } - [2003,article] bibtex
J. Aycock, "A Brief History of Just-In-Time," ACM Comput. Surv., vol. 35, iss. 2, pp. 97-113, 2003.@article{857077, title = {A Brief History of Just-In-Time},
address = {New York, NY, USA},
author = {John Aycock},
journal = {ACM Comput. Surv.},
number = 2, pages = {97--113},
publisher = {ACM},
volume = 35, year = 2003, url = {http://portal.acm.org/citation.cfm?id=857076.857077},
description = {A brief history of just-in-time},
abstract = {Software systems have been using "just-in-time" compilation (JIT) techniques since the 1960s. Broadly, JIT compilation includes any translation performed dynamically, after a program has started execution. We examine the motivation behind JIT compilation and constraints imposed on JIT compilation systems, and present a classification scheme for such systems. This classification emerges as we survey forty years of JIT work, from 1960--2000.},
biburl = {http://www.bibsonomy.org/bibtex/236cc966af27c442d604ca5a0d60b4374/gron},
keywords = {Classification JIT Survey VMs compiler},
issn = {0360-0300},
doi = {http://doi.acm.org/10.1145/857076.857077} } - [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, title = {Intermediate Language Design of High-level Language Virtual Machines: Towards Comprehensive Concurrency Support},
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},
note = {(extended abstract)},
pages = {3:1--3:2},
publisher = {ACM},
year = 2009, url = {http://doi.acm.org/10.1145/1711506.1711509},
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.},
biburl = {http://www.bibsonomy.org/bibtex/24cadae2ab990d54d761d2233f8a21505/gron},
keywords = {Bytecode Concurrency Design InstructionSet IntermediateLanguage Language Machines MeMyPublication Survey Virtual},
} - [1999,inproceedings] bibtex
J. M. Bull, "Measuring Synchronisation and Scheduling Overheads in OpenMP," in In Proceedings of First European Workshop on OpenMP, 1999, pp. 99-105.@inproceedings{Bull99measuringsynchronisation, title = {Measuring Synchronisation and Scheduling Overheads in OpenMP},
author = {J. M. Bull},
booktitle = {In Proceedings of First European Workshop on OpenMP},
pages = {99--105},
year = 1999, url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.8780},
description = {CiteSeerX — Measuring Synchronisation and Scheduling Overheads in OpenMP},
abstract = {Overheads due to synchronisation and loop scheduling are an important factor in determining the performance of shared memory parallel programs. We present set of benchmarks to measure these classes of overhead for language constructs in OpenMP. Results are presented for three different hardware platforms, each with its own implementation of OpenMP. Significant differences are observed, which suggest possible means of improving performance. Keywords--- Benchmarking, OpenMP, synchronisation, scheduling, performance. I. Introduction OpenMP is a relatively new industry standard for shared memory parallel programming. The standard defines a set of directives and library routines for both Fortran [6] and C/C++ [7]. For the first time, shared memory parallel programs can be made portable across a wide range of platforms. Synchronisation and loop scheduling can both be significant sources of overhead in shared memory parallel programs. In OpenMP, the cost of these operations is dependent on...},
biburl = {http://www.bibsonomy.org/bibtex/2f159acb039047283a20dbf57e9ea4154/gron},
keywords = {Barrier Benchmarks Evaluation MicroBenchmarks OpenMP Synchronization},
} - [2001,inproceedings] bibtex
L. A. Smith, J. M. Bull, and J. Obdrzálek, "A Parallel Java Grande Benchmark Suite," in Supercomputing ‘01: Proceedings of the 2001 ACM/IEEE conference on Supercomputing (CDROM), New York, NY, USA, 2001, pp. 8-8.@inproceedings{582042, title = {A Parallel Java Grande Benchmark Suite},
address = {New York, NY, USA},
author = {L. A. Smith and J. M. Bull and J. Obdrz\'{a}lek},
booktitle = {Supercomputing '01: Proceedings of the 2001 ACM/IEEE conference on Supercomputing (CDROM)},
pages = {8--8},
publisher = {ACM},
year = 2001, url = {http://portal.acm.org/citation.cfm?id=582034.582042},
description = {A parallel java grande benchmark suite},
abstract = {Increasing interest is being shown in the use of Java for large scale or Grande applications. This new use of Java places specific demands on the Java execution environments that can be tested using the Java Grande benchmark suite [5], [6], [7]. The large processing requirements of Grande applications makes parallelisation of interest. A suite of parallel benchmarks has been developed from the serial Java Grande benchmark suite, using three parallel programming models: Java native threads, MPJ (a message passing interface) and JOMP (a set of OpenMP-like directives). The contents of the suite are described, and results presented for a number of platforms.},
biburl = {http://www.bibsonomy.org/bibtex/2c43a9020f22de7cdb6608093a3074ea6/gron},
keywords = {Barrier Benchmarks Evaluation Java MicroBenchmarks},
location = {Denver, Colorado},
isbn = {1-58113-293-X},
doi = {http://doi.acm.org/10.1145/582034.582042} } - [2001,article] bibtex
M. J. Bull and D. O’Neill, "A Microbenchmark Suite for OpenMP 2.0," SIGARCH Comput. Archit. News, vol. 29, iss. 5, pp. 41-48, 2001.@article{563656, title = {A Microbenchmark Suite for OpenMP 2.0},
address = {New York, NY, USA},
author = {J. Mark Bull and Darragh O'Neill},
journal = {SIGARCH Comput. Archit. News},
number = 5, pages = {41--48},
publisher = {ACM},
volume = 29, year = 2001, url = {http://portal.acm.org/citation.cfm?id=563656&dl=GUIDE&coll=GUIDE&CFID=73802782&CFTOKEN=16016821},
description = {A microbenchmark suite for OpenMP 2.0},
abstract = {In this paper we present a set of extensions to an existing microbenchmark suite for OpenMP. The new benchmarks are targeted at directives introduced in the OpenMP 2.0 standard, as well as at the handling of thread-private data structures. Results are presented for a Sun HPC 6500 system, with an early access release of an OpenMP 2.0 compliant compiler, and for an SGI Origin 3000 system.},
biburl = {http://www.bibsonomy.org/bibtex/286b4f70669ea3e7fa8bc87424fed0218/gron},
keywords = {Barrier Benchmarks Evaluation MicroBenchmarks OpenMP},
issn = {0163-5964},
doi = {http://doi.acm.org/10.1145/563647.563656} } - [1994,inproceedings] bibtex
D. Johnson, D. Lilja, and J. Riedl, "A Distributed Hardware Mechanism for Process Synchronization on Shared-Bus Multiprocessors," in Parallel Processing, 1994. ICPP 1994. International Conference on, 1994, pp. 268-275.@inproceedings{4115792, title = {A Distributed Hardware Mechanism for Process Synchronization on Shared-Bus Multiprocessors},
author = {Donald Johnson and David Lilja and John Riedl},
booktitle = {Parallel Processing, 1994. ICPP 1994. International Conference on},
pages = {268-275},
volume = 2, year = 1994, url = {http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4115792},
month = {August},
description = {IEEE Xplore# Wrapper Result},
abstract = {Several techniques have been used to reduce the performance impact of process synchronization in fine-grained multiprocessor systems. These existing techniques tend to have long synchronization times or high shared-bus use, or they require complex and expensive hardware. A new technique is presented that uses distributed hardware locking queues to reduce both contention and latency to the minimum values that can be obtained using a shared-bus. This technique is shown to require at most two shared-bus transactions, with one transaction being typical. The latency for process continuation after obtaining a lock is reduced to near zero. Barrier synchronization using this distributed mechanism requires only one shared-bus transaction per processor involved in the barrier. This new technique is scalable and applicable to both new architectures and to existing systems, and is less complex than other hardware solutions.},
biburl = {http://www.bibsonomy.org/bibtex/2c6f0eb7188acf36c83212e8d505bea14/gron},
keywords = {Barrier Fuzzy Hardware Split synchronization},
issn = {},
doi = {10.1109/ICPP.1994.23} } - [1990,inproceedings] bibtex
C. J. Beckmann and C. D. Polychronopoulos, "Fast Barrier Synchronization Hardware," in Supercomputing ‘90: Proceedings of the 1990 ACM/IEEE conference on Supercomputing, Los Alamitos, CA, USA, 1990, pp. 180-189.@inproceedings{110433, title = {Fast Barrier Synchronization Hardware},
address = {Los Alamitos, CA, USA},
author = {Carl J. Beckmann and Constantine D. Polychronopoulos},
booktitle = {Supercomputing '90: Proceedings of the 1990 ACM/IEEE conference on Supercomputing},
pages = {180--189},
publisher = {IEEE Computer Society Press},
year = 1990, url = {http://portal.acm.org/citation.cfm?id=110433},
description = {Fast barrier synchronization hardware},
abstract = {Many recent studies have considered the importance of barrier synchronization overhead on parallel loop performance, especially for large-scale parallel machines. This paper describes a hardware scheme for supporting fast barrier synchronization. It allows barrier synchronization to be performed within a single instruction cycle for moderately sized systems, and is scalable with logarithmic increase in synchronization time. It supports a large number of concurrent barriers, and can also be used to support a number of different barrier synchronization schemes. Simulation results show that under reasonable assumptions, this hardware can decrease parallel loop execution time significantly, especially for statically scheduled loops.},
biburl = {http://www.bibsonomy.org/bibtex/2032060344df75b83f7554436302130d8/gron},
keywords = {Barrier Fuzzy Hardware Split parallel performance synchronization},
location = {New York, New York, United States},
isbn = {0-89791-412-0} } - [1994,article] bibtex
M. Scott and J. Mellor-Crummey, "Fast, Contention-Free Combining Tree Barriers for Shared-Memory Multiprocessors," International Journal of Parallel Programming, vol. 22, iss. 4, pp. 449-481, 1994.@article{michael1994contentionfree, title = {Fast, Contention-Free Combining Tree Barriers for Shared-Memory Multiprocessors},
author = {Michael Scott and John Mellor-Crummey},
journal = {International Journal of Parallel Programming},
number = 4, pages = {449--481},
volume = 22, year = 1994, url = {http://dx.doi.org/10.1007/BF02577741},
month = {August},
description = {SpringerLink - Journal Article},
abstract = {Abstract In a previous article,(1) Gupta and Hill introduced anadaptive combining tree algorithm for busy-wait barrier synchronization on shared-memory multiprocessors. The intent of the algorithm was to achieve a barrier in logarithmic time when processes arrive simultaneously, and in constant time after the last arrival when arrivaltimes are skewed. Afuzzy(2) version of the algorithm allows a process to perform useful work between the point at which it notifies other processes ofits arrival and the point at which it waits for all other processes to arrive. Unfortunately, adaptive combining tree barriersas originally devised perform a large amount of work at each node of the tree, including the acquisition and release of locks.They also perform an unbounded number of accesses to nonlocal locations, inducing large amounts of memory and interconnectcontention. We present new adaptive combining tree barriers that eliminate these problems. We compare the performance of thenew algorithms to that of other fast barriers on a 64-node BBN Butterfly 1 multiprocessor, a 35-node BBN TC2000, and a 126-nodeKSR 1. The results reveal scenarios in which our algorithms outperform all known alternatives, and suggest that both adaptationand the combination of fuzziness with tree-style synchronization will be of increasing importance on future generations ofshared-memory multiprocessors.},
biburl = {http://www.bibsonomy.org/bibtex/2a78310133cdfce5560bbfa8a236d10b8/gron},
keywords = {Algorithms Barrier Fuzzy Optimization Tree synchronization},
} - [2009,inproceedings] bibtex
N. Vasudevan, O. Tardieu, J. Dolby, and S. Edwards, "Compile-Time Analysis and Specialization of Clocks in Concurrent Programs." 2009, pp. 48-62.@inproceedings{nalini2009compiletime, title = {Compile-Time Analysis and Specialization of Clocks in Concurrent Programs},
author = {Nalini Vasudevan and Olivier Tardieu and Julian Dolby and Stephen Edwards},
journal = {Compiler Construction},
pages = {48--62},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
volume = 5501, year = 2009, day = 29, url = {http://dx.doi.org/10.1007/978-3-642-00722-4_5},
month = {March},
abstract = {Clocks are a mechanism for providing synchronization barriers in concurrent programming languages. They are usually implemented using primitive communication mechanisms and thus spare the programmer from reasoning about low-level implementation detailssuch as remote procedure calls and error conditions.},
biburl = {http://www.bibsonomy.org/bibtex/2e832bbc63079ebce13d22f407a85cc09/gron},
keywords = {Analysis Barrier Clocks Compiler Optimization Synchronization X10},
} - [2010,techreport] bibtex
V. Saraswat, "Report on the Programming Language X10," IBM, Language Specification , 2010.@techreport{X10Spec, title = {Report on the Programming Language X10},
author = {Vijay Saraswat},
edition = {2.01},
institution = {IBM},
type = {Language Specification},
year = 2010, day = 13, url = {http://dist.codehaus.org/x10/documentation/languagespec/x10-latest.pdf},
month = {January},
biburl = {http://www.bibsonomy.org/bibtex/2ee50c289403c5ccc660cc789a042af11/gron},
keywords = {Barrier Clocks ForkJoin Language PGAS Specification X10},
} - [2009,inproceedings] bibtex
D. Frampton, S. M. Blackburn, P. Cheng, R. J. Garner, D. Grove, E. J. B. Moss, and S. I. Salishev, "Demystifying Magic: High-level Low-level Programming," in VEE ‘09: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, New York, NY, USA, 2009, pp. 81-90.@inproceedings{1508305, title = {Demystifying Magic: High-level Low-level Programming},
address = {New York, NY, USA},
author = {Daniel Frampton and Stephen M. Blackburn and Perry Cheng and Robin J. Garner and David Grove and J. Eliot B. Moss and Sergey I. Salishev},
booktitle = {VEE '09: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments},
pages = {81--90},
publisher = {ACM},
year = 2009, url = {http://portal.acm.org/citation.cfm?id=1508305},
abstract = {The power of high-level languages lies in their abstraction over hardware and software complexity, leading to greater security, better reliability, and lower development costs. However, opaque abstractions are often show-stoppers for systems programmers, forcing them to either break the abstraction, or more often, simply give up and use a different language. This paper addresses the challenge of opening up a high-level language to allow practical low-level programming without forsaking integrity or performance. The contribution of this paper is three-fold: 1) we draw together common threads in a diverse literature, 2) we identify a framework for extending high-level languages for low-level programming, and 3) we show the power of this approach through concrete case studies. Our framework leverages just three core ideas: extending semantics via intrinsic methods, extending types via unboxing and architectural-width primitives, and controlling semantics via scoped semantic regimes. We develop these ideas through the context of a rich literature and substantial practical experience. We show that they provide the power necessary to implement substantial artifacts such as a high-performance virtual machine, while preserving the software engineering benefits of the host language.},
biburl = {http://www.bibsonomy.org/bibtex/280573da6cc700a794fa3cf2b44cd4fe9/gron},
keywords = {Abstraction GC HighLevel LowLevel MMTk Optimization VM},
location = {Washington, DC, USA},
isbn = {978-1-60558-375-4},
doi = {http://doi.acm.org/10.1145/1508293.1508305} } - [2005,inproceedings] bibtexP. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar, "X10: An Object-Oriented Approach to Non-Uniform Cluster Computing," in OOPSLA ‘05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, New York, NY, USA, 2005, pp. 519-538.
@inproceedings{1094852, title = {X10: An Object-Oriented Approach to Non-Uniform Cluster Computing},
address = {New York, NY, USA},
author = {Philippe Charles and Christian Grothoff and Vijay Saraswat and Christopher Donawa and Allan Kielstra and Kemal Ebcioglu and Christoph von Praun and Vivek Sarkar},
booktitle = {OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications},
pages = {519--538},
publisher = {ACM},
year = 2005, biburl = {http://www.bibsonomy.org/bibtex/214e1d9a5d4f78922a383f09d9096f331/gron},
keywords = {Barrier Clocks PGAS X10 synchronization},
location = {San Diego, CA, USA},
isbn = {1-59593-031-0},
doi = {http://doi.acm.org/10.1145/1094811.1094852} } - [2004,inproceedings] bibtexK. Ebcioglu, V. Saraswat, and V. Sarkar, "X10: Programming for Hierarchical Parallelism and Non-Uniform Data Access," in Proceedings of the International Workshop on Language Runtimes, OOPSLA, 2004.
@inproceedings{X10Workshop, title = {X10: Programming for Hierarchical Parallelism and Non-Uniform Data Access},
author = {Kemal Ebcioglu and Vijay Saraswat and Vivek Sarkar},
booktitle = {Proceedings of the International Workshop on Language Runtimes, OOPSLA},
year = 2004, biburl = {http://www.bibsonomy.org/bibtex/26205099044d91144e53ace34a85406b4/gron},
keywords = {Barrier Clocks Synchronization X10},
}
My Publications
- [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, 2010.
@inproceedings{SOMFamily, title = {The SOM Family: Virtual Machines for Teaching and Research},
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},
note = {(to appear)},
publisher = {ACM},
year = 2010, 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.},
biburl = {http://www.bibsonomy.org/bibtex/299e4683bf43ceb7700dd06d8bf734c83/gron},
keywords = {CSOM MeMyPublication SOM Teaching VM},
} - [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, title = {Virtual Machine Support for Many-Core Architectures: Decoupling Abstract From Concrete Concurrency Models},
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},
pages = {63-77},
series = {Electronic Proceedings in Theoretical Computer Science},
volume = 17, year = 2010, url = {http://dx.doi.org/10.4204/EPTCS.17.6},
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.},
biburl = {http://www.bibsonomy.org/bibtex/288f7f1a18d61f2db356e0658d392215c/gron},
keywords = {MeMyPublication},
} - [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, title = {Intermediate Language Design of High-level Language Virtual Machines: Towards Comprehensive Concurrency Support},
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},
note = {(extended abstract)},
pages = {3:1--3:2},
publisher = {ACM},
year = 2009, url = {http://doi.acm.org/10.1145/1711506.1711509},
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.},
biburl = {http://www.bibsonomy.org/bibtex/24cadae2ab990d54d761d2233f8a21505/gron},
keywords = {Bytecode Concurrency Design InstructionSet IntermediateLanguage Language Machines MeMyPublication Survey Virtual},
} - [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, title = {Towards an Actor-based Concurrent Machine Model},
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)},
pages = {4--9},
publisher = {ACM},
year = 2009, url = {http://portal.acm.org/citation.cfm?id=1565824.1565825&coll=GUIDE&dl=&type=series&idx=SERIES12774&part=series&WantType=Proceedings&title=ECOOP},
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.},
biburl = {http://www.bibsonomy.org/bibtex/243d4b86261eac5a70d28160c493e70d1/gron},
keywords = {Actors Concurrency Io Java MDSOC MachineModel MeMyPublication Salsa VM},
location = {Genova, Italy},
isbn = {978-1-60558-541-3},
doi = {http://doi.acm.org/10.1145/1565824.1565825} } - [2008,mastersthesis] bibtexS. Marr, "Modularisierung Virtueller Maschinen," Master’s Dissertation , Potsdam, Germany, 2008.
@mastersthesis{MAThesis, title = {Modularisierung Virtueller Maschinen},
address = {Potsdam, Germany},
author = {Stefan Marr},
school = {Hasso Plattner Institute},
year = 2008, month = {September},
biburl = {http://www.bibsonomy.org/bibtex/2b55cd84fb04798e86e1ed74d902e2755/gron},
keywords = {Me:MastersThesis MeMyPublication},
}
I started as a PhD student in October 2008 at the