* [GSoC2016] BlueStore SMR Support
@ 2016-03-04 20:06 Shehbaz Jaffer
2016-03-11 14:50 ` Sage Weil
0 siblings, 1 reply; 9+ messages in thread
From: Shehbaz Jaffer @ 2016-03-04 20:06 UTC (permalink / raw)
To: ceph-devel, sage
Hi All,
I am a 1st Year PhD student at University of Toronto. I am interested
in working on the SMR friendly allocator for Bluestore file system. I
am new to Ceph. But I am familiar with FS development in user space, and
SMR drives. I am currently going through Ceph codebase.
It looks like the allocator is very basic, hence the current name of
the block allocator:
os/bluestore/StupidAllocator.cc :-)
Few initial questions:
1) Will the project involve Drive managed SMR drives or Host Managed SMR drives?
2) Will scope of project be to build an allocator on a simulator for
SMR Drives? Or will I get actual HDDs to work with? In case of
simulators, will the project involve building a simulator on disksim?
3) Ideally, the benchmark should be to compare StupidAllocator scheme
with a SmartAllocator scheme in terms of the following performance
metrics:
a) speed
b) correctness
c) fragmentation
d) garbage collection efficiency
are there any other metrics that we would like to measure the allocator for?
Thanks and I look forward to working on this project. Please feel free
to send out your comments/suggestions.
Regards,
--
Shehbaz Jaffer
First Year Graduate Student
Sir Edward S Rogers Sr Department of Electrical and Computer Engineering
University of Toronto
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-04 20:06 [GSoC2016] BlueStore SMR Support Shehbaz Jaffer
@ 2016-03-11 14:50 ` Sage Weil
2016-03-12 20:07 ` Giridhar Yasa
0 siblings, 1 reply; 9+ messages in thread
From: Sage Weil @ 2016-03-11 14:50 UTC (permalink / raw)
To: Shehbaz Jaffer; +Cc: ceph-devel
Hi Shehbaz,
Sorry for the slow reply! I'm just catching up on GSoC queries.
On Fri, 4 Mar 2016, Shehbaz Jaffer wrote:
> Hi All,
>
> I am a 1st Year PhD student at University of Toronto. I am interested
> in working on the SMR friendly allocator for Bluestore file system. I
> am new to Ceph. But I am familiar with FS development in user space, and
> SMR drives. I am currently going through Ceph codebase.
> It looks like the allocator is very basic, hence the current name of
> the block allocator:
> os/bluestore/StupidAllocator.cc :-)
:)
> Few initial questions:
>
> 1) Will the project involve Drive managed SMR drives or Host Managed SMR
> drives?
The goal is to make an allocator that will work with host managed SMR.
Presumably that will work just as well on host-aware SMR.
A drive-managed SMR disk that doesn't tell us the zone layout is a bit of
a lost cause, I think.
> 2) Will scope of project be to build an allocator on a simulator for
> SMR Drives? Or will I get actual HDDs to work with? In case of
> simulators, will the project involve building a simulator on disksim?
I seem to remember hearing something about a dm module that simulated SMR,
but I'm not sure. We may also be able to get some SMR disks to play
with--I'll reach out to our drive vendor friends.
> 3) Ideally, the benchmark should be to compare StupidAllocator scheme
> with a SmartAllocator scheme in terms of the following performance
> metrics:
> a) speed
> b) correctness
> c) fragmentation
> d) garbage collection efficiency
>
> are there any other metrics that we would like to measure the allocator for?
That sounds about right, (b) being the first and most important step.
Our only big idea here so far is that we probably want to put writes for
each PG in a distinct zone, as I suspect PG is thing we have that is most
closely correlated to object lifetime (because when the cluster does a
rebalance or repair, and entire PG's worth of objects will typically get
moved around). That might mean a lot of open zones, though, and mean lots
of seeks on writes if new objects are randomly spread across PGs (as they
generally will be). So we should probably explore other strategies as
well.
> Thanks and I look forward to working on this project. Please feel free
> to send out your comments/suggestions.
Great!
sage
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-11 14:50 ` Sage Weil
@ 2016-03-12 20:07 ` Giridhar Yasa
2016-03-14 12:17 ` Sage Weil
0 siblings, 1 reply; 9+ messages in thread
From: Giridhar Yasa @ 2016-03-12 20:07 UTC (permalink / raw)
To: Sage Weil; +Cc: Shehbaz Jaffer, ceph-devel
On Fri, Mar 11, 2016 at 8:20 PM, Sage Weil <sweil@redhat.com> wrote:
>
> On Fri, 4 Mar 2016, Shehbaz Jaffer wrote:
>
> > 2) Will scope of project be to build an allocator on a simulator for
> > SMR Drives? Or will I get actual HDDs to work with? In case of
> > simulators, will the project involve building a simulator on disksim?
>
> I seem to remember hearing something about a dm module that simulated SMR,
> but I'm not sure. We may also be able to get some SMR disks to play
> with--I'll reach out to our drive vendor friends.
Would that be https://github.com/hgst/libzbc from HGST?
Giridhar
--
Giridhar Yasa | Flipkart Engineering | http://www.flipkart.com/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-12 20:07 ` Giridhar Yasa
@ 2016-03-14 12:17 ` Sage Weil
2016-03-14 12:33 ` Giridhar Yasa
0 siblings, 1 reply; 9+ messages in thread
From: Sage Weil @ 2016-03-14 12:17 UTC (permalink / raw)
To: Giridhar Yasa; +Cc: Shehbaz Jaffer, ceph-devel
On Sun, 13 Mar 2016, Giridhar Yasa wrote:
> On Fri, Mar 11, 2016 at 8:20 PM, Sage Weil <sweil@redhat.com> wrote:
> >
> > On Fri, 4 Mar 2016, Shehbaz Jaffer wrote:
> >
> > > 2) Will scope of project be to build an allocator on a simulator for
> > > SMR Drives? Or will I get actual HDDs to work with? In case of
> > > simulators, will the project involve building a simulator on disksim?
> >
> > I seem to remember hearing something about a dm module that simulated SMR,
> > but I'm not sure. We may also be able to get some SMR disks to play
> > with--I'll reach out to our drive vendor friends.
>
> Would that be https://github.com/hgst/libzbc from HGST?
Yes.
I'm not sure about a disk simulator or actual drive availability,
though.
sage
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-14 12:17 ` Sage Weil
@ 2016-03-14 12:33 ` Giridhar Yasa
2016-03-14 12:40 ` Sage Weil
2016-03-14 13:22 ` Ric Wheeler
0 siblings, 2 replies; 9+ messages in thread
From: Giridhar Yasa @ 2016-03-14 12:33 UTC (permalink / raw)
To: Sage Weil; +Cc: Shehbaz Jaffer, ceph-devel
On Mon, Mar 14, 2016 at 5:47 PM, Sage Weil <sweil@redhat.com> wrote:
> On Sun, 13 Mar 2016, Giridhar Yasa wrote:
>> On Fri, Mar 11, 2016 at 8:20 PM, Sage Weil <sweil@redhat.com> wrote:
>> >
>> > On Fri, 4 Mar 2016, Shehbaz Jaffer wrote:
>> >
>> > > 2) Will scope of project be to build an allocator on a simulator for
>> > > SMR Drives? Or will I get actual HDDs to work with? In case of
>> > > simulators, will the project involve building a simulator on disksim?
>> >
>> > I seem to remember hearing something about a dm module that simulated SMR,
>> > but I'm not sure. We may also be able to get some SMR disks to play
>> > with--I'll reach out to our drive vendor friends.
>>
>> Would that be https://github.com/hgst/libzbc from HGST?
>
> Yes.
>
> I'm not sure about a disk simulator or actual drive availability,
> though.
libzbc has an emulation mode that can use files or block devices to
emulate SMR disk zones.
Giridhar
--
Giridhar Yasa | Flipkart Engineering | http://www.flipkart.com/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-14 12:33 ` Giridhar Yasa
@ 2016-03-14 12:40 ` Sage Weil
2016-03-14 13:22 ` Ric Wheeler
1 sibling, 0 replies; 9+ messages in thread
From: Sage Weil @ 2016-03-14 12:40 UTC (permalink / raw)
To: Giridhar Yasa; +Cc: Shehbaz Jaffer, ceph-devel
On Mon, 14 Mar 2016, Giridhar Yasa wrote:
> On Mon, Mar 14, 2016 at 5:47 PM, Sage Weil <sweil@redhat.com> wrote:
> > On Sun, 13 Mar 2016, Giridhar Yasa wrote:
> >> On Fri, Mar 11, 2016 at 8:20 PM, Sage Weil <sweil@redhat.com> wrote:
> >> >
> >> > On Fri, 4 Mar 2016, Shehbaz Jaffer wrote:
> >> >
> >> > > 2) Will scope of project be to build an allocator on a simulator for
> >> > > SMR Drives? Or will I get actual HDDs to work with? In case of
> >> > > simulators, will the project involve building a simulator on disksim?
> >> >
> >> > I seem to remember hearing something about a dm module that simulated SMR,
> >> > but I'm not sure. We may also be able to get some SMR disks to play
> >> > with--I'll reach out to our drive vendor friends.
> >>
> >> Would that be https://github.com/hgst/libzbc from HGST?
> >
> > Yes.
> >
> > I'm not sure about a disk simulator or actual drive availability,
> > though.
>
> libzbc has an emulation mode that can use files or block devices to
> emulate SMR disk zones.
Oh, perfect!
sage
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-14 12:33 ` Giridhar Yasa
2016-03-14 12:40 ` Sage Weil
@ 2016-03-14 13:22 ` Ric Wheeler
2016-03-14 16:42 ` Shehbaz Jaffer
1 sibling, 1 reply; 9+ messages in thread
From: Ric Wheeler @ 2016-03-14 13:22 UTC (permalink / raw)
To: Giridhar Yasa, Sage Weil; +Cc: Shehbaz Jaffer, ceph-devel
On 03/14/2016 08:33 AM, Giridhar Yasa wrote:
> On Mon, Mar 14, 2016 at 5:47 PM, Sage Weil <sweil@redhat.com> wrote:
>> On Sun, 13 Mar 2016, Giridhar Yasa wrote:
>>> On Fri, Mar 11, 2016 at 8:20 PM, Sage Weil <sweil@redhat.com> wrote:
>>>> On Fri, 4 Mar 2016, Shehbaz Jaffer wrote:
>>>>
>>>>> 2) Will scope of project be to build an allocator on a simulator for
>>>>> SMR Drives? Or will I get actual HDDs to work with? In case of
>>>>> simulators, will the project involve building a simulator on disksim?
>>>> I seem to remember hearing something about a dm module that simulated SMR,
>>>> but I'm not sure. We may also be able to get some SMR disks to play
>>>> with--I'll reach out to our drive vendor friends.
>>> Would that be https://github.com/hgst/libzbc from HGST?
>> Yes.
>>
>> I'm not sure about a disk simulator or actual drive availability,
>> though.
> libzbc has an emulation mode that can use files or block devices to
> emulate SMR disk zones.
>
> Giridhar
>
Just keep in mind that different vendors have different behaviors - you will
need to tweak it I assume to make it act like the drive you are interested in.
Regards,
Ric
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-14 13:22 ` Ric Wheeler
@ 2016-03-14 16:42 ` Shehbaz Jaffer
2016-03-14 17:27 ` Ric Wheeler
0 siblings, 1 reply; 9+ messages in thread
From: Shehbaz Jaffer @ 2016-03-14 16:42 UTC (permalink / raw)
To: Ric Wheeler; +Cc: Giridhar Yasa, Sage Weil, ceph-devel
Sorry for the late reply.
>>>> Would that be https://github.com/hgst/libzbc from HGST?
Thanks Giridhar for the link.
Hi Rick,
> Just keep in mind that different vendors have different behaviors - you will
> need to tweak it I assume to make it act like the drive you are interested
> in.
There is a T10 and T13 standardization for interfaces (ZBC and ZAC
standard). libzbc also follows these standards. From libzbc README
"libzbc implemention is compliant with the latest drafts of
the ZBC and ZAC standards defined by INCITS technical committee T10 and
T13 (respectively)."
I plan to keep the scope of the project such that the allocator will
interact with the libzbc interface in emulated mode which is T10 and
T13 standard compliant. Once the allocator works on libzbc emulated
mode, it can run on disks that support ZBC/ZAC commands. Again from
README.
"In addition to supporting ZBC and ZAC disks, libzbc also implements an
emulation mode allowing emulating the behavior of a host-managed zoned
disks using a regular file or a raw standard block device as backing
storage."
Is there any other vendor specific behaviour that I should consider?
Thanks,
Shehbaz
On Mon, Mar 14, 2016 at 9:22 AM, Ric Wheeler <rwheeler@redhat.com> wrote:
> On 03/14/2016 08:33 AM, Giridhar Yasa wrote:
>>
>> On Mon, Mar 14, 2016 at 5:47 PM, Sage Weil <sweil@redhat.com> wrote:
>>>
>>> On Sun, 13 Mar 2016, Giridhar Yasa wrote:
>>>>
>>>> On Fri, Mar 11, 2016 at 8:20 PM, Sage Weil <sweil@redhat.com> wrote:
>>>>>
>>>>> On Fri, 4 Mar 2016, Shehbaz Jaffer wrote:
>>>>>
>>>>>> 2) Will scope of project be to build an allocator on a simulator for
>>>>>> SMR Drives? Or will I get actual HDDs to work with? In case of
>>>>>> simulators, will the project involve building a simulator on disksim?
>>>>>
>>>>> I seem to remember hearing something about a dm module that simulated
>>>>> SMR,
>>>>> but I'm not sure. We may also be able to get some SMR disks to play
>>>>> with--I'll reach out to our drive vendor friends.
>>>>
>>>> Would that be https://github.com/hgst/libzbc from HGST?
>>>
>>> Yes.
>>>
>>> I'm not sure about a disk simulator or actual drive availability,
>>> though.
>>
>> libzbc has an emulation mode that can use files or block devices to
>> emulate SMR disk zones.
>>
>> Giridhar
>>
>
> Just keep in mind that different vendors have different behaviors - you will
> need to tweak it I assume to make it act like the drive you are interested
> in.
>
> Regards,
>
> Ric
>
--
Shehbaz Jaffer
First Year Graduate Student
Sir Edward S Rogers Sr Department of Electrical and Computer Engineering
University of Toronto
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GSoC2016] BlueStore SMR Support
2016-03-14 16:42 ` Shehbaz Jaffer
@ 2016-03-14 17:27 ` Ric Wheeler
0 siblings, 0 replies; 9+ messages in thread
From: Ric Wheeler @ 2016-03-14 17:27 UTC (permalink / raw)
To: Shehbaz Jaffer; +Cc: Giridhar Yasa, Sage Weil, ceph-devel
On 03/14/2016 12:42 PM, Shehbaz Jaffer wrote:
> Sorry for the late reply.
>
>>>>> Would that be https://github.com/hgst/libzbc from HGST?
> Thanks Giridhar for the link.
>
> Hi Rick,
>
>> Just keep in mind that different vendors have different behaviors - you will
>> need to tweak it I assume to make it act like the drive you are interested
>> in.
> There is a T10 and T13 standardization for interfaces (ZBC and ZAC
> standard). libzbc also follows these standards. From libzbc README
>
> "libzbc implemention is compliant with the latest drafts of
> the ZBC and ZAC standards defined by INCITS technical committee T10 and
> T13 (respectively)."
>
> I plan to keep the scope of the project such that the allocator will
> interact with the libzbc interface in emulated mode which is T10 and
> T13 standard compliant. Once the allocator works on libzbc emulated
> mode, it can run on disks that support ZBC/ZAC commands. Again from
> README.
>
> "In addition to supporting ZBC and ZAC disks, libzbc also implements an
> emulation mode allowing emulating the behavior of a host-managed zoned
> disks using a regular file or a raw standard block device as backing
> storage."
>
> Is there any other vendor specific behaviour that I should consider?
>
> Thanks,
> Shehbaz
>
>
I think that following the spec is the right way to go. Last time we did a meet
up with all of the various SMR vendors, they still had a lot of differences in
how the devices actually worked though (number of zones, how to reset a zone, etc).
If the spec process works thought, this should all hopefully converge :)
Ric
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-03-14 17:28 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-04 20:06 [GSoC2016] BlueStore SMR Support Shehbaz Jaffer
2016-03-11 14:50 ` Sage Weil
2016-03-12 20:07 ` Giridhar Yasa
2016-03-14 12:17 ` Sage Weil
2016-03-14 12:33 ` Giridhar Yasa
2016-03-14 12:40 ` Sage Weil
2016-03-14 13:22 ` Ric Wheeler
2016-03-14 16:42 ` Shehbaz Jaffer
2016-03-14 17:27 ` Ric Wheeler
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.