Project

General

Profile

Task #1706

Reduce implicit digest computation in ContentStore

Added by Junxiao Shi over 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Tables
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
6.00 h

Description

Every time a Data packet is inserted to the ContentStore, its full Name (including the implicit digest component) is requested, which involves implicit digest computation; benchmark shows that implicit digest computation accounts for 48% time in a find-insert scenario.

The purpose of requesting a full Name upon insertion is to determine the relative order between two Data packets that have the same Name (without implicit digest), and to determine whether a cached Data can satisfy an Interest that may contain an implicit digest as its last Name component or exclude a range of implicit digests.
However, most Data packets have unique Names so their ordering can be determined without knowing the full Name, and most Interests do not appear to have an implicit digest as its last Name component and do not appear to exclude a range of implicit digests.
Therefore, we can optimize for the expected case, to eliminate implicit digest computation unless when necessary.

This Task is to implement the idea in tables-concept-cs_20140117.pptx, so that implicit digest computation is performed only when necessary.


Files

tables-concept-cs_20140117.pptx (62.9 KB) tables-concept-cs_20140117.pptx Junxiao Shi, 06/26/2014 11:37 PM
repo-index_20140617.pptx (45.5 KB) repo-index_20140617.pptx Junxiao Shi, 09/28/2014 05:16 PM

Related issues

Related to ndn-cxx - Task #1707: Reduce implicit digest computation in Interest::matchesDataClosedJunxiao Shi

Actions
Blocked by ndn-cxx - Task #1640: ImplicitSha256DigestComponentClosedAlex Afanasyev

Actions
Blocked by NFD - Task #2254: Rewrite ContentStore based on ContentStore stubClosedJunxiao Shi

Actions

Also available in: Atom PDF