Contactdetails

NLJUG
Postbus 54
3780 BB Voorthuizen

Telefoon
0900-BEL NLJUG (10 ct/m)
0900-2356558 (10 ct/m)

Fax
0342 475880

Email
Algemeen: info@nljug.org
Leden: members@nljug.org

BTW: NL814104484B01
KVK: 30200958

Bank
Rabo: 3123.20.973
BIC: RABONL2U
IBAN: NL47RABO0312320973
NLJUG te Son

Membership

Membership provides members free access to the NLJUG workshops and events on a variety of Java topics, held across the country on a regular basis. Plus on a quarterly basis the Java Magazine published by Array Systems. The NLJUG is a member of a worldwide network of Java User Groups.

Fill in the form to sign up.

NLJUG

Founded in 1998, the Dutch Java Users Group consists of business partners, software developers, application architects, technical managers, students, and new media developers that have a common interest in all aspects of Java Technology.

NLJUG partners

Hippo

Mediapartner

Het JavaMagazine, gratis bij een NL-JUG lidmaatschap

Transactional Memory, the new gc

Met het toenemend aantal processoren zal de behoefte groter worden om te multithreaden. Lock based concurrency control is de traditionele aanpak hiervoor, maar tevens erg complex doordat het gevoelig is voor:
- deadlocks (te veel locking)
- isolatie problemen (te weinig locking)

En daarnaast een heel reeks aan andere problemen zoals performance en issues met het Java Memory Model. Transactional Memory is een alternatief op lock based concurrency control waarbij een stuk (Java) geheugen transactionele eigenschappen krijgt (atomic, consistent, isolated).

Tijdens deze sessie zal uitgelegd worden wat de beperking zijn van lock based concurrency control en waarom Transactional Memory voor Java zou kunnen betekenen wat the garbage collector heeft betekend. Tijdens de sessie komen de volgende onderwerpen aan bod:

- wat is transactioneel geheugen (Software & Hardware)
- hoe werkt het
- optimistic en pessimistic locking
- multi version concurrency control
- de database als transactioneel geheugen en zijn beperkingen
- blocking operations and condition variables
        - retry/orelse

- composable concurrent structures 

Verder zal ik een aantal ervaringen delen die ik heb opgedaan tijdens het bouwen van multiverse: een in Java geschreven Software Transactional Memory implementatie

http://multiverse.googlecode.com/

Niveau (beginner / intermediate / advanced): Advanced

Track waarbinnen deze kan worden geplaatst (zie boven): New & Cool

Vereiste voorkennis:

Intermediate kennis over (Java) concurrency. Dus hoe lock based concurrency control werkt. En hoe database concurrency control (in grote lijnen) werkt.

Een structurele beschrijving van de opbouw van de presentatie:

- Introductie

- Wat is er mis met lock based concurrency control

        -vb raceprobleem

        -vb deadlock

        -vb Java geheugen model (JMM) issue (reordering/visibility)

- Transactioneel geheugen

        -welke problemen lost het op

        -composable operations

        -blocking operations & condition variables

                -retry/orElse

        -optimistic and pessimistic locking

- Implementatie (Multiverse) specifiek

        -implementatie multiversioned heap

        -implementatie abort/commit

        -implementatie multiversion concurrency control

                - consistency (of gebrek aan)

        -implementatie retry

        -implementatie orElse

        -transaction template & annotation

- Misschien een paar live demo's

- Nadelen

- Conclusie

- Q & A


 Download de presentatie

 


Peter Veentjer 
Xebia
Peter Veentjer has worked for more than 8 years with Java and has hold several positions. He joined Xebia almost 3 years ago, where he primarily focuses on backend systems, performance and scalability problems. His interests are lightweight technologies (Spring e.g.), concurrency control and distributed computing. This will be his second presentation at the NLJUG: last November he gave a presentation about the Java Memory Model. In his spare time he works on various open source projects, but the last half year the main focus has been on http://multiverse.googlecode.com. For more information see http://pveentjer.wordpress.com.