Demo Data from EDBT 2026 / reviewers in the wild / expert
Ellis Giles
dblp:129/2850 · also Ellis R. Giles, Ellis Robinson Giles
· DBLP profile ↗
9ranked-venue papers
8as first author
1since 2021 · last 2022
0000-0002-0247-3587ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 5 first-author · 1 since 2021Artificial intelligence and machine learning · 2 · 2 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-authorSoftware engineering, systems software and programming languages · 1 · 1 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.
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Memory systems · 70% Storage systems · 30% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Storage systems › transaction support › transactional storage
failure atomicity |
0.2 | 1 | 2016 | Atomic persistence for SCM with a non-intrusive backend controller · HPCA 2016 |
Memory systems
memory controller |
0.2 | 1 | 2016 | Atomic persistence for SCM with a non-intrusive backend controller · HPCA 2016 |
Memory systems
non-volatile memory |
0.2 | 1 | 2016 | Atomic persistence for SCM with a non-intrusive backend controller · HPCA 2016 |
Memory systems › non-volatile memory
storage class memory |
0.2 | 1 | 2016 | Atomic persistence for SCM with a non-intrusive backend controller · HPCA 2016 |
Storage systems
crash consistency |
0.1 | 1 | 2016 | Atomic persistence for SCM with a non-intrusive backend controller · HPCA 2016 |
Methods — techniques the papers use, named apart from their topics
firmware-managed volatile space · 0.2backend controller · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | On Fair Scheduling of Heterogeneous WorkloadsabstractThis paper describes a new resource allocation policy for partitioning the cycles of a multiprocessor among concurrent multi-threaded jobs, together with a novel scheduler implementation in the Linux kernel. Each job consists of tasks whose execution times are drawn from some discrete distribution. Our policy shifts the established application-centric allocation to task-centric allocation by treating the server as a set of logical servers and dividing their joint resources fairly. We maximize task throughput while maintaining client fairness. We designed and developed the OPT scheduler for the Linux kernel, and obtain significant gains in resource utilization over CFS for various workloads. Our OPT scheduler adapts to dynamic workloads and can schedule multi-threaded clients efficiently to implement our resource allocation policy. Ellis Giles, Peter J. Varman |
NAS | 1 |
| 2018 | Brief Announcement: Hardware Transactional Persistent MemoryabstractThis paper addresses the problem of creating durable transactions in byte-addressable Non-Volatile Memory or Persistent Memory (PM) when using Hardware Transactional Memory (HTM)-based concurrency control. It shows how HTM transactions can be ordered correctly and atomically into PM by the use of a novel software protocol combined with a Persistent Memory Controller, without requiring changes to processor cache hardware or HTM protocols. In contrast, previous approaches require significant changes to existing processor microarchitectures. Our approach, evaluated using both micro-benchmarks and the STAMP suite compares well with standard (volatile) HTM transactions. It also yields significant gains in throughput and latency in comparison with persistent transactional locking. Ellis Giles, Kshitij A. Doshi, Peter J. Varman |
SPAA | 1 |
| 2017 | Continuous checkpointing of HTM transactions in NVMabstractThis paper addresses the challenges of coupling byte addressable non-volatile memory (NVM) and hardware transaction memory (HTM) in high-performance transaction processing. We first show that HTM transactions can be ordered using existing processor instructions without any hardware changes. In contrast, existing solutions posit changes to HTM mechanisms in the form of special instructions or modified functionality. We exploit the ordering mechanism to design a novel persistence method that decouples HTM concurrency from back-end NVM operations. Failure atomicity is achieved using redo logging coupled with aliasing to guard against mistimed cache evictions. Our algorithm uses efficient lock-free mechanisms with bounded static memory requirements. We evaluated our approach using both micro-benchmarks, and, benchmarks in the STAMP suite, and showed that it compares well with standard (volatile) HTM transactions. We also showed that it yields significant gains in throughput and latency in comparison with persistent transactional locking. Ellis Giles, Kshitij A. Doshi, Peter J. Varman |
ISMM | 1 |
| 2017 | Brief Announcement: Hardware Transactional Storage Class MemoryabstractEmerging persistent memory technologies (generically referred to as Storage Class Memory or SCM) hold tremendous promise for accelerating popular data-management applications like in-memory databases. However, programmers now need to deal with ensuring the atomicity of transactions on SCM-resident data and maintaining consistency between the persistent and in-memory execution orders of concurrent transactions. The problem is specially challenging when high-performance isolation mechanisms like Hardware Transaction Memory (HTM) are used for concurrency control. Ellis Giles, Kshitij A. Doshi, Peter J. Varman |
SPAA | 1 |
| 2016 | Container-based virtualization for byte-addressable NVM data storageabstractContainer based virtualization is rapidly growing in popularity for cloud deployments and applications as a virtualization alternative due to the ease of deployment coupled with high-performance. Emerging byte-addressable, nonvolatile memories, commonly called Storage Class Memory or SCM, technologies are promising both byte-addressability and persistence near DRAM speeds operating on the main memory bus. These new memory alternatives open up a new realm of applications that no longer have to rely on slow, block-based persistence, but can rather operate directly on persistent data using ordinary loads and stores through the cache hierarchy coupled with transaction techniques. However, SCM presents a new challenge for container-based applications, which typically access persistent data through layers of block based file isolation. Traditional persistent data accesses in containers are performed through layered file access, which slows byte-addressable persistence and transactional guarantees, or through direct access to drivers, which do not provide for isolation guarantees or security. This paper presents a high-performance containerized version of byte-addressable, non-volatile memory (SCM) for applications running inside a container that solves performance challenges while providing isolation guarantees. We created an open-source container-aware Linux loadable Kernel Module (LKM) called Containerized Storage Class Memory, or CSCM, that presents SCM for application isolation and ease of portability. We performed evaluation using microbenchmarks, STREAMS, and Redis, a popular in-memory data structure store, and found our CSCM driver has near the same memory throughput for SCM applications as a non-containerized application running on a host and much higher throughput than persistent in-memory applications accessing SCM through Docker Storage or Volumes. Ellis Giles |
IEEE BigData | 1 |
| 2016 | Persisting in-memory databases using SCMabstractBig Data applications need to be able to access large amounts of variable data as fast as possible. Emerging Storage Class Memory (SCM) fit this need by making memory available in large capacity while making changes endure as a seamless continuation of load-store accesses through processor caches. However, when writing values into a persistent memory tier, programmers are faced with the dual problems of controlling untimely cache evictions that might commit changes prematurely, and of grouping changes and making them durable as a unit so that consistency can be guaranteed in the event of sudden failure. In this paper, we present various methods to achieve high-performance byte-addressable persistence for an in-memory data store. We chose Redis, a popular high-performance memory oriented key value database. We modified its source code to use SCM such that updates to data and structures are performed in a failure resilient manner. We evaluated the changes using both internal benchmarks and the Yahoo! Cloud Servicing Benchmark (YCSB). We found that even though Redis uses many SCM read operations, it can benefit from highly optimized persistent SCM write based approaches, especially when SCM write times are longer than DRAM write times. The paper presents an innovative Local Alias Table Batched (LATB) method, and shows that it outperforms the alternatives. Ellis Giles, Kshitij A. Doshi, Peter J. Varman |
IEEE BigData | 1 |
| 2016 | Atomic persistence for SCM with a non-intrusive backend controllerabstractNon-volatile byte-addressable memory has the potential to revolutionize system architecture by providing instruction-grained direct access to vast amounts of persistent data. We describe a non-intrusive memory controller that uses backend operations for achieving lightweight failure atomicity. By moving synchronous persistent memory operations to the background, the performance overheads are minimized. Our solution avoids costly software intervention by decoupling isolation and concurrency-driven atomicity from failure atomicity and durability, and does not require changes to the front-end cache hierarchy. Two implementation alternatives - one using a hardware structure, and the other extending the memory controller with a firmware managed volatile space - are described. Our results show the performance is significantly better than traditional approaches. Kshitij A. Doshi, Ellis Giles, Peter J. Varman |
HPCA | 2 |
| 2015 | SoftWrAP: A lightweight framework for transactional support of storage class memoryabstractIn-memory computing is gaining popularity as a means of sidestepping the performance bottlenecks of block storage operations. However, the volatile nature of DRAM makes these systems vulnerable to system crashes, while the need to continuously refresh massive amounts of passive memoryresident data increases power consumption. Emerging storage-class memory (SCM) technologies combine fast DRAM-like cache-line access granularity with the persistence of storage devices like disks or SSDs, resulting in potential 10x-100x performance gains, and low passive power consumption. This unification of storage and memory into a single directly-accessible persistent tier raises significant reliability and pro-grammability challenges. In this paper, we present SoftWrAP, an open-source framework for Software based Write-Aside Persistence. SoftWrAP provides lightweight atomicity and durability for SCM storage transactions, while ensuring fast paths to data in processor caches, DRAM, and persistent memory tiers. We use our framework to evaluate both handcrafted SCM-based microbenchmarks as well as existing applications, specifically the STX B+Tree library and SQLite database, backed by emulated SCM. Our results show significant benefits of SoftWrAP over existing methods such as undo logging and shadow copying, and can match non-atomic durable writes to SCM, thereby gaining atomic consistency almost for free. Ellis Giles, Kshitij A. Doshi, Peter J. Varman |
MSST | 1 |
| 2015 | Transaction local aliasing in storage class memoryabstractThis paper describes a lightweight software library to solve the challenges [6], [3], [1], [5], [2] of programming storage class memory (SCM). It provides primitives to demarcate failure-atomic code regions. SCM loads and stores within each demarcated code region (called a “wrap”) are routed through the library, which buffers updates and transmits them to SCM locations asynchronously while allowing their speedy propagation from writers to readers through CPU caches. Ellis Giles, Kshitij A. Doshi, Peter J. Varman |
NAS | 1 |