Java SE - Parallelprogrammering med streams og arrays - Master Class

Kort om undervisningen

Dette korte kursus gennemgår nogle af de fælder, du kan komme ud for, når Java-programmer skal afvikles i et multicore-miljø. Kurset gennemgår de underliggende årsager, og foreslår passende løsninger baseret på Java 8 parallel streams. Kurset afholdes af professor Peter Sestoft.

Bemærk at kurset foregår på engelsk, hvis en eller flere kursister skulle ønske det.

Indhold

Vi ser på hvordan du kan anvende Java 8 streams og parallelle array operationer til at løse forskellige problemer, og diskuterer hvordan dette kan føre til simpel, sikker og effektiv parallelisering på shared-memory multicore maskiner.

Løsningerne er baseret på stream, collector og array API'et i det nye Java 8 bibliotek. Vi gennemgår de begrænsninger Java 8 streams har sammenlignet med andre frameworks til high-level parallel-programmering. Vi går bag om kulissen og ser, hvordan API'et dækker over en meget effektiv implementation baseret på work-stealing queues, thread-locality og hardwarens cache coherence protokoller.

Forudsætninger

Solid erfaring med Java svarende til Java SE - Java Standard Edition 8 - Advanced og Java SE - Java Standard Edition 8 - Upgrade. Det er en fordel at have kendskab til funktionsprogrammering, fx med Java 8's lambda-udtryk.

Målgruppe

Erfarne Java-udviklere, der arbejder med high performance-systemer.

Efter kurset kan deltageren

  • Optimere Java-kode til at udnytte multiple CPUer/cores effektivt
  • Forklare visse performance-karakteristikker inden for parallelisering

Kontakt gerne Lund&Bendsen ved hjælp af vores kontaktformular eller ring på telefon (+45) 33 861 861 for at høre nærmere.