Opened 7 years ago

Closed 7 years ago

#2778 closed task (complete)

Shared memory data source design

Reported by: shane Owned by: UnAssigned
Priority: high Milestone: Sprint-20130319
Component: data source Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DNS Feature Depending on Ticket: shared-memory datasource
Estimated Difficulty: 8 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description (last modified by shane)

The current in-memory data source requires a separate copy for each process. We want to replace this with a shared-memory data source, either based on System V shared memory or mmap. This ticket is to design this.

Content of #2331:


We eventually need to support this; otherwise multiple instances of
b10-auth require multiple copies of in-memory image for the same data.
Obviously it doesn't scale with huge size of zones and many instances
of b10-auth running on many-core boxes.

Actually we shouldn't be very far from this goal. The internal data
structures should be fully offset-pointer based, and all memory
allocation/deallocation are encapsulated with an abstraction of
MemorySegment?, which should be easily adapted to Boost
managed_shared_memory or managed_mapped_file.

We still have to think about several non trivial things:

  • overall design of a memory management process (assuming there will be a new module, tentatively named "b10-memmgr"). how to create and update memory image in a shared memory region or on a mapped file.
  • inter-module protocol between memmgr and others (auth, xfrin, DDNS, etc)
  • maybe configuration

The goal of this ticket is to have discussions on these topics, maybe
led by someone with initial proposals, and (possibly) create specific
development tickets.

Subtickets

Change History (7)

comment:1 Changed 7 years ago by jelte

  • Milestone changed from New Tasks to Sprint-20130305

comment:2 Changed 7 years ago by shane

  • Estimated Difficulty changed from 0 to 8

comment:3 Changed 7 years ago by jinmei

  • Owner set to jinmei
  • Status changed from new to accepted

comment:4 Changed 7 years ago by shane

  • Description modified (diff)

This appears to be a duplicate of #2331... sorry! However, since this one is accepted I'll close the other.

comment:5 Changed 7 years ago by jinmei

  • Owner changed from jinmei to UnAssigned
  • Status changed from accepted to reviewing

I've created a wiki page on the proposed overall design
http://bind10.isc.org/wiki/SharedMemoryIPC
and sent an e-mail to the bind10-dev list about that.

I'm now moving the ticket to the review queue, and once we have some
level of discussion on the design I'll close the ticket (if some
very fundamental issue is raised I still suggest closing this ticket
anyway and create a new one for such issues).

comment:6 Changed 7 years ago by jinmei

I believe we can now close this ticket.

comment:7 Changed 7 years ago by jinmei

  • Resolution set to complete
  • Status changed from reviewing to closed
Note: See TracTickets for help on using tickets.