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

Anastasios Papagiannis

dblp:23/9996 · DBLP profile ↗
← Back
13ranked-venue papers
7as first author
5since 2021 · last 2024
0000-0003-1568-9157ORCID · corroborated

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

Systems, architecture and hardware · 11 · 6 first-author · 4 since 2021Software engineering, systems software and programming languages · 3 · 1 first-author · 2 since 2021

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
6 papers
Storage systems · 96% Cloud and datacenter computing · 4%
Software engineering, system software, and programming languages
3 papers
Runtime systems and virtual machines · 74% Operating systems · 26%

Topics — the 11 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Storage systems › i/o architecture › i/o subsystem
memory-mapped i/o
1.432021
Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage · ACM Trans. Storage 2021
Memory-mapped I/O on steroids · EuroSys 2021
Optimizing Memory-mapped I/O for Fast Storage Devices · USENIX ATC 2020
Storage systems
flash and SSD
1.022024
TeraHeap: Exploiting Flash Storage for Mitigating DRAM Pressure in Managed Big Data Frameworks · ACM Trans. Program. Lang. Syst. 2024
TeraHeap: Reducing Memory Pressure in Managed Big Data Frameworks · ASPLOS (3) 2023
Runtime systems and virtual machines
garbage collection
0.812024
TeraHeap: Exploiting Flash Storage for Mitigating DRAM Pressure in Managed Big Data Frameworks · ACM Trans. Program. Lang. Syst. 2024
Storage systems
key-value storage
0.822021
Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage · ACM Trans. Storage 2021
Tucana: Design and Implementation of a Fast and Efficient Scale-up Key-value Store · USENIX ATC 2016
Operating systems › resource management › memory management
page cache
0.512021
Memory-mapped I/O on steroids · EuroSys 2021
Storage systems › flash and SSD › flash memory
flash storage
0.512021
Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage · ACM Trans. Storage 2021
Storage systems › key-value storage
LSM-tree
0.512021
Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage · ACM Trans. Storage 2021
Storage systems › key-value storage
persistent key-value store
0.512021
Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage · ACM Trans. Storage 2021
Storage systems
storage engine
0.512021
Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage · ACM Trans. Storage 2021
Storage systems › storage devices
fast storage devices
0.322021
Memory-mapped I/O on steroids · EuroSys 2021
Optimizing Memory-mapped I/O for Fast Storage Devices · USENIX ATC 2020
Storage systems › flash and SSD
solid-state drive
0.112021
Memory-mapped I/O on steroids · EuroSys 2021

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

trace-driven evaluation · 1.5hint-based interface · 1.5serialization/deserialization optimization · 1.3partial reorganization · 0.5memory-mapped i/o · 0.5
YearPublicationVenuePosition
2024 TeraHeap: Exploiting Flash Storage for Mitigating DRAM Pressure in Managed Big Data Frameworks
abstract
Big data analytics frameworks, such as Spark and Giraph, need to process and cache massive datasets that do not always fit on the managed heap. Therefore, frameworks temporarily move long-lived objects outside the heap (off-heap) on a fast storage device. However, this practice results in (1) high serialization/deserialization (S/D) cost and (2) high memory pressure when off-heap objects are moved back for processing. In this article, we propose TeraHeap , a system that eliminates S/D overhead and expensive GC scans for a large portion of objects in analytics frameworks. TeraHeap relies on three concepts: (1) It eliminates S/D by extending the managed runtime (JVM) to use a second high-capacity heap (H2) over a fast storage device. (2) It offers a simple hint-based interface, allowing analytics frameworks to leverage object knowledge to populate H2. (3) It reduces GC cost by fencing the collector from scanning H2 objects while maintaining the illusion of a single managed heap, ensuring memory safety. We implement TeraHeap in OpenJDK8 and OpenJDK17 and evaluate it with fifteen widely used applications in two real-world big data frameworks, Spark and Giraph. We find that for the same DRAM size, TeraHeap improves performance by up to 73% and 28% compared to native Spark and Giraph. Also, it can still provide better performance by consuming up to \(4.6\times\) and \(1.2\times\) less DRAM than native Spark and Giraph, respectively. TeraHeap can also be used for in-memory frameworks and applying it to the Neo4j Graph Data Science library improves its performance by up to 26%. Finally, it outperforms Panthera, a state-of-the-art garbage collector for hybrid DRAM-NVM memories, by up to 69%.
Iacovos G. Kolokasis, Giannos Evdorou, Shoaib Akram 0001, Christos Kozanitis, Anastasios Papagiannis, Foivos S. Zakkak, Polyvios Pratikakis, Angelos Bilas
ACM Trans. Program. Lang. Syst.5
2023 TeraHeap: Reducing Memory Pressure in Managed Big Data Frameworks
abstract
Big data analytics frameworks, such as Spark and Giraph, need to process and cache massive amounts of data that do not always fit on the managed heap. Therefore, frameworks temporarily move long-lived objects outside the managed heap (off-heap) on a fast storage device. However, this practice results in (1) high serialization/deserialization (S/D) cost and (2) high memory pressure when off-heap objects are moved back to the heap for processing.
Iacovos G. Kolokasis, Giannos Evdorou, Shoaib Akram 0001, Christos Kozanitis, Anastasios Papagiannis, Foivos S. Zakkak, Polyvios Pratikakis, Angelos Bilas
ASPLOS (3)5
2021 Parallax: Hybrid Key-Value Placement in LSM-based Key-Value Stores
abstract
Key-value (KV) separation is a technique that introduces randomness in the I/O access patterns to reduce I/O amplification in LSM-based key-value stores. KV separation has a significant drawback that makes it less attractive: Delete and update operations in modern workloads result in frequent and expensive garbage collection (GC) in the value log.
Giorgos Xanthakis, Giorgos Saloustros, Nikos Batsaras, Anastasios Papagiannis, Angelos Bilas
SoCC4
2021 Memory-mapped I/O on steroids
abstract
With current technology trends for fast storage devices, the host-level I/O path is emerging as a main bottleneck for modern, data-intensive servers and applications. The need to improve I/O performance requires customizing various aspects of the I/O path, including the page cache and the method to access the storage devices.
Anastasios Papagiannis, Manolis Marazakis, Angelos Bilas
EuroSys1
2021 Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage
abstract
Persistent key-value stores have emerged as a main component in the data access path of modern data processing systems. However, they exhibit high CPU and I/O overhead. Nowadays, due to power limitations, it is important to reduce CPU overheads for data processing. In this article, we propose Kreon , a key-value store that targets servers with flash-based storage, where CPU overhead and I/O amplification are more significant bottlenecks compared to I/O randomness. We first observe that two significant sources of overhead in key-value stores are: (a) The use of compaction in Log-Structured Merge-Trees (LSM-Tree) that constantly perform merging and sorting of large data segments and (b) the use of an I/O cache to access devices, which incurs overhead even for data that reside in memory. To avoid these, Kreon performs data movement from level to level by using partial reorganization instead of full data reorganization via the use of a full index per-level. Kreon uses memory-mapped I/O via a custom kernel path to avoid a user-space cache. For a large dataset, Kreon reduces CPU cycles/op by up to 5.8×, reduces I/O amplification for inserts by up to 4.61×, and increases insert ops/s by up to 5.3×, compared to RocksDB.
Anastasios Papagiannis, Giorgos Saloustros, Giorgos Xanthakis, Giorgos Kalaentzis, Pilar González-Férez, Angelos Bilas
ACM Trans. Storage1
2020 Say Goodbye to Off-heap Caches! On-heap Caches Using Memory-Mapped I/O
Iacovos G. Kolokasis, Anastasios Papagiannis, Polyvios Pratikakis, Angelos Bilas, Foivos S. Zakkak
HotStorage2
2020 Optimizing Memory-mapped I/O for Fast Storage Devices
Anastasios Papagiannis, Giorgos Xanthakis, Giorgos Saloustros, Manolis Marazakis, Angelos Bilas
USENIX ATC1
2018 An Efficient Memory-Mapped Key-Value Store for Flash Storage
abstract
Persistent key-value stores have emerged as a main component in the data access path of modern data processing systems. However, they exhibit high CPU and I/O overhead. Today, due to power limitations it is important to reduce CPU overheads for data processing.
Anastasios Papagiannis, Giorgos Saloustros, Pilar González-Férez, Angelos Bilas
SoCC1
2016 Tucana: Design and Implementation of a Fast and Efficient Scale-up Key-value Store
Anastasios Papagiannis, Giorgos Saloustros, Pilar González-Férez, Angelos Bilas
USENIX ATC1
2014 Vanguard: Increasing Server Efficiency via Workload Isolation in the Storage I/O Path
abstract
Server consolidation via virtualization is an essential technique for improving infrastructure cost in modern datacenters. From the viewpoint of datacenter operators, consolidation offers compelling advantages by reducing the number of physical servers, and reducing operational costs such as energy consumption. However, performance interference between co-located workloads can be crippling. Conservatively, and at significant cost, datacenter operators are forced to keep physical servers at low utilization levels (typically below 20%), to minimize adverse performance interactions.
Yannis Sfakianakis, Stelios Mavridis, Anastasios Papagiannis, Spyridon Papageorgiou, Markos Fountoulakis, Manolis Marazakis, Angelos Bilas
SoCC3
2014 Jericho: Achieving scalability through optimal data placement on multicore systems
abstract
Achieving high I/O throughput on modern servers presents significant challenges. With increasing core counts, server memory architectures become less uniform, both in terms of latency as well as bandwidth. In particular, the bandwidth of the interconnect among NUMA nodes is limited compared to local memory bandwidth. Moreover, interconnect congestion and contention introduce additional latency on remote accesses. These challenges severely limit the maximum achievable storage throughput and IOPS rate. Therefore, data and thread placement are critical for data-intensive applications running on NUMA architectures. In this paper we present Jericho, a new I/O stack for the Linux kernel that improves affinity between application threads, kernel threads, and buffers in the storage I/O path. Jericho consists of a NUMA-aware filesystem and a DRAM cache organized in slices mapped to NUMA nodes. The Jericho filesystem implements our task placement policy by dynamically migrating application threads that issue I/Os based on the location of the corresponding I/O buffers. The Jericho DRAM I/O cache, a replacement for the Linux page-cache, splits buffer memory in slices, and uses per-slice kernel I/O threads for I/O request processing. Our evaluation shows that running the FIO microbenchmark on a modern 64-core server with an unmodified Linux kernel results in only 5% of the memory accesses being served by local memory. With Jericho, more than 95% of accesses become local, with a corresponding 2x performance improvement.
Stelios Mavridis, Yannis Sfakianakis, Anastasios Papagiannis, Manolis Marazakis, Angelos Bilas
MSST3
2014 Hybrid address spaces: A methodology for implementing scalable high-level programming models on non-coherent many-core architectures
Anastasios Papagiannis, Dimitrios S. Nikolopoulos
J. Syst. Softw.1
2010 Rearchitecting MapReduce for Heterogeneous Multicore Processors with Explicitly Managed Memories
abstract
This paper presents a new design and an implementation of the runtime system of MapReduce for heterogeneous multicore processors with explicitly managed local memories. We advance the state of the art in runtime support for MapReduce using five instruments: (1) A new multi-threaded, event-driven controller for task instantiation, task scheduling, synchronization, and bulk-synchronous execution of MapReduce stages. The controller improves utilization of control efficient cores, minimizes control overhead in the runtime system, and overlaps task instantiation with task scheduling on compute-efficient cores. (2) An implicit partitioning scheme which eliminates redundant memory copies. (3) An adaptive memory management scheme which combines efficient memory preallocation for applications with statically known output volume with dynamic allocation using runahead tasks for applications with statically unknown output volume. (4) An optimized quick-sort/merge-sort scheme which reduces the critical path length of merge-sort. (5) An optimized execution scheme which avoids redundant data transfers to and from local stores in applications that emit keys with the same value. Put together, these techniques accelerate representative MapReduce workloads by a factor of 1.81x (geometric mean) compared to a reference design that represents the state of the art.
Anastasios Papagiannis, Dimitrios S. Nikolopoulos
ICPP1