Monday, 23 April 2012
The trip started in Coimbra where Sanne Grinovero and I discussed about Infinispan and OGM at the Portugal JUG. The interest was obvious from the amount of questions and the discussions that followed and ended up late in the night. A big thanks to Samuel Santos for organising this!
The trip then continued in Lisbon where we meet the CloudTM team for two good days of hacking and brainstorming. The results are a set of awesome features the CloudTM is about to contribute to Infinispan, especially around transactions:
Total Order Broadcast (TOB) - is a transaction protocol for replicated caches built on atomic broadcast. It relies on JGroups' SEQUENCER protocol for achieving total order. The benchmarks ran comparing it with the current 2PC based transaction protocol are rather promising and we hope to integrated it in our 5.2 release
Total Order Multicast (TOM) - is simplistically put TOB for distributed caches. This is the next in pipe after TOB to be integrated. Again, preliminary performance comparisons look rather promising
The CloudTM also extended Infinispan’s transactions to support one-copy serializability (that’s a fancy name for SERIALIZABLE transactions in replicated systems). The implementation is based on keeping multiple data version of data for each entry together with some housekeeping code. More on this to come!
Big thanks to CloudTM team for their effort and all the great ideas (and patches!!) they submitted to Infinispan! It was a great meeting with very good results and burning whiteboards (see below)!
Tags: JUGs transactions event
Friday, 13 April 2012
Sanne Grinovero and myself will talk about Infinispan and OGM at Portugal JUG in Coimbra on the April 18. This join talk covers an introduction to Infinispan and its main use cases followed by a presentation about NoSQL and Hibernate OGM. Thanks to Samuel Santos for inviting us and really looking forward to meet with the community!
Tags: conference JUGs event
Wednesday, 11 April 2012
Finally I was able to complete my trip to Grenoble to speak at Alpes JUG on the 29th of March about all things Infinispan, and I must say that I through fully enjoyed the experience. On arrival I was greeted by one of my JBossian colleagues, Chris Laprun, who lives in Grenoble.
After spending a few hours hanging around, we headed for the location of the Alpes JUG, where I met by Ludovic Poitou and other members of the JUG. The talk involved me speaking for 2 hours giving an overall view of Infinispan, while developing a simple application that would showcase Infinispan’s capabilities. As always with live demos, one or two things didn’t go fully according to plan, but overall the demo worked fine. For those who attended, remember that the demo code can be found here.
After the talk I had the chance to meet the attendants of the JUG where we discussed about caching, data grids, Hibernate 2nd level cache…etc. Having had some pizza slices, Chris and I moved on to a pub in the old part of Grenoble where we’re able to watch my dear Athetic Bilbao crash Shalke 04 in the Europa League :).
Next day Chris and I met with another of the Alpes JUG leaders, called Emmanuel Hugonnet, with whom we had some lunch. I must say that I felt in love with the local cuisine having tried some local rather pinky sausage with cold lentils with mustard (what a great combo!). Here’s a pic:
It was a joy being invited to speak at Alpes JUG and I’d certainly recommend it to any Java speakers out there! I hope to come back some other time :).
So, what’s next? Next week I’m speaking at Miracle Open World 2012 in Billund’s Legoland park, where I’ll be joined by two other JBoss colleagues, Max Andersen and Thomas Heute. In this rather atypical conference, I’ll be speaking about measuring performance of in-memory data grids, and about building transactional, scalable Infinispan applications. I was already speaking at this conference last year, and together with GeeCON, this was one of my favourite conferences of 2011. Can’t wait for next week!
Tags: conference JUGs event community
Tuesday, 27 March 2012
I was meant to speak in the Alpes JUG in Grenoble about Infinispan back in December, but due to a health issue, I was unable to attend. This session has now been rescheduled for this coming Thursday, 29th of March. As always, I will be speaking about all thing Infinispan, caching, data grids. Really looking forward to it! :)
Tags: JUGs event
Monday, 26 March 2012
I’ve just returned from Codemotion Rome where I delivered a talk on Infinispan. This was my first time presenting Codemotion: a very big conference with lots of young enthusiasts and very interesting presentations. A BIG thanks to the organisers for the excellent job they did and for the opportunity to share so many good ideas!
Tags: conference event community
Monday, 12 March 2012
Doug Lea and the folks on the concurrency-interest group have been hard at work on an update of JSR 166 (concurrency utilities) for Java 8 - called JSR 166e. These include some pretty impressive changes in a building-block we’ve all come to rely pretty heavily on, the ConcurrentHashMap.
One if the big drawbacks in the ConcurrentHashMap, since it was introduced in Java 5, has always been memory footprint. It is kinda bulky, especially when compared to a regular HashMap - 1.6 kb in memory versus about 100 bytes! Yes, these are for empty maps.
In Java 8, one of the improvements in the ConcurrentHashMap has been memory footprint - now closer to a regular HashMap. In addition to that, the new Java 8 CHM performs better under concurrent load when compared to its original form. See this discussion and comments in the proposed ConcurrentHashMapV8 sources for more details.
So, Infinispan makes pretty heavy use of ConcurrentHashMaps internally. One change in the recently released Infinispan 5.1.2.Final is these internal CHMs are built using a factory, and we’ve included a version of the Java 8 CHM in Infinispan. So by default, Infinispan uses the JDK’s provided CHM. But if you wish to force Infinispan to use the backported Java 8 CHM, all you need to do is include the following JVM parameter when you start Infinispan:
We’d love to hear what you have to say about this, in terms of memory footprint, garbage collection and overall performance. Please use the Infinispan user forums to provide your feedback.
Tags: event performance community garbage collection concurrency
Tuesday, 06 March 2012
In addition to my currently ongoing tour of user groups in North America, I will be presenting on Infinispan at 33Degrees in Krakow, Poland. In addition to my talking on data grids, I will also run a NoSQL BOF at 33 degrees so if you have an interest in NoSQL, big data, analytics, search or, well, storage in general, and will be at 33Degrees, do come by. :)
Tags: event NoSQL
Tuesday, 06 March 2012
As a seasoned public speaker, I don’t easily get flustered by minor glitches that inevitably occur when presenting or doing live code demos. I expected a recent JUG and JBUG tour of the American mid-west to be no different. I was prepared to speak about JSR 107 and JSR 347, Infinispan, and a wee bit on Hibernate OGM and NoSQL. All subjects I’m pretty familiar with, totalling to about an hour of yacking. Followed by a live coding demo to walk people through Infinispan’s core API. Simple.
So where does one start when talking about what went embarrassingly wrong at the Madison Java User Group on the 29th of Feb? Well, I suppose mistaking my iPad VGA connector for the mini displayport to VGA connector for my MacBook when leaving London was a start. Mix in the fact that this realisation only happened in a room full of people, with a few minutes to go before the start of the talk. Nice. Unable to connect my laptop to the projector, I had no choice but to present off my iPad instead. Which was fine, except that ten minutes into my talk, my iPad spuriously decided to shut down. Epic fail. But who needs slides, right? Not me, for sure - I’m way too cool for that. So I continued on, unfazed. Now try explaining Eric Brewer's CAP theorem without any visual aids. Fun, right? I tried to use the whiteboard. No pens! The organiser rushed out to find some. And none of them worked! Even old-school technology was failing on me that day.
Then come demo time, I was able to borrow a Linux laptop from Red Hatter Jey Paulraj who was in the audience, and transfer my demo to it. Given that the laptop didn’t have the tools needed to actually run the demo, the entire demo consisted of me just walking people through an Infinispan configuration XML file. For half an hour. Suspenseful and thrilling! Well, peppered with anecdotes about the life of an open source developer and several tangents on the architecture of various parts of Infinispan, the time did actually fly by (and the audience did seem at least somewhat engaged!)
The clincher, though - I had a PDF containing URLs where people could download the demo, and learn more about the JSRs and Infinispan. Bringing this PDF up on Jey’s laptop, still projecting for the benefit of the room, resulted in his PDF viewer crashing. That’s when I threw in the towel - any more information from me would require tequila, preferably delivered intravenously!
Now for the moral of the story, don’t trust technology. Always be prepared to get your message across with no visual aids whatsoever. Oh, and don’t forget your Macbook’s VGA adapter. :)
Addendum 2: I now am on a short break climbing in the Canadian Rockies, but will soon be presenting the same in Washington DC - drop by if you’re in the neighbourhood!
Tags: presentations event user groups
Friday, 02 March 2012
Infinispan 5.1.2.FINAL is out now with a handful of issues fixed that did not make the previous 5.1.2.CR1. The default JGroups configuration files shipped by Infinispan have been tweaked to help with state transfer and the GUI demo should now work in the binaries-only distribution as well.
Tags: release event infinispan
Tuesday, 28 February 2012
If you’re lucky enough to participate at this year’s Rome’s http://www.codemotion.it/Codemotion] then my Infinispan presentation might be an option to consider: this is an overview of the Infinispan ecosystem which focuses on what are the problems our data grid can help you solve. The presentation is on the 23 of March starting at 9:50 AM and contrary to its title, it lasts only for 40 minutes - but don’t worry, I’ll be around for entire duration of the conference so feel free to come and ping for a chat!
Tags: conference event