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.

PhD students

_images/mk.jpg

Maciej Kokociński

Maciej is currently pursuing a PhD degree and working as a research assistant 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

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.

PhD 3

Send your CV, if you are interested.

BS/MS students
_images/hc.jpg

Hubert Cwajda

Hubert is currently pursuing a BS 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.

_images/mg.jpg

Mateusz Gajewski

Mateusz is currently pursuing a BS 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 BS 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 BS 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 BS 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 BS 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 BS 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 BS 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.

Alumni

_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

2022/01/14

Paweł gave an invited lecture to students about the MSc postgraduate degree course in distributed systems, about doing research work in computer science, and about the Persistent Datastore project.

2021/12/14

Jan gave a seminar talk in the Institute of Computing Science at our university, titled Algorytmy odtwarzania stanu dla zreplikowanej maszyny stanowej z pamięcią ulotną i nieulotną. The talk summarizes the results of his forthcoming PhD thesis.

2021/11/16

Jan gave a talk on persistent memory technology in the Distributed Systems group in our department.

2021/11/16

Our paper titled Jiffy: A Lock-free Skip List with Batch Updates and Snapshots has been accepted at PPoPP ‘22: the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (CORE A/140).

2021/11/09

Bartosz Krakowiak defended a MS thesis, titled: Dokładna analiza wykorzystania i wydajności mechanizmu RDMA w komputerach wyposażonych w pamięć trwałą, whose supervisor and adivsor were Tadek and Maciej.

2021/10/12

Maciej gave a seminar talk in the Institute of Computing Science at our university, titled On the correctness of highly-available replicated systems with mixed-consistency operations. The talk summarizes the results of his forthcoming PhD thesis.

2021/10/01

Mateusz Karlic, Antoni Nowinowski, Aleksander Papież, and Adam Pawłowski, BA CS students in our department have joined our project team. They will be working on a BSc Diploma thesis titled Implementation and performance evaluation of state machine replication based on the Paxos protocol with state recovery after crash from persistent memory. Welcome!

2021/09/21

Jan gave a talk “Failure recovery from persistent memory in Paxos-based state machine replication” at SRDS ‘21. The conference was held virtually (21-23 September). The pre-recorded talk is available at https://srds-conference.org/conference_prog.html.

2021/06/22

Our paper titled Failure recovery from persistent memory in Paxos-based state machine replication has been accepted at SRDS ‘21: the 40th International Symposium on Reliable Distributed Systems (CORE B/140).

2021/06/17

Prof. Thomas Ropars (Univ. Grenoble Alpes) gave a talk in our group on the current NVM-related research work in his group in Grenoble. The meeting was held as a videoconference due to pandemic restrictions.

2021/05/03

An article On mixing eventual and strong consistency: acute cloud types has been accepted for publication in the IEEE Transactions on Parallel and Distributed Systems (TPDS) journal (IF 2.6/140).

2021/05/01

Zuzanna Juszczak, Hubert Cwajda, Mateusz Gajewski, and Stanislaw Kaczmarek have joined our project team. They will be working on a BSc Diploma thesis titled A hybrid DRAM-persistent memory data store. Welcome!

2021/02/10

We made several upgrades in our Intel server cluster: faulty DRAM was replaced by a new one (thanks to Intel for sending replacement) and new network cards were added. The new cards support RDMA.

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 value: PLN / EU grant value: PLN.

_images/Logotypy_pasek_EN.png

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