Hello
Here is the latest Caml Weekly News, for the week of January 31 to February 07, 2012.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00004.html
Gerd Stolpmann announced:
I've just released Plasma-0.6, a major update of Plasma with numerous
changes. The most important:
* For checking map/reduce out, there is now a mode that works without
distributed filesystem, and that does not require any deployment.
The files are just stored in the normal filesystem. Of course, the
job can then only run on a single computer, but at least it can
take advantage of multiple cores.
* Added the Mapred_toolkit layer. This layer allows purely functional
map/reduce programs. Running a job is only a matter of calling
a function like
val mapl_sort_fold :
mapl:(mapred_info -> 'a -> 'b list) rfun ->
hash:(mapred_info -> 'b -> int) rfun ->
cmp:(mapred_info -> 'b -> 'b -> int) rfun ->
initfold:(mapred_info -> int -> 'c) rfun ->
fold:(mapred_info -> 'c -> 'b -> 'c * 'd list) rfun ->
?finfold:(mapred_info -> 'c -> 'd list) rfun ->
partition_of:(mapred_info -> 'b -> int) rfun ->
?initcombine:(mapred_info -> 'e) rfun ->
?combine:(mapred_info -> 'e -> 'b -> 'e * 'b list) rfun ->
?fincombine:(mapred_info -> 'e -> 'b list) rfun ->
'a Place.t ->
'd Place.t ->
config ->
'b Place.codec ->
('d,[`W]) Seq.seq list result
* Support for binary file formats
* The sorting criterion can now be freely defined
* Support for combiners
* Map-only jobs are now possible
* The RPC channels for controlling the job execution are now also
privacy-protected. Plasma can now be run in a highly secure mode,
where all network traffic is authenticated, encrypted and integrity-
protected.
* Support for counters
* Enormous performance improvements
* A number of bug fixes and improvements of the robustness
* Last but not least, there is now a lot more documentation including
a quickstart guide, the toolkit howto, various session
transcripts.
General information about Plasma:
Plasma consists now of three parts, namely PlasmaFS, PlasmaKV, and Plasma
Map/Reduce:
* PlasmaFS is a distributed replicating filesystem. Unlike other
such filesystems, it is transactional and exhibits transactions
to the user. Also, it implements almost all of what is known as
POSIX semantics, and it is mountable.
* PlasmaKV is a key/value database on top of PlasmaFS. It is
designed for ultra-high read workloads, and offers interesting
properties borrowed from PlasmaFS (e.g. replication and ACID
transactions).
* Plasma Map/reduce implements a variant of the popular
data processing scheme.
All pieces of software are bundled together in one download. The
project page with further links is
http://projects.camlcity.org/projects/plasma.html
There is now also a homepage at
http://plasma.camlcity.org
THIS IS NOW A BETA RELEASE! I'm searching for testers. Whoever has
access to a cluster please check Plasma out!
Plasma is installable via GODI for Ocaml 3.12.
For discussions on specifics of Plasma there is a separate mailing list:
https://godirepo.camlcity.org/mailman/listinfo/plasma-list
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00011.html
Benedikt Meurer announced:
I just merged the latest patch for my new ARM backend into trunk (revision
12124). Compared to the old ARM backend, the new one does the following:
- Support for both software and hardware floating-point (VFPv3).
- Properly supports interworking with Thumb/Thumb-2 code for both OCaml and C
code.
- Supports dynamic linking and large memory models (PR#5049).
- Optional support for position-independent code via a command line option
-fPIC. This is disabled by default and not required for natdynlink.
- Can emit both ARM and Thumb-2 code, with avg. code size savings of 28% for
Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.).
- Supports both AAPCS (armel) as well as extended VFP calling conventions
(armhf).
- Supports several special ARM instructions to reduce code size and latency.
- Uses standard ARM EABI runtime functions instead of relying on GCC
internals.
- Supports exception backtraces.
- Supports profiling using gprof.
It'd be great to get some early feedback / testing (esp. with the upcoming
Debian/Ubuntu armhf port). Note however that the object files generated by
the new backend aren't compatible with old object files (and therefore also
.cmxs and .a files).
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00018.html
malc announced:
Here's a video[1] that shows how to build and use llpp[2]. It drags,
with the building fetching part, till ~3:35, but, hopefuly, gets up to
speed after that.
[1] http://www.youtube.com/watch?v=9xtIqD_mHRw
[2] http://repo.or.cz/w/llpp.git
Thanks to Alp Mestan, we now include in the Caml Weekly News the links to the
recent posts from the ocamlcore planet blog at http://planet.ocamlcore.org/.
Spotlight on Opa app: OpaChess by Mads Hartmann Jensen:
http://blog.opalang.org/2012/02/spotlight-on-opa-app-opachess-by-mads.html
Lacaml v6.0.0 released:
https://forge.ocamlcore.org/forum/forum.php?forum_id=822
Plasma Map/Reduce Slightly Faster Than Hadoop:
http://blog.camlcity.org/blog/plasma6.html
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.