Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research for Low-Level Storage Layout for DataFacade Implementation #55

Closed
wangyoucao577 opened this issue Aug 1, 2019 · 3 comments
Closed
Assignees
Labels
Design Documentation Research Read paper/issue/code for better understanding

Comments

@wangyoucao577
Copy link

wangyoucao577 commented Aug 1, 2019

DataFacadeProvider, ContinuousBlobAllocator, Storage

More information please go to here: #56

@wangyoucao577 wangyoucao577 changed the title Research for Low-Level Stroage Layout for DataFacade Implementation Research for Low-Level Storage Layout for DataFacade Implementation Aug 15, 2019
@CodeBear801
Copy link

facade layer is the one designed for service, so all data in all kind of model will be initialized by default.
This layer mainly designed for visiting data not updating data.

In customizer.cpp, it loads needed data to update cost metric, this step need loads and writes data, so not directly use current facade layer.

@CodeBear801
Copy link

In Customizer::Run, It will load data via

    auto graph = LoadAndUpdateEdgeExpandedGraph(
        config, mlp, node_weights, node_durations, node_distances, connectivity_checksum);

    partitioner::files::readCells(config.GetPath(".osrm.cells"), storage);

    extractor::files::readNodeData(config.GetPath(".osrm.ebg_nodes"), node_data);

    extractor::files::readProfileProperties(config.GetPath(".osrm.properties"), properties);

Then will recalculate metric by

    auto metrics = customizeFilteredMetrics(graph, storage, CellCustomizer{mlp}, filter);

And then dump result

   files::writeCellMetrics(config.GetPath(".osrm.cell_metrics"), metric_exclude_classes);
   MultiLevelEdgeBasedGraph shaved_graph{std::move(graph),
                                          std::move(node_weights),
                                          std::move(node_durations),
                                          std::move(node_distances)};
   customizer::files::writeGraph(
        config.GetPath(".osrm.mldgr"), shaved_graph, connectivity_checksum);

@CodeBear801 CodeBear801 self-assigned this Aug 29, 2019
@CodeBear801 CodeBear801 added the Design Documentation label Aug 29, 2019
@wangyoucao577 wangyoucao577 added the Research Read paper/issue/code for better understanding label Oct 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design Documentation Research Read paper/issue/code for better understanding
Projects
None yet
Development

No branches or pull requests

2 participants