All of lore.kernel.org
 help / color / mirror / Atom feed
* fun with seastar
@ 2017-10-23 20:17 Casey Bodley
  2017-10-24  2:23 ` Haomai Wang
  2017-10-24  3:25 ` Mark Nelson
  0 siblings, 2 replies; 6+ messages in thread
From: Casey Bodley @ 2017-10-23 20:17 UTC (permalink / raw)
  To: The Sacred Order of the Squid Cybernetic

Hi folks,

I mentioned in last week's perf call that I've been experimenting with 
the Seastar library [1] to see how well it can integrate with the ceph 
codebase. So far I've managed to add bufferlist conversions to/from the 
seastar buffer types, and build up a seastar messenger that can 
send/receive ceph Messages. The branch [2] includes a simple echo server 
unit test and a README with build instructions.

This follows some prototype work a couple years ago by Adam Emerson and 
myself, dubbed Project Crimson [3], to evaluate Seastar as the basis for 
a low-latency OSD. Interesting parts of this project include a Cap'n 
Proto-based messenger and an async ObjectStore interface with Memstore 
implementation.

-Casey

[1] https://github.com/scylladb/seastar
[2] https://github.com/cbodley/ceph/commits/wip-seastar-msg
[3] https://github.com/cohortfsllc/crimson

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fun with seastar
  2017-10-23 20:17 fun with seastar Casey Bodley
@ 2017-10-24  2:23 ` Haomai Wang
  2017-10-24 20:17   ` Casey Bodley
  2017-10-24  3:25 ` Mark Nelson
  1 sibling, 1 reply; 6+ messages in thread
From: Haomai Wang @ 2017-10-24  2:23 UTC (permalink / raw)
  To: Casey Bodley; +Cc: The Sacred Order of the Squid Cybernetic

On Tue, Oct 24, 2017 at 4:17 AM, Casey Bodley <cbodley@redhat.com> wrote:
> Hi folks,
>
> I mentioned in last week's perf call that I've been experimenting with the
> Seastar library [1] to see how well it can integrate with the ceph codebase.
> So far I've managed to add bufferlist conversions to/from the seastar buffer
> types, and build up a seastar messenger that can send/receive ceph Messages.
> The branch [2] includes a simple echo server unit test and a README with
> build instructions.
>
> This follows some prototype work a couple years ago by Adam Emerson and
> myself, dubbed Project Crimson [3], to evaluate Seastar as the basis for a
> low-latency OSD. Interesting parts of this project include a Cap'n
> Proto-based messenger and an async ObjectStore interface with Memstore
> implementation.

I'm also interested on seastar, but how we get benefit from it to
ceph? rewrite lots of codes is needed to fit seastar framework..... I
think a rough integration can't see much benefit

>
> -Casey
>
> [1] https://github.com/scylladb/seastar
> [2] https://github.com/cbodley/ceph/commits/wip-seastar-msg
> [3] https://github.com/cohortfsllc/crimson
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fun with seastar
  2017-10-23 20:17 fun with seastar Casey Bodley
  2017-10-24  2:23 ` Haomai Wang
@ 2017-10-24  3:25 ` Mark Nelson
  2017-10-24 20:34   ` Casey Bodley
  1 sibling, 1 reply; 6+ messages in thread
From: Mark Nelson @ 2017-10-24  3:25 UTC (permalink / raw)
  To: Casey Bodley, The Sacred Order of the Squid Cybernetic

Hi Casey!

On 10/23/2017 03:17 PM, Casey Bodley wrote:
> Hi folks,
>
> I mentioned in last week's perf call that I've been experimenting with
> the Seastar library [1] to see how well it can integrate with the ceph
> codebase. So far I've managed to add bufferlist conversions to/from the
> seastar buffer types, and build up a seastar messenger that can
> send/receive ceph Messages. The branch [2] includes a simple echo server
> unit test and a README with build instructions.
>
> This follows some prototype work a couple years ago by Adam Emerson and
> myself, dubbed Project Crimson [3], to evaluate Seastar as the basis for
> a low-latency OSD. Interesting parts of this project include a Cap'n
> Proto-based messenger and an async ObjectStore interface with Memstore
> implementation.

So after I saw your initial work on project crimson a month or two ago I 
went out and started working through the seastar tutorial.  I never 
really got past screwing around with it since I've been tied up in other 
stuff, but it seems like you must like seastar enough to be willing to 
sink some time into it.  Where are you planning on taking this next?

Mark

>
> -Casey
>
> [1] https://github.com/scylladb/seastar
> [2] https://github.com/cbodley/ceph/commits/wip-seastar-msg
> [3] https://github.com/cohortfsllc/crimson
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fun with seastar
  2017-10-24  2:23 ` Haomai Wang
@ 2017-10-24 20:17   ` Casey Bodley
  0 siblings, 0 replies; 6+ messages in thread
From: Casey Bodley @ 2017-10-24 20:17 UTC (permalink / raw)
  To: Haomai Wang; +Cc: The Sacred Order of the Squid Cybernetic



On 10/23/2017 10:23 PM, Haomai Wang wrote:
> On Tue, Oct 24, 2017 at 4:17 AM, Casey Bodley <cbodley@redhat.com> wrote:
>> Hi folks,
>>
>> I mentioned in last week's perf call that I've been experimenting with the
>> Seastar library [1] to see how well it can integrate with the ceph codebase.
>> So far I've managed to add bufferlist conversions to/from the seastar buffer
>> types, and build up a seastar messenger that can send/receive ceph Messages.
>> The branch [2] includes a simple echo server unit test and a README with
>> build instructions.
>>
>> This follows some prototype work a couple years ago by Adam Emerson and
>> myself, dubbed Project Crimson [3], to evaluate Seastar as the basis for a
>> low-latency OSD. Interesting parts of this project include a Cap'n
>> Proto-based messenger and an async ObjectStore interface with Memstore
>> implementation.
> I'm also interested on seastar, but how we get benefit from it to
> ceph? rewrite lots of codes is needed to fit seastar framework..... I
> think a rough integration can't see much benefit

Right. The Seastar model imposes a lot of constraints to achieve the 
performance that it does, and that makes it hard to use with existing 
Ceph code. But for now, I think it's worth exploring what shape such an 
OSD would take, what early steps we could take to get something working, 
and what the biggest challenges would be going forward.

>> -Casey
>>
>> [1] https://github.com/scylladb/seastar
>> [2] https://github.com/cbodley/ceph/commits/wip-seastar-msg
>> [3] https://github.com/cohortfsllc/crimson
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fun with seastar
  2017-10-24  3:25 ` Mark Nelson
@ 2017-10-24 20:34   ` Casey Bodley
  2017-10-24 21:22     ` Mark Nelson
  0 siblings, 1 reply; 6+ messages in thread
From: Casey Bodley @ 2017-10-24 20:34 UTC (permalink / raw)
  To: Mark Nelson, The Sacred Order of the Squid Cybernetic



On 10/23/2017 11:25 PM, Mark Nelson wrote:
> Hi Casey!
>
> On 10/23/2017 03:17 PM, Casey Bodley wrote:
>> Hi folks,
>>
>> I mentioned in last week's perf call that I've been experimenting with
>> the Seastar library [1] to see how well it can integrate with the ceph
>> codebase. So far I've managed to add bufferlist conversions to/from the
>> seastar buffer types, and build up a seastar messenger that can
>> send/receive ceph Messages. The branch [2] includes a simple echo server
>> unit test and a README with build instructions.
>>
>> This follows some prototype work a couple years ago by Adam Emerson and
>> myself, dubbed Project Crimson [3], to evaluate Seastar as the basis for
>> a low-latency OSD. Interesting parts of this project include a Cap'n
>> Proto-based messenger and an async ObjectStore interface with Memstore
>> implementation.
>
> So after I saw your initial work on project crimson a month or two ago 
> I went out and started working through the seastar tutorial. I never 
> really got past screwing around with it since I've been tied up in 
> other stuff, but it seems like you must like seastar enough to be 
> willing to sink some time into it.  Where are you planning on taking 
> this next?
>
> Mark

I don't think there are any solid plans yet, but I think it would be 
cool to hook up a ceph messenger to Adam's memstore and see how well it 
does with something like rados bench.

>
>>
>> -Casey
>>
>> [1] https://github.com/scylladb/seastar
>> [2] https://github.com/cbodley/ceph/commits/wip-seastar-msg
>> [3] https://github.com/cohortfsllc/crimson
>> -- 
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fun with seastar
  2017-10-24 20:34   ` Casey Bodley
@ 2017-10-24 21:22     ` Mark Nelson
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Nelson @ 2017-10-24 21:22 UTC (permalink / raw)
  To: Casey Bodley, Mark Nelson, The Sacred Order of the Squid Cybernetic

On 10/24/2017 03:34 PM, Casey Bodley wrote:
>
>
> On 10/23/2017 11:25 PM, Mark Nelson wrote:
>> Hi Casey!
>>
>> On 10/23/2017 03:17 PM, Casey Bodley wrote:
>>> Hi folks,
>>>
>>> I mentioned in last week's perf call that I've been experimenting with
>>> the Seastar library [1] to see how well it can integrate with the ceph
>>> codebase. So far I've managed to add bufferlist conversions to/from the
>>> seastar buffer types, and build up a seastar messenger that can
>>> send/receive ceph Messages. The branch [2] includes a simple echo server
>>> unit test and a README with build instructions.
>>>
>>> This follows some prototype work a couple years ago by Adam Emerson and
>>> myself, dubbed Project Crimson [3], to evaluate Seastar as the basis for
>>> a low-latency OSD. Interesting parts of this project include a Cap'n
>>> Proto-based messenger and an async ObjectStore interface with Memstore
>>> implementation.
>>
>> So after I saw your initial work on project crimson a month or two ago
>> I went out and started working through the seastar tutorial. I never
>> really got past screwing around with it since I've been tied up in
>> other stuff, but it seems like you must like seastar enough to be
>> willing to sink some time into it.  Where are you planning on taking
>> this next?
>>
>> Mark
>
> I don't think there are any solid plans yet, but I think it would be
> cool to hook up a ceph messenger to Adam's memstore and see how well it
> does with something like rados bench.

How tough would it be to do that?  At the very least it would be a 
really interesting experiment.  I'd be happy to take it for a spin if 
you can get something cobbled together. :)

Mark

>
>>
>>>
>>> -Casey
>>>
>>> [1] https://github.com/scylladb/seastar
>>> [2] https://github.com/cbodley/ceph/commits/wip-seastar-msg
>>> [3] https://github.com/cohortfsllc/crimson
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-10-24 21:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-23 20:17 fun with seastar Casey Bodley
2017-10-24  2:23 ` Haomai Wang
2017-10-24 20:17   ` Casey Bodley
2017-10-24  3:25 ` Mark Nelson
2017-10-24 20:34   ` Casey Bodley
2017-10-24 21:22     ` Mark Nelson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.