EDBT 2026 Demo / reviewers in the wild / expert
Laurent Daynès
dblp:d/LaurentDaynes
· DBLP profile ↗
16ranked-venue papers
5as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 2 first-authorSystems, architecture and hardware · 4Databases, data management, data science and information retrieval · 3 · 3 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
5 papers |
Runtime systems and virtual machines · 49% Operating systems · 26% Programming languages and type systems · 25% | |
| Databases, data mining, and information retrieval
3 papers |
Transaction processing and concurrency control · 97% Data models and query languages · 3% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Cloud and datacenter computing · 82% Storage systems · 18% | |
| Network and information security
2 papers |
Systems and software security · 100% |
Topics — the 12 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines › virtual machine implementation
java virtual machine |
0.1 | 2 | 2002 | Incommunicado: efficient communication for isolates · OOPSLA 2002 Multitasking without Compromise: A Virtual Machine Evolution · OOPSLA 2001 |
Programming languages and type systems › object-oriented programming
java |
0.0 | 1 | 2013 | Maxine: An approachable virtual machine for, and in, java · ACM Trans. Archit. Code Optim. 2013 |
Transaction processing and concurrency control › concurrency control
locking |
0.0 | 2 | 2001 | High-Performance, Space-Efficient, Automated Object Locking · ICDE 2001 Locking in OODBMS Client Supported Nestd Transactions · ICDE 1995 |
Transaction processing and concurrency control › concurrency control › locking
object locking |
0.0 | 2 | 2001 | High-Performance, Space-Efficient, Automated Object Locking · ICDE 2001 Locking in OODBMS Client Supported Nestd Transactions · ICDE 1995 |
Cloud and datacenter computing
virtualization |
0.0 | 1 | 2003 | A Multi-User Virtual Machine · USENIX ATC, General Track 2003 |
Transaction processing and concurrency control
isolation levels |
0.0 | 1 | 2002 | Lightweight Flexible Isolation for Language-based Extensible Systems · VLDB 2002 |
Runtime systems and virtual machines
garbage collection |
0.0 | 1 | 2001 | Multitasking without Compromise: A Virtual Machine Evolution · OOPSLA 2001 |
Operating systems
multitasking |
0.0 | 1 | 2001 | Multitasking without Compromise: A Virtual Machine Evolution · OOPSLA 2001 |
Transaction processing and concurrency control
nested transactions |
0.0 | 1 | 1995 | Locking in OODBMS Client Supported Nestd Transactions · ICDE 1995 |
Operating systems › system security › operating system security › protection mechanism
isolation |
0.0 | 1 | 2002 | Incommunicado: efficient communication for isolates · OOPSLA 2002 |
Systems and software security
isolation |
0.0 | 1 | 2001 | Multitasking without Compromise: A Virtual Machine Evolution · OOPSLA 2001 |
Data models and query languages
object-oriented database |
0.0 | 1 | 1995 | Locking in OODBMS Client Supported Nestd Transactions · ICDE 1995 |
Methods — techniques the papers use, named apart from their topics
reflection · 0.2garbage collection · 0.2annotation · 0.2runtime isolation · 0.1memoization · 0.1lock-state sharing · 0.1garbage collection extension · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Maxine: An approachable virtual machine for, and in, javaabstractA highly productive platform accelerates the production of research results. The design of a Virtual Machine (VM) written in the Java™ programming language can be simplified through exploitation of interfaces, type and memory safety, automated memory management (garbage collection), exception handling, and reflection. Moreover, modern Java IDEs offer time-saving features such as refactoring, auto-completion, and code navigation. Finally, Java annotations enable compiler extensions for low-level “systems programming” while retaining IDE compatibility. These techniques collectively make complex system software more “approachable” than has been typical in the past. The Maxine VM, a metacircular Java VM implementation, has aggressively used these features since its inception. A co-designed companion tool, the Maxine Inspector, offers integrated debugging and visualization of all aspects of the VM's runtime state. The Inspector's implementation exploits advanced Java language features, embodies intimate knowledge of the VM's design, and even reuses a significant amount of VM code directly. These characteristics make Maxine a highly approachable VM research platform and a productive basis for research and teaching. Christian Wimmer, Michael Haupt 0003, Michael L. Van de Vanter, Mick J. Jordan, Laurent Daynès, Doug Simon |
ACM Trans. Archit. Code Optim. | 5 |
| 2008 | MTM2: Scalable Memory Management for Multi-tasking Managed Runtime Environments
Sunil Soman, Chandra Krintz, Laurent Daynès |
ECOOP | 3 |
| 2006 | A Portable Grid Infrastructure for Resource-Aware ApplicationsabstractModern, resource-intensive enterprise and scientific applications are increasingly architected using parallel and distributed components deployed on grid platforms. Grid environments are typically heterogeneous and subject to large load variations. Such characteristics require a portable programming infrastructure and comprehensive support for resource management as well as dynamic adaptation to varying resource availability. Resource-aware applications pro-actively monitor and dynamically adapt their behavior to accommodate to changing resource consumption constraints. Strategies such as internal load-balancing and job re-submission can correct sub-optimal scheduling decisions and thus enhance performance. As utilizing the potential of resource awareness requires close interaction with resource management subsystems, implementations often rely on low-level, platform-specific features, which impair portability. What is needed is uncompromised portability of all aspects of resource management in grid systems. We demonstrate that the Java platform, equipped with the APIs for distributed resource management, can be used for building a portable grid infrastructure. In particular, we describe the design and implementation of a cluster management system capable of controlled execution of parallel, resource-aware Java applications. We empirically show that our solution allows for efficient, fine-grained resource management, sufficient for tapping the performance benefits promised by the resource-conscious applications. Michal Wegiel, Grzegorz Czajkowski, Laurent Daynès, Krzysztof Palacz |
CCGRID | 3 |
| 2006 | Task-aware garbage collection in a multi-tasking virtual machineabstractA multi-tasking virtual machine (MVM) executes multiple programs in isolation, within a single operating system process. The goal of a MVM is to improve startup time, overall system throughput, and performance, by effective reuse and sharing of system resources across programs (tasks). However, multitasking also mandates a memory management system capable of offering a guarantee of isolation with respect to garbage collection costs, accounting of memory usage, and timely reclamation of heap resources upon task termination.To this end, we investigate and evaluate, novel task-aware extensions to a state-of-the-art MVM garbage collector (GC). Our task-aware GC exploits the generational garbage collection hypothesis, in the context of multiple tasks, to provide performance isolation by maintaining task-private young generations. Task aware GC facilitates concurrent per-task allocation and promotion, and minimizes synchronization and scanning overhead. In addition, we efficiently track per-task heap usage to enable GC-free reclamation upon task termination. Moreover, we couple these techniques with a light-weight synchronization mechanism that enables per-task minor collection, concurrently with allocation by other tasks.We empirically evaluate the efficiency, scalability, and through-put that our task-aware GC system enables. Sunil Soman, Laurent Daynès, Chandra Krintz |
ISMM | 2 |
| 2006 | Scaling J2EETM application servers with the Multi-tasking Virtual MachineabstractThe Java™ 2 Platform, Enterprise Edition (J2EE™), is established as the standard platform for hosting enterprise applications written in the Java programming language. Similar to an operating system, a J2EE server can host multiple applications, but this is problematic due to limitations on scalability, weak inter-application isolation and inadequate resource management facilities in the underlying Java platform. These limitations lead to a proliferation of server instances with a consequent dramatic increase in the total memory footprint and more complex system administration. The Multi-tasking Virtual Machine (MVM) solves this problem by providing an efficient and scalable implementation of the isolate API for multiple, isolated tasks, enabling the co-location of multiple server instances in a single MVM process. Isolates also enable the restructuring of a J2EE server implementation as a collection of isolated components, offering increased flexibility and reliability. The resulting system is a step towards a complete and scalable operating environment for enterprise applications. Copyright © 2006 John Wiley & Sons, Ltd. Mick J. Jordan, Laurent Daynès, Marcin Jarzab, Ciarán Bryce, Grzegorz Czajkowski |
Softw. Pract. Exp. | 2 |
| 2005 | Resource management for clusters of virtual machinesabstractEnterprise applications are increasingly being built using type-safe programming platforms and deployed over horizontally scalable systems. Horizontal scalability depends crucially on the ability to monitor resource usage and to define and enforce resource management policies capable of guaranteeing a desired service level. However, current safe language platforms have very limited support for resource management, and their cluster-enabled versions reflect this deficiency. We describe an architecture of federated Java/spl trade/ virtual machines. Its distinguishing feature is an integrated resource management interface that addresses the above issues. It offers programmatic control over monitoring and controlling the allocation of resources to applications and their components. The scope of each policy can span multiple nodes, realizing finegrained control. New resource types can be defined and integrated into the framework. Remote management of local resources and the notion of cluster-global resources form a powerful combination capable of expressing policies that achieve effective performance isolation for cluster applications. Grzegorz Czajkowski, Michal Wegiel, Laurent Daynès, Krzysztof Palacz, Mick J. Jordan, Glenn Skinner, Ciarán Bryce |
CCGRID | 3 |
| 2005 | Sharing the Runtime Representation of Classes Across Class Loaders
Laurent Daynès, Grzegorz Czajkowski |
ECOOP | 1 |
| 2003 | A Multi-User Virtual Machine
Grzegorz Czajkowski, Laurent Daynès, Ben L. Titzer |
USENIX ATC, General Track | 2 |
| 2002 | Code Sharing among Virtual Machines
Grzegorz Czajkowski, Laurent Daynès, Nathaniel Nystrom |
ECOOP | 2 |
| 2002 | Incommunicado: efficient communication for isolatesabstractExecuting computations in a single instance of safe language virtual machine can improve performance and overall platform scalability. It also poses various challenges. One of them is providing a fast inter-application communication mechanism. In addition to being efficient, such a mechanism should not violate any functional and non-functional properties of its environment, and should also support enforcement of application-specific security policies. This paper explores the design and implementation of a communication substrate for applications executing within a single Java virtual machine modified to enable safe and interference-free execution of isolated computations. Designing an efficient extension that does not break isolation properties and at the same time pragmatically offers an intuitive API has proven non-trivial. This paper demonstrates a set of techniques that lead to at least an eight-fold performance improvement over the in-process inter-application communication using standard mechanisms offered by the Java platform. Krzysztof Palacz, Jan Vitek, Grzegorz Czajkowski, Laurent Daynès |
OOPSLA | 4 |
| 2002 | Lightweight Flexible Isolation for Language-based Extensible Systems
Laurent Daynès, Grzegorz Czajkowski |
VLDB | 1 |
| 2001 | High-Performance, Space-Efficient, Automated Object LockingabstractStudies the impact of several lock manager designs on the overhead imposed on a persistent programming language by automated object locking. Our study reveals that a lock management method based on lock-state sharing outperforms more traditional lock management designs. Lock-state sharing is a novel lock management method that represents all lock data structures with equal values with a single shared data structure. Sharing the value of locks has numerous benefits: (i) it makes the space consumed by the lock manager small and independent of the number of locks acquired by transactions, (ii) it eliminates the need for expensive bookkeeping of locks by transactions, and (iii) it enables the use of memoization techniques for whole locking operations. These advantages add up to making the release of locks practically free, and the processing of over 99% of the lock requests takes between eight and 14 RISC instructions. Laurent Daynès, Grzegorz Czajkowski |
ICDE | 1 |
| 2001 | Automated and Portable Native Code IsolationabstractThe coexistence of programs written in a safe language with user-supplied unsafe (native) code is convenient (e.g., it enables direct access to operating system resources), but at the same time it is problematic (e.g., it may decrease reliability and debuggability). This work aims at retaining most of the benefits of interfacing a safe language with native code while addressing its problems. It is carried out in the context of the Java/sup TM/ Native Interface (JNI). Our approach is to execute the native code in an operating system process different than that of the safe language application. A technique presented in this paper accomplishes this transparently, automatically,, and without sacrificing any of the JNI functionality. No changes to the Java virtual machine (JVM/sup TM/) or its runtime are necessary. The resulting prototype does not depend on a particular implementation of the JVM, and is highly portable across hardware architectures and operating systems. This approach can be used to improve reliability of applications consisting of a mix of safe and native code and to facilitate debugging them. Grzegorz Czajkowski, Laurent Daynès, Mario Wolczko |
ISSRE | 2 |
| 2001 | Multitasking without Compromise: A Virtual Machine EvolutionabstractThe multitasking virtual machine (called from now on simply MVM) is a modification of the Java virtual machine. It enables safe, secure, and scalable multitasking. Safety is achieved by strict isolation of application from one another. Resource control augment security by preventing some denial-of-service attacks. Improved scalability results from an aggressive application of the main design principle of MVM: share as much of the runtime as possible among applications and replicate everything else. The system can be described as a 'no compromise'approach --- all the known APIs and mechanisms of the Java programming language are available to applications. MVM is implemented as a series of carefully tuned modifications to the Java HotSpot virtual machine, including the dynamic compiler. this paper presents the design of MVM, focusing on several novel and general techniques: an in-runtime design of lightweight isolation, an extension of a copying, generational garbage collector to provide best-effort management of a portion of the heap space, and a transparent and automated mechanism for safe execution of user-level native code. MVM demonstrates that multitasking in a safe language can be accomplished with a high degree of protection, without constraining the language, and and with competitive performance characteristics Grzegorz Czajkowski, Laurent Daynès |
OOPSLA | 2 |
| 2000 | Implementation of automated fine-granularity locking in a persistent programming languageabstractTo gain broader acceptance, Persistent Programming Languages (PPL) need a better integration of the transaction paradigm. Much like database systems, computations should all run in the context of a transaction; the transactional properties should be applied to all objects irrespective of their type and lifetime, and they must be enforced automatically via safe and efficient mechanisms. This requires lock managers that can cope with the requirement for automated locking in a PPL. This paper reports our design and implementation of such lock managers and the accompanying machinery that a PPL must incorporate to automate locking. Our innovative ingredients for an efficient lock management recipe are a close collaboration with the memory manager of the PPL and the sharing of lock data structures of equal value between locked objects. Sharing such lock values has numerous benefits: it makes the space consumption of locking negligible and independent of the number of locks, which frees transactions of any restriction on the volume of locks that they can use; it eliminates the need for expensive book-keeping of locks by transactions; and it enables the use of both non-blocking synchronization and memorization techniques for whole locking operations. These features combine to achieve fast lock acquisition for the non-blocking cases (6 RISC instructions), and make releasing locks practically free. The impact of lock management techniques and automated locking strategy on the performance of a PPL are analysed based on measurements of various lock managers integrated into PJama, a JavaTM Virtual Machine (JVM) which provides orthogonal persistence. Copyright © 2000 John Wiley & Sons, Ltd. Laurent Daynès |
Softw. Pract. Exp. | 1 |
| 1995 | Locking in OODBMS Client Supported Nestd TransactionsabstractNested transactions facilitate the control of complex persistent applications by enabling both fine-tuning of the scope of rollback and safe intra-transaction parallelism. We are concerned with supporting concurrent nested transactions on client workstations of an OODBMS. Use of the traditional design and implementation of a lock manager results in a high CPU overhead: in-cache traversals of the 007 benchmark perform, at best, 4.5 times slower than the same traversal achieved in virtual memory by a nonpersistent programming language. We propose a new design and implementation of a lock manager which cuts that factor down to 1.8. This lock manager supports nested transactions with both sibling and parent/child parallelisms, and provides object locking at a cost comparable to page locking. Object locking is therefore a better alternative due to its higher functionality.> Laurent Daynès, Olivier Gruber, Patrick Valduriez |
ICDE | 1 |