Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Michal Wegiel

dblp:93/4688 · DBLP profile ↗
← Back
8ranked-venue papers
6as first author
0since 2021 · last 2010
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 6 · 4 first-authorSoftware engineering, systems software and programming languages · 4 · 4 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 · 78% Operating systems · 11% Concurrent programming · 8%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Memory systems · 44% Performance modeling and evaluation · 37% Distributed systems · 10%

Topics — the 12 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines
managed runtime
0.332010
Cross-language, type-safe, and transparent object sharing for co-located managed runtimes · OOPSLA 2010
The single-referent collector: Optimizing compaction for the common case · ACM Trans. Archit. Code Optim. 2009
XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination · PLDI 2008
Runtime systems and virtual machines
garbage collection
0.222009
The single-referent collector: Optimizing compaction for the common case · ACM Trans. Archit. Code Optim. 2009
The mapping collector: virtual memory support for generational, parallel, and concurrent compaction · ASPLOS 2008
Runtime systems and virtual machines › runtime memory management
automatic memory management
0.112009
Dynamic prediction of collection yield for managed runtimes · ASPLOS 2009
Runtime systems and virtual machines › garbage collection
compaction
0.112009
The single-referent collector: Optimizing compaction for the common case · ACM Trans. Archit. Code Optim. 2009
Runtime systems and virtual machines › runtime memory management
heap management
0.112009
The single-referent collector: Optimizing compaction for the common case · ACM Trans. Archit. Code Optim. 2009
Operating systems
interprocess communication
0.112008
XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination · PLDI 2008
Concurrent programming
shared memory
0.112008
XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination · PLDI 2008
Runtime systems and virtual machines › garbage collection
generational garbage collection
0.012009
The single-referent collector: Optimizing compaction for the common case · ACM Trans. Archit. Code Optim. 2009
Memory systems
memory management
0.012009
Dynamic prediction of collection yield for managed runtimes · ASPLOS 2009
Operating systems › resource management
memory management
0.012008
The mapping collector: virtual memory support for generational, parallel, and concurrent compaction · ASPLOS 2008
Hardware reliability and fault tolerance
fault containment
0.012008
XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination · PLDI 2008
Distributed systems › distributed system architecture
multi-tier architecture
0.012008
XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination · PLDI 2008

Methods — techniques the papers use, named apart from their topics

dynamic prediction · 0.2virtual memory mapping · 0.2type-safe shared memory · 0.2generational collection · 0.2remote procedure call · 0.1message passing · 0.1pointer tracking · 0.1overflow table · 0.1
YearPublicationVenuePosition
2010 Cross-language, type-safe, and transparent object sharing for co-located managed runtimes
abstract
As software becomes increasingly complex and difficult to analyze, it is more and more common for developers to use high-level, type-safe, object-oriented (OO) programming languages and to architect systems that comprise multiple components. Different components are often implemented in different programming languages. In state-of-the-art multicomponent, multi-language systems, cross-component communication relies on remote procedure calls (RPC) and message passing. As components are increasingly co-located on the same physical machine to ensure high utilization of multi-core systems, there is a growing potential for using shared memory for cross-language cross-runtime communication.
Michal Wegiel, Chandra Krintz
OOPSLA1
2009 Dynamic prediction of collection yield for managed runtimes
abstract
The growth in complexity of modern systems makes it increasingly difficult to extract high-performance. The software stacks for such systems typically consist of multiple layers and include managed runtime environments (MREs). In this paper, we investigate techniques to improve cooperation between these layers and the hardware to increase the efficacy of automatic memory management in MREs.
Michal Wegiel, Chandra Krintz
ASPLOS1
2009 The single-referent collector: Optimizing compaction for the common case
abstract
Compactors that move or copy objects need to adjust pointers. In extant compactors, pointer adjustment involves inspecting every pointer in the heap and computing the target address for each pointer. At the same time, in modern Managed Runtime Environments (MREs), only a fraction of pointers in the heap changes during compaction. This is because state-of-the-art MREs do not compact the prefix of the heap that contains few dead objects, allowing gaps between live objects and tolerating small space overhead. We describe the design and implementation of the Single-Referent Collector (SRC), a new compactor that reduces the cost of pointer manipulation by avoiding inspection and adjustment of pointers that do not change. SRC exploits the fact that in modern applications, most live objects have only one incoming pointer. For such objects, SRC stores the address of the referent in the object header. Only objects that move have their referent inspected and adjusted. The remaining pointers in the heap are not processed. SRC uses an overflow table to handle objects with multiple incoming pointers. We investigate a number of standard benchmarks and open-source applications to substantiate key statistical observations that underlie the design of SRC. We implement SRC in the HotSpot JVM as part of a generational collection system and compare it empirically with the Lisp2 compactor. We find that, by decreasing the cost of pointer processing, SRC enables significant reduction in pause times and improves application throughput.
Michal Wegiel, Chandra Krintz
ACM Trans. Archit. Code Optim.1
2008 The mapping collector: virtual memory support for generational, parallel, and concurrent compaction
abstract
Parallel and concurrent garbage collectors are increasingly employed by managed runtime environments (MREs) to maintain scalability, as multi-core architectures and multi-threaded applications become pervasive. Moreover, state-of-the-art MREs commonly implement compaction to eliminate heap fragmentation and enable fast linear object allocation.
Michal Wegiel, Chandra Krintz
ASPLOS1
2008 XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination
abstract
Developers commonly build contemporary enterprise applications using type-safe, component-based platforms, such as J2EE, and architect them to comprise multiple tiers, such as a web container, application server, and database engine. Administrators increasingly execute each tier in its own managed runtime environment (MRE) to improve reliability and to manage system complexity through the fault containment and modularity offered by isolated MRE instances. Such isolation, however, necessitates expensive cross-tier communication based on protocols such as object serialization and remote procedure calls. Administrators commonly co-locate communicating MREs on a single host to reduce communication overhead and to better exploit increasing numbers of available processing cores. However, state-of-the-art MREs offer no support for more efficient communication between co-located MREs, while fast inter-process communication mechanisms, such as shared memory, are widely available as a standard operating system service on most modern platforms.
Michal Wegiel, Chandra Krintz
PLDI1
2008 LGF: A flexible framework for exposing legacy codes as services
Bartosz Balis, Marian Bubak, Michal Wegiel
Future Gener. Comput. Syst.3
2006 A Portable Grid Infrastructure for Resource-Aware Applications
abstract
Modern, 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
CCGRID1
2005 Resource management for clusters of virtual machines
abstract
Enterprise 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
CCGRID2