CEPH filesystem development
 help / color / mirror / Atom feed
From: Loic Dachary <loic@dachary.org>
To: "Miyamae, Takeshi" <miyamae.takeshi@jp.fujitsu.com>
Cc: Ceph Development <ceph-devel@vger.kernel.org>,
	"Shiozawa, Kensuke" <shiozawa.kennsu@jp.fujitsu.com>,
	"Nakao, Takanori" <nakao.takanori@jp.fujitsu.com>,
	"Paul Von-Stamwitz (PVonStamwitz@us.fujitsu.com)"
	<PVonStamwitz@us.fujitsu.com>
Subject: Re: Deadline of Github pull request for Hammer release (question)
Date: Thu, 22 Jan 2015 10:28:24 +0100	[thread overview]
Message-ID: <54C0C2B8.90907@dachary.org> (raw)
In-Reply-To: <870DE8DBB716524BAE51B2D499EC81E40AA62928@g01jpexmbyt24>

[-- Attachment #1: Type: text/plain, Size: 14031 bytes --]

Hi,

On 22/01/2015 09:42, Miyamae, Takeshi wrote:
> Hi Loic,
> 
> Thanks for your additional comments.
> 
>> Would you be so kind as to update the https://github.com/t-miyamae/ceph/blob/master/src/test/erasure-code/Makefile.am
> 
> Sure. We'll do that.
> 
>> This is likely to fail on a slow machine. Instead of waiting you should use a lock.
> 
> The purpose of sleep(1) is to ensure sequentiality between threads, but it's not enough on slow
> machines as you mentioned. So, we'd like another example that uses a mutex lock. What files
> should we refer to?

src/test/common/test_sharedptr_registry.cc contains an example. The classes that are helpful in implementing thread safe are in src/common/Cond.h and src/common/Mutex.h

However, I'm not sure I understand why you need threads at all to test the plugin. Could you explain ?

> 
>> They however all have the same assert ( EXPECT_TRUE(shec->matrix == NULL); )
> 
> We agree that EINVAL is better than EIO on verifying input variables. We'll review our whole
> sources and fix both our plugin and test codes.

Thanks :-) What do you think of my comments (about minimum_to_decode_3 and minimum_to_decode_2 ) ?

Cheers

> 
> P.S. We are debugging thread safe mSHEC to release it tomorrow.
> 
> Best regards,
> Takeshi Miyamae
> 
> -----Original Message-----
> From: Loic Dachary [mailto:loic@dachary.org] 
> Sent: Wednesday, January 21, 2015 11:13 PM
> To: Miyamae, Takeshi/宮前 剛
> Cc: Ceph Development; Shiozawa, Kensuke/塩沢 賢輔; Nakao, Takanori/中尾 鷹詔; Paul Von-Stamwitz (PVonStamwitz@us.fujitsu.com)
> Subject: Re: Deadline of Github pull request for Hammer release (question)
> 
> Hi,
> 
> I see them at https://github.com/t-miyamae/ceph/blob/master/src/test/erasure-code/TestErasureCodeShec.cc etc. thanks ! Would you be so kind as to update the https://github.com/t-miyamae/ceph/blob/master/src/test/erasure-code/Makefile.am to add the compilation instructions for these files ?
> 
> I see the tests includes a few threads (thread1 to thread5). It looks like they are used for measuring performance, am I right ? 
> 
> 	pthread_t tid;
> 	pthread_create(&tid,NULL,thread1,shec);
> 	sleep(1);
> 
> This is likely to fail on a slow machine. Instead of waiting you should use a lock. You will find examples in other tests, using various techniques depending on the context. If you'd like I could point to one. I'd have to better understand the intent of this test before I do.
> 
> From init_5 to init_22 there are various combinations of parameters which suggest checking for all kinds of errors (m being negative, or a string instead of a number etc.). They however all have the same assert ( EXPECT_TRUE(shec->matrix == NULL); ). It would be better to have an expectation that verifies the error has been caught as expected. Is it part of what your completing at the moment ?
> 
> minimum_to_decode_2 expectation for when it succeeds should be more precise that
> 
> 	EXPECT_TRUE(minimum_chunks.size());
> 
> since minimum_chunks is expecting to have a size that does not vary. And if it does that would be a problem.
> 
> In minimum_to_decode_3 after
> 
> 	EXPECT_NE(want_to_decode,minimum_chunks);
> 
> you could check the expected content of minimum_chunks also. Unless there is a random aspect to it ? 
> 
> Cheers
> 
> On 20/01/2015 10:07, Miyamae, Takeshi wrote:
>> Hi Loic,
>>
>> I'd appreciated your help very much.
>> I have just uploaded 2 test files into the fork repository.
>>
>> https://github.com/t-miyamae/ceph
>> files:
>>   src/test/erasure-code/TestErasureCodeShec.cc
>>   src/test/erasure-code/TestErasureCodeShec364.cc
>>
>> I'm sorry that tests for the thread safety codes has not been included yet.
>>
>> Thank you in advance,
>> Takeshi Miyamae
>>
>> -----Original Message-----
>> From: ceph-devel-owner@vger.kernel.org 
>> [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Loic Dachary
>> Sent: Tuesday, January 20, 2015 4:23 PM
>> To: Miyamae, Takeshi/宮前 剛
>> Cc: Ceph Development; Shiozawa, Kensuke/塩沢 賢輔; Nakao, Takanori/中尾 鷹詔; 
>> Paul Von-Stamwitz (PVonStamwitz@us.fujitsu.com)
>> Subject: Re: Deadline of Github pull request for Hammer release 
>> (question)
>>
>> Hi,
>>
>> Thanks for the update. To speed up things, I could review what's already published. Did you add the tests already ?
>>
>> Cheers
>>
>> On 20/01/2015 01:48, Miyamae, Takeshi wrote:
>>> Hi Loic,
>>>
>>> Thank you for your advice which suggested providing SHEC as an extra-package.
>>> We believe it's generally a good idea, but we are hoping SHEC would 
>>> be merged into Hammer because that would have an apparent advantage 
>>> from a viewpoint of maintenance support.
>>>
>>> As for the thread safety issue, we totally agree with you and we are trying to solve it.
>>> We will complete it in a few days and we'd like to ask you to review 
>>> it again so that it might be in time for Hammer's feature freeze (v0.93).
>>>
>>> Best regards,
>>> Takeshi Miyamae
>>>
>>> -----Original Message-----
>>> From: ceph-devel-owner@vger.kernel.org 
>>> [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Loic Dachary
>>> Sent: Wednesday, January 14, 2015 3:03 AM
>>> To: Miyamae, Takeshi/宮前 剛
>>> Cc: Ceph Development; Shiozawa, Kensuke/塩沢 賢輔; Nakao, Takanori/中尾 鷹詔;
>>> Paul Von-Stamwitz (PVonStamwitz@us.fujitsu.com)
>>> Subject: Re: Deadline of Github pull request for Hammer release
>>> (question)
>>>
>>> Hi,
>>>
>>> On 13/01/2015 18:05, Miyamae, Takeshi wrote:
>>>> Hi Loic,
>>>>
>>>> Thank you for your quick review.
>>>>
>>>>> Could you reference the jerasure files (they are in the jerasure 
>>>>> plugin already) instead of including them in your patch ?
>>>>
>>>> We had used the reference of jerasure v2.0 files before, but changed 
>>>> to including v1.2 files after the patent issue.
>>>
>>> If you are refering to http://erasure-code-patents.xyz/, it can safely be ignored.
>>>
>>>> However, we can restore the reference right away if we are needed.
>>>>
>>>>> In ::prepare you reuse the matrix, if possible. If your intention 
>>>>> is to improve performances, you should consider using the same approach as the isa plugin.
>>>>
>>>> We have found a performance issue caused by redundant 
>>>> initializations of the module, and solved it by caching the initialized variables in memory.
>>>> If that is the same approach as isa-plugin you mentioned, we also do 
>>>> not have the same issue any more.
>>>
>>> The ISA plugin approach is thread safe, that's the important part.
>>>
>>>>> I'll have more comments once you have unit / functional tests
>>>>
>>>> We do have the those unit/functional tests, but the server is unreachable at this moment.
>>>> Please let us upload them to the repository tomorrow.
>>>
>>> Great.
>>>
>>>>> Regarding your initial question: I think it is too late for the Hammer release.
>>>>
>>>> We are so disappointed to hear that, but we must apologize for the late request.
>>>> If there would be any chance that SHEC be pulled into hammer, we are 
>>>> very happy to conduct all the necessary tests by ourselves.
>>>> Please let us know the detailed schedule if this is a feasible option.
>>>
>>> Note that since this is a plugin it will be easy for someone to install it on a Hammer cluster, simply by copying the plugin files to each OSD / MON and restarting them. If there is some kind of urgency for you to be able to install this new plugin, I would advise making a package that contains just this file, restart the OSD once installed and recommend that the installation is done on all machines of the cluster (because every OSD / MON need to know about the plugin). 
>>>
>>> Cheers
>>>
>>>> Best regards,
>>>> Takeshi Miyamae
>>>>
>>>> -----Original Message-----
>>>> From: ceph-devel-owner@vger.kernel.org 
>>>> [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Loic Dachary
>>>> Sent: Tuesday, January 13, 2015 9:46 PM
>>>> To: Miyamae, Takeshi/宮前 剛
>>>> Cc: Ceph Development; Shiozawa, Kensuke/塩沢 賢輔; Nakao, Takanori/中尾 
>>>> 鷹詔;
>>>> Paul Von-Stamwitz (PVonStamwitz@us.fujitsu.com)
>>>> Subject: Re: Deadline of Github pull request for Hammer release
>>>> (question)
>>>>
>>>> Hi,
>>>>
>>>> It's a great start :-) A few comments:
>>>>
>>>> Could you reference the jerasure files (they are in the jerasure plugin already) instead of including them in your patch ?
>>>>
>>>> In ::prepare you reuse the matrix, if possible. If your intention is 
>>>> to improve performances, you should consider using the same approach 
>>>> as the isa plugin. See 
>>>> http://workbench.dachary.org/ceph/ceph/blob/giant/src/erasure-code/i
>>>> s
>>>> a
>>>> /ErasureCodePluginIsa.cc#L36 which is and independent type 
>>>> http://workbench.dachary.org/ceph/ceph/blob/giant/src/erasure-code/i
>>>> s a /ErasureCodeIsaTableCache.h with only one instance and is 
>>>> populated as needed and protected by a lock to make it thread safe :
>>>> http://workbench.dachary.org/ceph/ceph/blob/giant/src/erasure-code/i
>>>> s
>>>> a
>>>> /ErasureCodeIsaTableCache.h#L101
>>>>
>>>> I'll have more comments once you have unit / functional tests ( similar to http://workbench.dachary.org/ceph/ceph/blob/giant/src/test/erasure-code/TestErasureCodeJerasure.cc ). 
>>>>
>>>> Regarding your initial question: I think it is too late for the Hammer release. But from what I read it looks like we'll be able to merge in the early stages of the next release and that will give us time to properly test it.
>>>>
>>>> Cheers
>>>>
>>>> On 13/01/2015 11:34, Miyamae, Takeshi wrote:
>>>>> Hi Loic,
>>>>>
>>>>> I'm so sorry. The following is the correct repository.
>>>>>
>>>>> https://github.com/t-miyamae/ceph
>>>>>
>>>>> Best regards,
>>>>> Takeshi Miyamae
>>>>>
>>>>> -----Original Message-----
>>>>> From: Loic Dachary [mailto:loic@dachary.org]
>>>>> Sent: Tuesday, January 13, 2015 7:26 PM
>>>>> To: Miyamae, Takeshi/宮前 剛
>>>>> Cc: Ceph Development; Shiozawa, Kensuke/塩沢 賢輔; Nakao, Takanori/中尾
>>>>> 鷹詔;
>>>>> Paul Von-Stamwitz (PVonStamwitz@us.fujitsu.com)
>>>>> Subject: Re: Deadline of Github pull request for Hammer release
>>>>> (question)
>>>>>
>>>>> Hi,
>>>>>
>>>>> On 13/01/2015 11:24, Miyamae, Takeshi wrote:
>>>>>> Hi Loic,
>>>>>>
>>>>>>> Although we're late in the Hammer roadmap, it's a good time for an early preview. It will help show what needs to be changed to accomodate the SHEC plugin.
>>>>>>
>>>>>> Thank you for your advices.
>>>>>> We have uploaded our latest codes to the following folk repository for an early review.
>>>>>>
>>>>>> https://github.com/miyamae-takeshi/multiple-shec
>>>>>
>>>>> It's 404 ? Is it a private repository maybe ?
>>>>>
>>>>>>
>>>>>> SHEC is located in src/erasure-code/shec directory.
>>>>>>
>>>>>> We are verifying SHEC's advantages on our Ceph cluster. It takes a little bit more.
>>>>>> Would you please start the review before that?
>>>>>>
>>>>>> Best regards,
>>>>>> Takeshi Miyamae
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: ceph-devel-owner@vger.kernel.org 
>>>>>> [mailto:ceph-devel-owner@vger.kernel.org] On Behalf Of Loic 
>>>>>> Dachary
>>>>>> Sent: Wednesday, January 7, 2015 12:52 AM
>>>>>> To: Miyamae, Takeshi/宮前 剛
>>>>>> Cc: Ceph Development; Shiozawa, Kensuke/塩沢 賢輔; Nakao, Takanori/中尾
>>>>>> 鷹詔
>>>>>> Subject: Re: Deadline of Github pull request for Hammer release
>>>>>> (question)
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 06/01/2015 12:49, Miyamae, Takeshi wrote:
>>>>>>> Dear Loic,
>>>>>>>
>>>>>>> I'm Takeshi Miyamae, one of the authors of SHEC's blueprint.
>>>>>>>
>>>>>>> Shingled Erasure Code (SHEC)
>>>>>>> https://wiki.ceph.com/Planning/Blueprints/Hammer/Shingled_Erasure
>>>>>>> _
>>>>>>> C
>>>>>>> o
>>>>>>> d
>>>>>>> e
>>>>>>> _(SHEC)
>>>>>>
>>>>>> The work you have done is quite impressive :-)
>>>>>>
>>>>>>> We have revised our blueprint shown in the last CDS to extend our 
>>>>>>> erasure code layouts and describe the guideline for choosing SHEC among various EC plugins.
>>>>>>> We believe the blueprint now answers all the comments given at the CDS.
>>>>>>
>>>>>> Great.
>>>>>>
>>>>>>> In addition, we would like to ask for your advice on the schedule 
>>>>>>> of our github pull request. More specifically, we would like to 
>>>>>>> know its deadline for Hammer release.
>>>>>>> (As we have not really completed our verification of SHEC, we are 
>>>>>>> wondering if we should make it open for early preview.)
>>>>>>
>>>>>> Although we're late in the Hammer roadmap, it's a good time for an early preview. It will help show what needs to be changed to accomodate the SHEC plugin.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>>> Thank you in advance,
>>>>>>> Takeshi Miyamae
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Loïc Dachary, Artisan Logiciel Libre
>>>>>>
>>>>>
>>>>> --
>>>>> Loïc Dachary, Artisan Logiciel Libre
>>>>>
>>>>
>>>> --
>>>> Loïc Dachary, Artisan Logiciel Libre
>>>>
>>>
>>> --
>>> Loïc Dachary, Artisan Logiciel Libre
>>>
>>
>> --
>> Loïc Dachary, Artisan Logiciel Libre
>>
>> N     r  y   b X  ǧv ^ )޺{.n +   z ]z   {ay \x1dʇڙ ,j   f   h   z \x1e w   
>    j:+v   w j m         zZ+     ݢj"  !tml=
>>
> 
> --
> Loïc Dachary, Artisan Logiciel Libre
> 
> N�����r��y���b�X��ǧv�^�)޺{.n�+���z�]z���{ay�\x1dʇڙ�,j\a��f���h���z�\x1e�w���\f���j:+v���w�j�m����\a����zZ+�����ݢj"��!tml=
> 

-- 
Loïc Dachary, Artisan Logiciel Libre


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2015-01-22  9:28 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-06 11:49 Deadline of Github pull request for Hammer release (question) Miyamae, Takeshi
2015-01-06 15:51 ` Loic Dachary
2015-01-13 10:24   ` Miyamae, Takeshi
2015-01-13 10:26     ` Loic Dachary
2015-01-13 10:34       ` Miyamae, Takeshi
2015-01-13 12:45         ` Loic Dachary
2015-01-13 17:05           ` Miyamae, Takeshi
2015-01-13 18:03             ` Loic Dachary
2015-01-20  0:48               ` Miyamae, Takeshi
2015-01-20  7:22                 ` Loic Dachary
2015-01-20  9:07                   ` Miyamae, Takeshi
2015-01-21 14:12                     ` Loic Dachary
2015-01-22  8:42                       ` Miyamae, Takeshi
2015-01-22  9:28                         ` Loic Dachary [this message]
2015-01-22 16:34                           ` Miyamae, Takeshi
2015-01-22 17:29                             ` Loic Dachary
2015-01-23  1:16                               ` Miyamae, Takeshi
2015-01-23  9:08                                 ` Loic Dachary
2015-01-23 12:47                                   ` Miyamae, Takeshi
2015-01-23 13:38                                     ` Loic Dachary
2015-01-24 15:52                                       ` Miyamae, Takeshi
2015-01-21 14:31                     ` Loic Dachary
2015-01-23 13:46 ` Loic Dachary
2015-01-26  5:43   ` Miyamae, Takeshi
2015-01-26 11:02     ` Loic Dachary
2015-01-26  8:00   ` Miyamae, Takeshi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54C0C2B8.90907@dachary.org \
    --to=loic@dachary.org \
    --cc=PVonStamwitz@us.fujitsu.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=miyamae.takeshi@jp.fujitsu.com \
    --cc=nakao.takanori@jp.fujitsu.com \
    --cc=shiozawa.kennsu@jp.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox