Skip to content

mejsla/vassare-jppf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distribuerade beräkningar med JPPF

Tips för att labba med JPPF på Mejslas vässardag 2020-01-23 och länk till presentationen.

Komma igång med labben

Bygg projektet:

mvn package

Testa lokalt

För att testa lokalt behöver du inte ändra något. Det räcker med att starta alla delar av systemet: en server, en eller flera noder och adminklienten. Sen kan du köra testklienten och se vad som händer.

Anslut till labbklustret

När du ansluter din dator till labbklustret behöver du ingen server. Du måste däremot ändra några inställningar för att noder och klienter ska hitta den gemensamma servern. Alla noder och klienter i ett kluster måste använda samma version av Java (11) och serialisering (DefaultJavaSerialization).

node/config/jppf.properties

jppf.server.host=<den gemensamma serverns IP-adress>
jppf.discovery.enabled=false

Eventuellt vill du ändra hur många trådar en nod får lägga rabarber på:

jppf.processing.threads=<antal trådar>

node/config/jppf.properties och admin/config/jppf.properties

driver1.jppf.server.host=<den gemensamma serverns IP-adress>
jppf.discovery.enabled=false

Nu kan du starta en eller flera noder och köra testklienten igen.

Labba

För att enkelt att komma igång kan du utgå från klassen TemplateApplicationRunner, som till största delen är kopierad från JPPFs exempelkod. I main kan man se tre olika sätt att köra distribuerade jobb med JPPF. Den som föredrar enhetstester kan istället utgå från SimpleTaskIT.

Det finns också några exempel-tasks att testa med.

Förslag på saker att labba med

Du har säkert egna saker du vill testa, men annars finns här är en lista med idéer:

  • Gör JPPFs egen tutorial
  • Testa failover genom att stoppa en nod som exekverar ett jobb och se om en annan nod tar över
  • Skriv en klient som gör något som tar lång tid, som t.ex. hitta primtal, dela upp beräkningen i flera delar, kör beräkningen distribuerat och sätt ihop resultatet efteråt
  • Byt serialisering till något annat än Javas inbyggda (exempel)
  • Testa en färdig klient, t.ex. Mandelbrot-fraktaler eller något av JPPFs exempel
  • Kör en nod med en SecurityManager installerad
  • Skapa jobb med SLA, t.ex. jobb får bara köras på macOS, eller på en nod med minst fyra trådar
  • Skriv en egen lastbalanserare (exempel)
  • JPPF i molnet (JPPF deployment, Docker, Kubernetes)
  • Skriv en bitcoin-brytare, kör på alla andras datorer och bli rik!
  • Eller något roligare som du kommer på själv

JPPF-resurser

Releases

No releases published

Packages

No packages published