Monday, 23 April 2012

Back from Portugal with goodies

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)!

image

Cheers, Mircea

Posted by Mircea Markus on 2012-04-23
Tags: JUGs transactions event

Friday, 13 April 2012

Infinispan and OGM at PT.JUG

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!

Cheers,

Mircea

Posted by Mircea Markus on 2012-04-13
Tags: conference JUGs event

Wednesday, 11 April 2012

Thanks Alpes JUG. Next stop: Miracle Open World

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:

image

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!

Cheers, Galder

Posted by Galder Zamarreño on 2012-04-11
Tags: conference JUGs event community

Tuesday, 27 March 2012

Infinispan coming to Alpes JUG!

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! :)

Cheers, Galder

Posted by Galder Zamarreño on 2012-03-27
Tags: JUGs event

Monday, 26 March 2012

Back from Codemotion.it

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!

Cheers,

Mircea

Posted by Mircea Markus on 2012-03-26
Tags: conference event community

Monday, 12 March 2012

JDK 8 backported ConcurrentHashMaps in Infinispan

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:

-Dinfinispan.unsafe.allow_jdk8_chm=true

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.

Thanks Manik

Posted by Manik Surtani on 2012-03-12
Tags: event performance community garbage collection concurrency

Tuesday, 06 March 2012

33Degrees

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. :)

 Cheers Manik

Posted by Manik Surtani on 2012-03-06
Tags: event NoSQL

Tuesday, 06 March 2012

A presentation from hell: when nothing else could possibly go wrong

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.

imageSo 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!)

imageThe 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. :)

imageAddendum: I repeated the talk a few times in Milwaukee and Chicago, and everything ran really well - after a quick trip to the local Apple store to replace my 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!

Cheers Manik

Posted by Manik Surtani on 2012-03-06
Tags: presentations event user groups

Friday, 02 March 2012

Infinispan 5.1.2.FINAL is available now!

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.

Full details of what has been fixed can be found here, and if you have feedback, please visit our forums. Finally, as always, you can download the release from here.

Cheers, Galder

Posted by Galder Zamarreño on 2012-03-02
Tags: release event infinispan

Tuesday, 28 February 2012

50 minutes worth spent @ Codemotion IT

image 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!

Cheers, Mircea

Posted by Mircea Markus on 2012-02-28
Tags: conference event

News

Tags

JUGs alpha as7 asymmetric clusters asynchronous beta c++ cdi chat clustering community conference configuration console data grids data-as-a-service database devoxx distributed executors docker event functional grouping and aggregation hotrod infinispan java 8 jboss cache jcache jclouds jcp jdg jpa judcon kubernetes listeners meetup minor release off-heap openshift performance presentations product protostream radargun radegast recruit release release 8.2 9.0 final release candidate remote query replication queue rest query security spring streams transactions vert.x workshop 8.1.0 API DSL Hibernate-Search Ickle Infinispan Query JP-QL JSON JUGs JavaOne LGPL License NoSQL Open Source Protobuf SCM administration affinity algorithms alpha amazon anchored keys annotations announcement archetype archetypes as5 as7 asl2 asynchronous atomic maps atomic objects availability aws beer benchmark benchmarks berkeleydb beta beta release blogger book breizh camp buddy replication bugfix c# c++ c3p0 cache benchmark framework cache store cache stores cachestore cassandra cdi cep certification cli cloud storage clustered cache configuration clustered counters clustered locks codemotion codename colocation command line interface community comparison compose concurrency conference conferences configuration console counter cpp-client cpu creative cross site replication csharp custom commands daas data container data entry data grids data structures data-as-a-service deadlock detection demo deployment dev-preview development devnation devoxx distributed executors distributed queries distribution docker documentation domain mode dotnet-client dzone refcard ec2 ehcache embedded embedded query equivalence event eviction example externalizers failover faq final fine grained flags flink full-text functional future garbage collection geecon getAll gigaspaces git github gke google graalvm greach conf gsoc hackergarten hadoop hbase health hibernate hibernate ogm hibernate search hot rod hotrod hql http/2 ide index indexing india infinispan infinispan 8 infoq internationalization interoperability interview introduction iteration javascript jboss as 5 jboss asylum jboss cache jbossworld jbug jcache jclouds jcp jdbc jdg jgroups jopr jpa js-client jsr 107 jsr 347 jta judcon kafka kubernetes lambda language learning leveldb license listeners loader local mode lock striping locking logging lucene mac management map reduce marshalling maven memcached memory migration minikube minishift minor release modules mongodb monitoring multi-tenancy nashorn native near caching netty node.js nodejs non-blocking nosqlunit off-heap openshift operator oracle osgi overhead paas paid support partition handling partitioning performance persistence podcast presentation presentations protostream public speaking push api putAll python quarkus query quick start radargun radegast react reactive red hat redis rehashing releaase release release candidate remote remote events remote query replication rest rest query roadmap rocksdb ruby s3 scattered cache scripting second level cache provider security segmented server shell site snowcamp spark split brain spring spring boot spring-session stable standards state transfer statistics storage store store by reference store by value streams substratevm synchronization syntax highlighting tdc testing tomcat transactions tutorial uneven load user groups user guide vagrant versioning vert.x video videos virtual nodes vote voxxed voxxed days milano wallpaper websocket websockets wildfly workshop xsd xsite yarn zulip

back to top