# Week 48 Status Report
Project NVM - TeamStrata: Optimizing indexing structures for NVM filesystems
## Authors
Bernhard Degen <bdegen@kth.se>
Gordon Gidofalvy <gzgi@kth.se>
Mohamed Hamza <mhmmha@kth.se>
Yung-Chin Liang <ycliang@kth.se>
Zahra Soleymanzadeh <zahraso@kth.se>
Michal Winiarski <michalwi@kth.se>
## Purpose
This report provides an update on the ongoing activities over the last week.
## Weekly tasks
### Integration
Confirm our understanding of inode/dinode with TA before the actual integration. Then insert functions to enable hash-table indexing in Strata.
### Serialization
Create functions to serialize the cuckoo-hash table in memory and allocate a space on disk to store the information about the filesystem when `kernfs` is not running. Corresponding process of deserialization is also created to retrieve the information from disk.
### Member involvement
As the technical part of the project is speeding up, it is important that the documentation works catch up with the technical progress and all members are aware of where the team is heading to.
### Organize the final report
I'll make sure to do
During week 48 Section 1, 2 and 3 of the Final Report have been developed a lot. Strata concept in Introduction has been described more and Methods (Section 2) is almost completed. Most of the comments resolved too.
### Peer reviews
* Provide review for Group #2
* Read review from Group #4
## Risks and Challenges
Strata's way of working is not quite straightforward, so we might end up putting the calls to the wrapper functions in places where they do not belong and forget to add them to places where they do belong. We risk introducing errors by putting in the calls. The improper implementation of the writing of serialized data and reading, then deserializing the data can cause data corruption, as we do not have any error correction / detection in place with our current serialization setup. This can cause much headache and confusion down the line if we implement this improperly.
## Team members Progress Report
| Member | Task | Hours |
|-----------|------|------:|
| Bernhard | Serialize cuckoo hash table | 15 |
| Gordon | Get up to speed with last week's progress, organise hackathon, re-engineer serialization, tidy Git, administrative stuff | 8 |
| Mohamed | writing additional information in the strata section in Background, resolving comments on the report, reviewing and understanding written codes and current progress | 16 |
| Yung-Chin | Serialize cuckoo hash table, peer review of final report | 18 |
| Zahra | completing section Methods in report, making a diagram to explain how NVM memory format works in Strata, reviewing the strata's memory allocation code, resolving final report comment | 16 |
| Michal | Serialize cuckoo hash table | 18 |
## Gantt Chart

## Next Week Schedule
The upcoming technical task is to call the wrapper functions from Strata and verify that the table state is the one we desire. Along with this, we also need to ensure that the serialized hash tables are written to the disk. and By the end of next week, we expect to have wrapper functions well-integrated into Strata and that the serialized hash table is written to disk. At the same time, the final report should keep updating, both content-wise and format-wise.
## Next Week Goals
### Continue hackathons
The goal of next hackathon is to call the wrapper functions from Strata and that we understand how data is written to the disk.
### Update final report
As we progress and modify the code, we should keep track of what we did, and always update the final report accordingly. we will complete chapters background, methods and design.