All of lore.kernel.org
 help / color / mirror / Atom feed
From: Noah Watkins <jayhawk@cs.ucsc.edu>
To: Sage Weil <sage@newdream.net>
Cc: Noah Watkins <jayhawk@soe.ucsc.edu>,
	Gregory Farnum <gregory.farnum@dreamhost.com>,
	ceph-devel@vger.kernel.org
Subject: Re: ceph/hadoop benchmarking
Date: Tue, 13 Dec 2011 08:30:34 -0800	[thread overview]
Message-ID: <4EE77DAA.5070900@cs.ucsc.edu> (raw)
In-Reply-To: <Pine.LNX.4.64.1110261425320.18909@cobra.newdream.net>

Comments below

On 10/26/11 2:34 PM, Sage Weil wrote:
> [adding ceph-devel CC]
>
> On Wed, 26 Oct 2011, Noah Watkins wrote:
>> ----- Original Message -----
>>> From: "Sage Weil"<sage@newdream.net>
>>>
>>>>
>>>> There was some packaging/cleanup work mentioned a while back on the
>>>> mailing list. Is anyone working on this?
>>>
>>> Nope.
>>>
>>> I'm not really sure what the "right' way to build/expose/package java
>>> bindings is.. but presumably it's less annoying than what we have now
>>> :)
>>
>> I'm revisiting this now to prepare packages and instructions for the
>> students running benchmarks this quarter, but I wanted to get your
>> input on future goals to not waste too much effort doing short-term
>> stuff. The possible approaches I see:
>>
>> 1) Everything (JNI wrappers + Java) lives in the Ceph tree and build
>>     instructions include applying a patch to Hadoop.
>>
>>     The current solution, and isn't too bad but needs documentation. This
>>     approach can be simplified to avoid patching Hadoop by integrating
>>     Ceph-specific Java code using the CLASSPATH global variable.
>>
>> 2) Everything is sent to Hadoop upstream.
>>
>>     This is convenient because the Hadoop infrastructure already has
>>     the facilities for building and linking native code into Hadoop,
>>     and the only depenendency then becomes a standard ceph-devel
>>     installation.
>>
>>     This was the approach taken with the kernel client version which
>>     also included JNI code (for ioctl).
>>
>> 3) Only JNI wrappers live in the Ceph tree and push Java patch upstream.
>>
>>     This could be better if it is anticipated that libceph will see a lot
>>     of churn in the future, and we'd avoid pushing more changes upstream.
>
> #3 strikes me as the right approach, since there are potentially other
> Java users of libcephfs, and the Hadoop CephFileSystem class will be best
> maintained (and most usable) if it upstream.  There will just be the
> initial pain of getting the packaging right for libcephfs so that it will
> work w/ hadoop out of the box.  (I'm assuming that is possible.. e.g.
> apt-get install ceph, fire up hadoop with the proper config?)

A couple comments about libceph-java: After looking through a bunch of 
Debian Java packages, it seems a common approach to packaging JNI/Java 
code is using the scheme:

   libcephfs-jni  --> .so
   libcephfs-java --> .jar

The debhelper tool and friends seem to do a good job of packaging up the 
Java in this way, but integrating this into Ceph's default Debian 
scripts means that anyone would now need a JDK to build Ceph with 
dpkg-buildpackages.

Is there a way to parametrize the Debian build process so people who 
don't care about Java bindings can proceed? An alternative approach is 
to say have another set of Debian build scripts in src/client/java/debian.

Thanks,
Noah


  parent reply	other threads:[~2011-12-13 16:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <193464577.4390.1319657347846.JavaMail.root@mail-01.cse.ucsc.edu>
2011-10-26 21:34 ` ceph/hadoop benchmarking Sage Weil
2011-10-26 21:57   ` Gregory Farnum
2011-10-26 22:08     ` Noah Watkins
2011-10-26 22:36   ` Tommi Virtanen
2011-10-26 22:41     ` Noah Watkins
2011-10-26 22:43       ` Gregory Farnum
2011-10-26 22:46         ` Noah Watkins
2011-12-13 16:30   ` Noah Watkins [this message]
2011-12-13 20:12     ` Tommi Virtanen

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=4EE77DAA.5070900@cs.ucsc.edu \
    --to=jayhawk@cs.ucsc.edu \
    --cc=ceph-devel@vger.kernel.org \
    --cc=gregory.farnum@dreamhost.com \
    --cc=jayhawk@soe.ucsc.edu \
    --cc=sage@newdream.net \
    /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 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.