_images/Logotypy_pasek_EN.png

Project objectives

Persistent or non-volatile memory technologies are emerging, such as ReRAM and 3D XPoint. Servers equipped with non-volatile main memory will not loose memory content if they crash or are switched off. As computer architectures equipped with NVM become mainstream, there will be an increasing demand on revising software for data management, so that it can fully utilize the new hardware. In particular, IT industry will focus on developing a new generation of robust and highly available in-memory data store systems which both scale and are durable. This opportunity opens new avenues of research that we are exploring—on distributed synchronization, replication, and recovery algorithms for such systems.

_images/replication-white-bg.png
_images/cabinets.png

Contrary to SQL database systems that strive to ensure strong consistency properties but have mediocre performance, the existing in-memory NoSQL data store systems are scalable but ensure only weak consistency properties, so they are not suitable for all type of applications. They admit certain undesirable anomalies, such as lost updates, inconsistent state, out of order request processing, and split-brain syndrome. They are also unable to take full advantage of NVM, as their internal architectures are predicated on the assumption that memory is volatile.

The goal of the Persistent Datastore project is to develop cutting-edge solutions for a new generation of highly-available data store systems that ensure strong consistency and durability like traditional SQL database systems, but are efficient and scalable as the state-of-the-art NoSQL systems.

As a proof of concept, we develop PersistentDS™—a toolkit of datastore protocols and replicated data types for computer systems equipped with persistent memory.

_images/plant.png

Project tasks

Distributed synchronization

_images/synchronization.png

We develop methods and algorithms that can ensure strong consistency. E.g., we propose Executive Paxos—a distributed consensus protocol which gives strong guarantees on the relative order of delivery of broadcast messages and, at the same time, allows for multiple concurrent instances as in Paxos—the most popular protocol of this sort.

NVM-enabled replication

_images/replication.png

We develop methods and algorithms for software-based fault-tolerant replication aimed at NVM-enabled in-memory replicated data stores. They are designed to increase system scalability and functionality without loosing strong consistency. The key idea is to explore data and command partitioning and other techniques.

Acute Cloud Types

_images/objects-2.png

We design Acute Cloud Types—a set of new conflict-free replicated data structures and types. While ensuring scalable performance, ACTs will provide new abstractions which combine the advantages of eventual consistency (efficiency and scalability) with the advantages of strong consistency (flexibility and ease of use).

NVM-enabled recovery

_images/recovery-1.png

We design and evaluate recovery algorithms for the emerging NVM-enabled replicated data store systems, in particular those based on Paxos. The algorithms can provide efficient system recovery after failures, such as node crashes or network partitions, assuming no Byzantine errors.

Team

Main activities are conducted at Poznań University of Technology and University of Lugano, but we also plan to collaborate with top research labs and industrial partners in Europe within COST.

Principal investigator

_images/pw.jpg

Paweł T. Wojciechowski, Associate Professor

Paweł received the Habilitation degree from Poznan University of Technology (PUT) and the PhD degree in computer science from the University of Cambridge. He was a postdoctoral researcher with the School of Computer and Communication Sciences, École polytechnique fédérale de Lausanne (EPFL) and with the University of Cambridge. He is currently an associate professor with the Institute of Computing Science, PUT. His research interests span topics in concurrency, distributed computing, and programming languages.

Foreign collaborator

_images/fp.jpg

Fernando Pedone, Full Professor

Prof. Pedone received the PhD degree in computer science from the École polytechnique fédérale de Lausanne (EPFL). He was a visiting professor at Cornell University, a postdoctoral researcher at EPFL and Hewlett-Packard Laboratories (HP Labs). He is a full professor in the Faculty of Informatics at the University of Lugano (USI). His research interests include the theory and practice of dependable distributed systems and distributed data management systems.

Postdocs

_images/tk.png

Tadeusz Kobus, PhD

Tadeusz obtained his Ph.D. in computer science from Poznan University of Technology in 2017, where he is currently an Assistant Professor in the Institute of Computing Science. In the past, he was an intern at IBM T. J. Watson Research Center and worked on research projects for Egnyte. His research interests include fault tolerant distributed algorithms, transactional memory, and group communication systems.

_images/mk.jpg

Maciej Kokociński, PhD

Maciej obtained his Ph.D. in computer science from Poznan University of Technology in 2022. He is currently a Postdoctoral researcher in the Institute of Computing Science, Poznan University of Technology, Poland, where he also received BS and MS degrees in Computer Science, in 2009 and 2010 respectively. In the past, he worked on research projects for Egnyte. His current research interests include the theory and practice of distributed systems and transactional memory.

_images/jk.jpg

Jan Kończak, PhD

Jan is currently pursuing a PhD degree and working as a research assistant in the Institute of Computing Science, Poznań University of Technology, Poland, where he also received BS and MS degrees in Computer Science, in 2011 and 2012 respectively. His research interests include fault tolerant distributed algorithms, transactional memory, state machine replication and group communication systems.

BS/MS students

_images/hc.jpg

Hubert Cwajda

Hubert is currently pursuing a MS degree in Computer Science at Poznan University of Technology. He was a finalist of the IT and Cybersecurity Contest in 2017. He was several times awarded a Rector’s scholarship for outstanding academic results and additional activity. His main interests include middle-level programming and high performance computing.

Alumni

_images/mg.jpg

Mateusz Gajewski

Mateusz is currently pursuing a MS degree in Computer Science at Poznan University of Technology. He has been a finalist in the Polish Physics Olympiad in 2018. His interests include distributed systems, concurrent programming, and databases.

_images/zj.jpg

Zuzanna Juszczak

Zuzanna is currently pursuing a MS degree in Computer Science at Poznan University of Technology. Several times she has been awarded with a scholarship given her great academic results. Her interests include data store systems and concurrent programming.

_images/sk.jpg

Stanislaw Kaczmarek

Stanisław is currently pursuing a MS degree in Computer Science at Poznan University of Technology. Several times he was awarded a Rector’s Scholarship for his academic results. His interests include databases and concurrent programming.

_images/mak.jpg

Mateusz Karlic

Mateusz is currently pursuing a MS degree in Computer Science at Poznan University of Technology. Several times he was awarded a Rector’s Scholarship for his academic results. His interests include operating systems, low-level programming, and recently distributed systems.

_images/an.jpg

Antoni Nowinowski

Antoni is currently pursuing a MS degree in Computer Science at Poznan University of Technology. Several times he was awarded a Rector’s scholarship for academic results. His interests include concurrent programming and formal languages.

_images/alp.jpg

Aleksander Papież

Aleksander is currently pursuing a MS degree in Computer Science at Poznan University of Technology. Several times he was awarded a Rector’s scholarship for academic results. His interests include databases, concurrent programming, and microservices.

_images/ap.jpg

Adam Pawłowski

Adam is currently pursuing a MS degree in Computer Science at Poznan University of Technology. He was a bronze medalist in the Polish Olympiad in Informatics in 2018. His interests include distributed systems and concurrent programming.

_images/kk.png

Krzysztof Kortas

Krzysztof received the MS and BS degrees in Computer Science at Poznan University of Technology, in 2019 and 2020, respectively. He was a finalist for the Polish Olympiad in Mathematics in 2015. His interests include concurrent and distributed programming.

_images/jz.jpg

Jan Ziemniewicz

Jan received the MS and BS degrees in Computer Science at Poznan University of Technology, in 2021 and 2020, respectively. His interests include cybersecurity, distributed programming and cloud technologies. He is a laureate of the Cybersecurity Challenge 2020PL competition organized under the patronage of the Polish Ministry of Digitization.

Recent News

Date

News

2023/06/30

The TEAM project has officially come to an end. However, there are still unfinished research tasks and papers on which we intend to continue working.

2023/06/27

Paweł gave an invited keynote speech, titled A selective and biased choice of techniques for building a distributed data store, at the 17th ACM International Conference on Distributed and Event-Based Systems (DEBS ‘23), a premier venue for academia and industry to discuss cutting-edge research of event-based computing related to Big Data, AI/ML, IoT, and Distributed Systems (27–30 June 2023, Neuchâtel, Switzerland). Here is the abstract of the keynote.

2023/06/22

Paweł visited the Department of Computer Science at ETH Zurich (Swiss Federal Institute of Technology in Zürich), invited by prof. Ana Klimović who leads the Efficient Architectures and Systems Lab (part of Systems Group). During a meeting we talked about our research interests and current work.

2023/06/21

Paweł gave an invited talk, titled A selective and biased choice of techniques for building a distributed data store, at Google Zürich headquarters. The visit was also a good opportunity to discuss the results of our Project with people in the IT industry during a number of impromptu meetings with Google engineers (21-23 June 2023, Zürich, Switzerland).

2023/05/23

We presented the results of the Project during a poster session at the 1st Science Day of Poznan University of Technology. As part of the event, presentations were made by individual Faculties, Institutes, Departments, EUNICE and units related to the scientific activity of PUT.

2023/05/16

Paweł gave a talk summarizing the results of the Project during the Conference Seminars, a one-day event organized by our institute to promote research work done for the last year by research groups forming our institute.

2023/04/21

Our paper, titled On the correctness of highly available systems in the presence of failures, has been accepted for publication in the Elsevier Journal of Parallel and Distributed Computing (JPDC) (CORE A, MEiN 100).

2023/03/28

The Discipline Council at our faculty voted to award Maciej and Jan’s PhDs a distinction. Congratulations!

2023/02/07

A remote meeting was held, which was a continuation of Paweł’s and Jan’s talks at the one-day workshop in the headquarters of Intel Poland in Gdańsk. At this meeting, we answered a number of questions that arose after listening to our talks and presented our plans for the future. In addition, we agreed to extend the server rental we received from Intel during the global pandemic until February 28, 2028.

2023/01/31

Unfortunately, Intel officially cancelled the Intel® Optane™ Persistent Memory. This decision was first revealed in mid-2022 and was a surprise to us. Luckily, our research results to date are largely orthogonal to a concrete technology. However, our prototype implementations that use Intel Optane DC Persistent Memory chips have been affected by Intel’s decision. Currently, there is no alternative product and it is unclear if there will ever be. However, a new kind of storage devices will appear that use persistent memory within the CXL (Compute Express Link), a new open standard for high-speed, high capacity central processing unit (CPU)-to-device and CPU-to-memory connections, designed for high performance data center computers. Intel announced that they are committed to continue to support development of CXL on Intel platforms as they believe it will be the future and standard of tiered-memory solutions.

2023/01/09

Paweł and Jan gave two invited talks during a one-day workshop organized by Intel Poland in its headquarters in Gdańsk. They presented in detail the recent results of the Project. The workshop was a good opportunity to learn about various projects at Intel, discuss avenues for any future collaboration, meet people from different R&D groups, including the group that developed PMDK (a library that we used), and thank again Intel for lending us servers that are equipped with persistent memory.

History

Funding

The project is financed within the TEAM programme of the Foundation for Polish Science co-financed by the European Union under the European Regional Development Fund. Project & EU grant value.

Contact us

If you have any questions about the Persistent Datastore project, please don’t hesitate to contact us.

Institute of Computing Science, Poznań University of Technology, Piotrowo 2, Poznań 60-965, Poland
mailto: Pawel . T . Wojciechowski @ put.edu.pl
phone: +(48) 61 665 3021