HBO/WO Afstudeeropdracht: automatic garbage collection

Ben je hbo’er of WO’er en zoek je een boeiende afstudeeropdracht? Wij hebben de volgende casus voor je klaar staan:

Garbage Collection Sequential Store

Bij Seecr is een zeer efficiënte manier ontwikkeld om een kleine hoeveelheid gerelateerde data efficiënt op te slaan. Deze opslag moet nu met de hand worden ontdaan van garbage. Dit proces moet worden geautomatiseerd.

Random access

De opslag van zeer kleine eenheden van informatie gaat in de vorm van Triples. Het opslaan van deze informatie in databases zoals Triple Stores of Relationele Databases is geoptimaliseerd voor random access. Dit vertaalt zich in de architectuur van de software, maar ook in de eisen die gesteld worden aan de onderliggende hardware. Er moet vaak veel geheugen beschikbaar zijn voor caching en indexen en dergelijke, en de toegang tot harde schijven moet een zeer lage latency hebben, het liefst als SSD.

Sequential

In veel gevallen is de toegang van de data echter niet random, maar sequentieel van aard. Dit komt omdat in de praktijk vaak gerelateerde gegevens worden opgevraagd, bijvoorbeeld om informatie omtrent een specifiek voorwerp of onderwerp weer te geven in een App of website. Het gaat dan ook al snel om honderden tot duizenden gerelateerde triples. Traditionele Triple Stores en Relationele Databases zijn hier slecht in doordat, eenvoudig gezegd, deze honderden tot duizenden triples allemaal als random access behandeld worden.

Ook is de overhead van de opslag vaak zeer groot: er wordt meer data opgeslagen dan dat er feitelijk informatie in zit. Een overhead van honderden procenten is niet vreemd.

Onze oplossing

Seecr heeft een storage ontwikkeld die zeer weinig geheugen nodig heeft en zeer lage eisen stelt aan de harde schijven. Tegelijk is de through-put in triples per seconde zeer hoog (>1.000.000/s) en ook de netto ingenomen ruimte op de harde schijf is zeer klein doordat de overhead zeer laag is.

Deze store noemen we de Sequential Store omdat hij is geoptimaliseerd voor sequentieel opslag en toegang.

De stores die we in gebruik hebben, bevatten honderden miljoenen triples. Een cruciale optimalisatie is het read-only behandelen van data en het slim bij elkaar opslaan van gerelateerde informatie. Dit betekent dat als er data moet worden verwijderd, dit niet fysiek, direct, gebeurt, maar alleen wordt geregistreerd. Daadwerkelijke verwijdering vindt pas plaats bij een (handmatige) garbage collect. Het is onze wens dat dit automatisch gaat gebeuren.

Hoe automatiseren?

De volgende uitdagingen komen hierbij kijken:

  1. De data is gecomprimeerd en heeft geen vaste lengte.
  2. De benodigde geheugenruimte is beperkt, niet de hele store past in het geheugen.
  3. De benodigde schijfruimte is beperkt en kan dynamisch variëren.
  4. Alle processen lopen door, en de indexen moeten correct blijven.

Voorlopige ideeën over hoe dit aan te pakken:

  1. Verdeel de sequential store in meerdere kleine read-only delen.
  2. Gebruik bijvoorbeeld merge sort om deze delen bijeen te voegen.
  3. Tijdens 2 verdwijnt de garbage en ontstaat een nieuw read-only deel.
  4. Voer dit periodiek uit, of na een trigger die een percentage garbage berekent.

Voor wie?

Deze boeiende stage of afstudeeropdracht is bedoeld voor laatstejaars studenten informatica HBO of WO met een sterke voorkeur voor geavanceerde datastructuren en kennis van de performancekarakteristieken van hardware.

Als IT-stagiair werk je samen met collega’s,  scrum-based, aan userstories. Je denkt mee over het ontwerp en de implementatie van oplossingen, die baanbrekend kunnen zijn voor de dienstverlening van onze klanten.

Wat kenmerkt ons

Via onze maandelijkse retrospectives verbeteren we continu onze processen en onze interactie met elkaar en onze omgeving continu. Onze werkdag is ingedeeld in vier blokken, ieder voorafgegaan door een stand-up. Zo houden we elkaar scherp, zijn we bij elkaar betrokken, en zijn we wendbaarder door de dag heen. Iedereen denkt met elkaar mee.

Je zult begeleid worden door onze senior developers op WO- en hbo-niveau. Met hen kun je de diepte in over de uitdagingen die je tegenkomt.

Ervaring en skills die je nodig hebt

Dit ben jij:

  • Je volgt een hbo- of universitaire ICT-opleiding (eindstage).
  • Je bent integer en respectvol.
  • Je kunt in teamverband én zelfstandig werken.

Als je een goed idee hebt,  krijg je de tijd voor research en toepassing binnen projecten.

Wat wij bieden

  • Je werkt mee aan IT-projecten bij de grootste klanten van Seecr.
  • Het is een uitdagende stage binnen een professionele, platte organisatie. Collegialiteit en samenwerken bepalen de sfeer. Iedereen denkt graag met je mee.  We staan open voor nieuwe ideeën.
  • We hebben een stagevergoeding en reiskostenvergoeding; een (h)eerlijke lunch met tweemaal per week versgebakken brood uit eigen oven, gekookte eitjes en biologisch broodbeleg en zuivel van onze Streekleverancier.  Er is altijd vers sinaasappelsap en fruit op kantoor. De eerlijke koffie uit ons Barista apparaat, komt hier vandaan. We hebben verrassende uitjes en ontmoeten graag inspirerende mensen op congressen zoals de XP Days en TEDx-bijeenkomsten.

Waar je gaat werken

Ons ruime kantoor ligt hier.  Onze medewerkers wonen verspreid in de wijde regio, dus meerijden kan een mogelijkheid zijn.

Reageren

Geïnteresseerd of vragen? Neem dan contact op met Marjanne van Arendonk (communicatie) marjanne@seecr.nl,  of bel 06 – 207 042 96.

Geef een reactie

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.