BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Pentabarf//Schedule 0.3//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALDESC;VALUE=TEXT:Free Java devroom X-WR-CALNAME;VALUE=TEXT:Free Java devroom X-WR-TIMEZONE;VALUE=TEXT:Europe/Brussels BEGIN:VEVENT METHOD:PUBLISH UID:8865@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T103000 DTEND:20190202T103500 SUMMARY:Welcome DESCRIPTION:
Welcome to the Free Java DevRoom
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/java_welcome_2019/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mario Torre":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8866@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T103500 DTEND:20190202T111500 SUMMARY:State of OpenJDK DESCRIPTION:A review of the past year in the life of the OpenJDK Community, and a look at what's ahead.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/state_openjdk/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mark Reinhold":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8867@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T112000 DTEND:20190202T114500 SUMMARY:Rumble in the Java Jungle DESCRIPTION:Rumble in the Java Jungle
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/java_jungle/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Volker Simonis":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:7820@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T115000 DTEND:20190202T121500 SUMMARY:Loom: Weaving executions DESCRIPTION:Project Loom’s mission is to make it easier to write, debug, profile and maintain concurrent applications under heavy load. Threads are a natural and convenient concurrency construct which is being supplanted by less convenient abstractions because their implementation as OS kernel threads is insufficient for meeting performance demands and wasteful in computing resources. Project Loom will introduce fibers as lightweight, efficient threads managed by the Java Virtual Machine, that let developers use the same simple abstraction but with significantly better performance and lower footprint. Fibers are implemented in the JDK libraries on top of scoped, stackful delimited continuations in the JVM. This session will present the current status and challenges of the project -- both of implementation and design -- one year in.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/loom_weaving_executions/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ron Pressler":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8868@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T122000 DTEND:20190202T124500 SUMMARY:Java Checkpoint/Restore DESCRIPTION:Java has evolved significantly in the past 20+ years. Users stillwant to run highly scalable monolithic applications, but now they alsowant to run in the cloud with fast startup and small footprint.Checkpointing will solve at least half of that problem. I'll show youhow to checkpoint your java application and then restore it on adifferent machine, or several different machines. An application thatmight take minutes to warm up, can be warmed up, garbage collected,etc and then checkpointed. Users can restore Java processes in ms.I'll give an overview of CRIU (Checkpoint Restore In Userspace) aLinux utility that Java checkpointing is based on, present theproposed Java API, and then demo some interesting use cases.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/checkpoint_restore/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Christine H Flood":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8869@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T125000 DTEND:20190202T131500 SUMMARY:Java with Docker: How to Make it Work DESCRIPTION:Ever tried developing Java applications in containers?
Of course not. You're a sensible person.
From a small footprint to a super-fast spin-up time, the reality of containers is a far cry from the reality of an OpenJDK binary execution.
So how do we bring these two disparate visions closer together?
Simple! We jlink the required JDK modules to generate a smaller footprint, then leverage alternate JVMs for performant startup!
I promise, the reality is simpler than that sentence. :)
Drop by and see what I mean.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/java_docker/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Adam Farley":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8873@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T132000 DTEND:20190202T134500 SUMMARY:Performance tuning Twitter services with Graal and Machine Learning DESCRIPTION:Running Twitter services on Graal has been very successful and saved Twitter a lot of money on datacenter cost. But we would like to run more efficient to reduce cost even more. I mean, who doesn’t? In order to do this we are using our Machine Learning framework called Autotune to tune Graal inlining parameters. This talk will show how much performance improvement we got by autotuning Graal.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/performance_graal/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Christian Thalinger":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8883@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T135000 DTEND:20190202T141500 SUMMARY:Securing the JVM, neither for fun nor for profit, but do you really have a choice? DESCRIPTION:Consider a Java application in a private banking system. A new networkadministrator is hired, and while going around, he notices that the app ismaking network calls to an unknown external endpoint. After someinvestigation, it’s found that this app has been sending for yearsconfidential data to a competitor (or a state, or hackers, whatever). Thisis awkward. Especially since it could have been avoided.
Code reviews are good to improve the hardening of an application, but whatif the malicious code was planted purposely? Some code buried in a commitcould extract code from binary content, compile it on the fly, and thenexecute the code in the same JVM run… By default, the JVM is not secured!Securing the JVM for a non-trivial application is complex andtime-consuming but the risks of not securing it could be disastrous. Inthis talk, I’ll show some of the things you could do in an unsecured JVM.I’ll also explain the basics of securing it, and finally demo a workingprocess on how to do it.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/securing_jvm/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Nicolas Frankel":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8874@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T142000 DTEND:20190202T144500 SUMMARY:Learning about Deep Learning: Applications for OpenJDK/Java Verification DESCRIPTION:In this talk, we identify some well-known software verification problems,using real-world examples from open-source projects and see how we mightapply some deep learning principles to address them. In the various pointswhere we may test the Java runtime, we find candidates for deep learning. Whatis required? We need a problem to solve, a model that describes it, and alarge amount of data to feed the neural network.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/deep_learning_openjdk/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Shelley Lambert":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8876@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T145000 DTEND:20190202T151500 SUMMARY:An introduction to Middleware Application Monitoring with Java Mission Control and Flight Recorder DESCRIPTION:Recently open sourced, JDK Mission Control is the industry standard tool for Java performance analysis in production environments. This presentation will introduce the tool and explain how to use it to solve various production time problems with very little overhead.
We will also discuss how application developers can extend their applications to take advantage of the event recording capabilities of the JDK Flight Recorder, now included in OpenJDK 11, and how to create custom tools based on the extensive Mission Control API to analyse specific issues beyond what is offered by default by the Eclipse based tool.
At the end a demo will be shown using the JDK Flight Recorder, JDK Mission Control and OpenTracing together to facilitate deep distributed tracing capabilities.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/imc/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mario Torre":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Marcus Hirt":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8877@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T152000 DTEND:20190202T154500 SUMMARY:The Missing Benchmark Metric: Memory Consumption DESCRIPTION:When doing benchmarks we are usually interested in comparing the throughput ofdifferent solutions. However, when the code under investigation is nottrivial, memory consumption may vary significantly, because using more memoryto achieve better throughput is a typical design trade off.
The talk discusses what memory metrics are more or less meaningful and whatapproaches can be used to track memory consumption alongside JMH benchmarks. Aspecial focus will be given on dynamic effects on the interaction with thegarbage collector and whether it is possible to get some stable benchmarkresults.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/memory_benchmark/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jens Wilke":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8878@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T155000 DTEND:20190202T161500 SUMMARY:A walkthrough guide to implementing a compiler intrinsic DESCRIPTION:One of the ways Java achieves high performance is to provide a route foraccelerated, hand-crafted compilation of certain critical methods viathe JIT. This optimization path is available both for native methodsimplemented as callouts to C code and for methods that are defined inJava. In both cases the method needs to be flagged as a HotspotIntrinsicand provided with a JITted code implementation. The intrinsicimplementation defines the hand-crafted definition of as a high-levelintermediate representation (IR) graph for the C2 JIT. This means it canbe inlined into the IR graph for caller methods, providing even greateropportunities for optimization.
This talk will demonstrate how to implement an intrinsic by walkingthrough a specific real-life example that is currently under review as aJEP candidate. It will start by motivating the need for the intrinsicand defining the candidate as a Java method which relies on anunderlying native implementation. It will then show how the candidatecan be replaced with an intrinsic implementation, working through thechanges required in the VM, the JIT compiler front and back end and,ultimately, the assemblers for x86 and AArch64.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/compiler_instrinsic/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrew Dinn":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8879@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T162000 DTEND:20190202T164500 SUMMARY:Build your own GC with OpenJDK in 20 minutes DESCRIPTION:A new Garbage Collector interface has been introduced in OpenJDK 10, andhas been further improved in OpenJDK 11 and 12. This talk will give ashort sight-seeing tour through its design and its important interfacesand should give you an idea where to start, if you'd want to make yourown Garbage Collector or want to get started with OpenJDKs existingcollectors.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/build_gc_minutes/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Roman Kennke":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8882@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T165000 DTEND:20190202T171500 SUMMARY:Making the JIT part of the cloud DESCRIPTION:Many language runtimes like the JVM rely on JIT compilation to improveapplication performance, but JIT compilers actively compete withapplications for CPU and memory resources. Because of this, a JITcompiler's activities may hinder application throughput and createperformance hiccups that can affect quality of service while alsocomplicating resource provisioning. On top of that, it takes a while evenfor the best JIT compilers to fully compile the performance criticalmethods of an application to deliver the steady state performance we allexpect from the JVM. An approach we are exploring is to decouple the JITcompiler from the rest of the JVM so that JIT compilation can operate as aseparate, remote service. This approach opens up the possibility of anelastic, cloud based service offering JIT compilation for manyapplications, languages, and even different architectures simultaneously.
In this talk we will present our experience building an open sourceJIT-as-a-service prototype based on the Eclipse OpenJ9 JVM. We will discusssome of the engineering challenges we encountered, demonstrate theadvantages we've seen thus far, and present performance data for enterprisegrade Java EE benchmarks.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/jit_cloud/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Irwin D'Souza":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8875@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T172000 DTEND:20190202T174500 SUMMARY:Tested for Business: An Open and Transparent Quality Kit DESCRIPTION:With the proliferation of OpenJDK binaries for a developer or a business tochoose from, one factor in determining the selection is quality. How doyou know your choice is up to snuff? The AdoptOpenJDK Quality Kit is anopen and transparent verification story for OpenJDK binaries. A robust andadaptable test kit that can be utilized by any OpenJDK implementor, andrepresents the quality bar required by large-scale customers in enterpriseenvironments. We test multiple freely available JDK implementations atAdoptOpenJDK and continue to refine this suite of tests to give thecommunity access to high-quality binaries.
Beyond a frank discussion starter on the criteria by which we measurequality, this talk summarizes the real quality requirements of enterprisecustomers and presents a compelling story for verifying and/or selectingyour OpenJDK implementation.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/tested_business/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Shelley Lambert":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8880@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T175000 DTEND:20190202T181500 SUMMARY:Java Language Futures DESCRIPTION:With the new more rapid cadence, improvements are coming to Java faster than ever. Join Java Language Architect Brian Goetz on a whirlwind tour of some of the features that are coming to Java in the coming months and years.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/java_language_futures/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Brian Goetz":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8881@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190202T182000 DTEND:20190202T190000 SUMMARY:OpenJDK Governing Board Q&A DESCRIPTION:An open Q&A session with members of the OpenJDK Governing Board.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Free Java URL:https:/fosdem.org/2019/schedule/2019/schedule/event/openjdk_gb/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mark Reinhold":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mario Torre":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrew Haley":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Georges Saab":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Doug Lea":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="John Duimovich":invalid:nomail END:VEVENT END:VCALENDAR