Hi Michael,

Yes, testing is always a problem, and that is exactly why we would like to
release
our code as a plugin, outside of the main source tree, so that the project
won't
need to test the hardware-dependent code.
The pluggable CommitLog will allow this approach.

Actually, we have already released another plugin for CAPI-Flash-based
RowCache,
which takes advantage of the pluggable RowCache mechanism.
https://github.com/ppc64le/capi-rowcache
We would just like to repeat this approach in CommitLog.


Thanks,
Rei Odaira


2017-11-01 16:30 GMT-05:00 Michael Kjellman <mkjell...@internalcircle.com>:

> Rei:
>
> One thing that comes up when these type of conversations occur is how the
> project can test hardware dependent code. In the case of the PPC64 stuff,
> hardware actually got donated to the ASF so Jenkins runs could be done to
> check that things work. Any thoughts on this aspect? Might be a bit
> pre-mature, but I thought I'd at least mention it... On the flip side: if
> CommitLog becomes pluggable enough, shipping an implementation compatible
> with the hardware out of tree might also be viable too.
>
> best,
> kjellman
>
> > On Nov 1, 2017, at 2:25 PM, 大平怜 <rei.oda...@gmail.com> wrote:
> >
> > Hi Ariel,
> >
> > CommitLogSegment assumes commit log files stored on a regular file
> system.
> > Our CAPI Flash system bypasses OS and directly accesses flash,
> > so we cannot use the current framework of CommitLogSegment as it is.
> > Intel's SPDK also bypasses a file system, so we think this kind of
> > requirement
> > is not uncommon.
> >
> > It would not be easy to reuse AbstractCommitLogSegmentManager, either,
> > because the archiving and synchronization logics have to be decoupled.
> > It would require major rework, and we don't think we should affect
> > the existing implementation so much.
> >
> > We do not change any existing format of CommitLog.  Our plugin will use
> > its own format, as it must manage commit logs on the 4KB-block-oriented
> > address spaces of flash devices.
> >
> >
> > Regards,
> > Rei Odaira
> >
> >
> > 2017-10-31 15:38 GMT-05:00 Ariel Weisberg <ar...@weisberg.ws>:
> >
> >> Hi,
> >>
> >> There are pluggable elements to the commit log such as those used to
> >> support mmap or compressed.
> >>
> >> Can you describe at a high level what a new implementation would look
> >> like and why it can't be a mode of the existing implementation?
> >>
> >> You are not proposing changing the format correct?
> >>
> >> Regards,
> >> Ariel
> >>
> >> On Tue, Oct 31, 2017, at 04:09 PM, 大平怜 wrote:
> >>> Hello,
> >>>
> >>> We are developing a Cassandra plugin to store CommitLog on our
> >>> low-latency
> >>> Flash device (CAPI-Flash).  To do that, the original CommitLog
> interface
> >>> must be changed to allow plugins.  Anyone has any thoughts about it?
> We
> >>> have our codebase ready, but we think we should start with high-level
> >>> discussion.
> >>>
> >>> The runtime overhead will be minimal.  The only overhead will be
> changing
> >>> method invocations to CommitLog#add(), CommitLog#getCurrentPosition(),
> >>> etc.
> >>> into interface invocations.
> >>>
> >>> Synching to CommitLog is one of the performance bottlenecks in
> Cassandra
> >>> especially with batch commit.  I think the pluggable CommitLog will
> allow
> >>> other interesting alternatives, such as one using SPDK.  Appreciate any
> >>> comments.
> >>>
> >>>
> >>> Regards,
> >>> Rei Odaira
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> >> For additional commands, e-mail: dev-h...@cassandra.apache.org
> >>
> >>
>
>

Reply via email to