rule-based reasoning using gpus university of applied sciences and arts dortmund rule-based...

19
University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters University of Applied Sciences and Arts Dortmund, Germany Smart Environments Engineering Lab

Upload: others

Post on 29-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

University of Applied Sciences and Arts Dortmund

Rule-based reasoning using GPUs

Martin Peters

!University of Applied Sciences and Arts Dortmund, Germany

Smart Environments Engineering Lab

Page 2: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Linked Datasets as of August 2014

Uniprot

AlexandriaDigital Library

Gazetteer

lobidOrganizations

chem2bio2rdf

MultimediaLab University

Ghent

Open DataEcuador

GeoEcuador

Serendipity

UTPLLOD

GovAgriBusDenmark

DBpedialive

URIBurner

Identifiers

EionetRDF

lobidResources

WiktionaryDBpedia

Viaf

Umthes

RKBExplorer

Courseware

Opencyc

Olia

Gem.Thesaurus

AudiovisueleArchieven

DiseasomeFU-Berlin

Eurovocin

SKOS

DNBGND

Cornetto

Bio2RDFPubmed

Bio2RDFNDC

Bio2RDFMesh

IDS

OntosNewsPortal

AEMET

ineverycrea

LinkedUser

Feedback

MuseosEspaniaGNOSS

Europeana

NomenclatorAsturias

Red UnoInternacional

GNOSS

GeoWordnet

Bio2RDFHGNC

CticPublic

Dataset

Bio2RDFHomologene

Bio2RDFAffymetrix

MuninnWorld War I

CKAN

GovernmentWeb Integration

forLinkedData

Universidadde CuencaLinkeddata

Freebase

Linklion

Ariadne

OrganicEdunet

GeneExpressionAtlas RDF

ChemblRDF

BiosamplesRDF

IdentifiersOrg

BiomodelsRDF

ReactomeRDF

Disgenet

SemanticQuran

IATI asLinked Data

DutchShips and

Sailors

Verrijktkoninkrijk

IServe

Arago-dbpedia

LinkedTCGA

ABS270a.info

RDFLicense

EnvironmentalApplications

ReferenceThesaurus

Thist

JudaicaLink

BPR

OCD

ShoahVictimsNames

Reload

Data forTourists in

Castilla y Leon

2001SpanishCensusto RDF

RKBExplorer

Webscience

RKBExplorerEprintsHarvest

NVS

EU AgenciesBodies

EPO

LinkedNUTS

RKBExplorer

Epsrc

OpenMobile

Network

RKBExplorerLisbon

RKBExplorer

Italy

CE4R

EnvironmentAgency

Bathing WaterQuality

RKBExplorerKaunas

OpenData

Thesaurus

RKBExplorerWordnet

RKBExplorer

ECS

AustrianSki

Racers

Social-semweb

Thesaurus

DataOpenAc Uk

RKBExplorer

IEEE

RKBExplorer

LAAS

RKBExplorer

Wiki

RKBExplorer

JISC

RKBExplorerEprints

RKBExplorer

Pisa

RKBExplorer

Darmstadt

RKBExplorerunlocode

RKBExplorer

Newcastle

RKBExplorer

OS

RKBExplorer

Curriculum

RKBExplorer

Resex

RKBExplorer

Roma

RKBExplorerEurecom

RKBExplorer

IBM

RKBExplorer

NSF

RKBExplorer

kisti

RKBExplorer

DBLP

RKBExplorer

ACM

RKBExplorerCiteseer

RKBExplorer

Southampton

RKBExplorerDeepblue

RKBExplorerDeploy

RKBExplorer

Risks

RKBExplorer

ERA

RKBExplorer

OAI

RKBExplorer

FT

RKBExplorer

Ulm

RKBExplorer

Irit

RKBExplorerRAE2001

RKBExplorer

Dotac

RKBExplorerBudapest

SwedishOpen Cultural

Heritage

Radatana

CourtsThesaurus

GermanLabor LawThesaurus

GovUKTransport

Data

GovUKEducation

Data

EnaktingMortality

EnaktingEnergy

EnaktingCrime

EnaktingPopulation

EnaktingCO2Emission

EnaktingNHS

RKBExplorer

Crime

RKBExplorercordis

Govtrack

GeologicalSurvey of

AustriaThesaurus

GeoLinkedData

GesisThesoz

Bio2RDFPharmgkb

Bio2RDFSabiorkBio2RDF

Ncbigene

Bio2RDFIrefindex

Bio2RDFIproclass

Bio2RDFGOA

Bio2RDFDrugbank

Bio2RDFCTD

Bio2RDFBiomodels

Bio2RDFDBSNP

Bio2RDFClinicaltrials

Bio2RDFLSR

Bio2RDFOrphanet

Bio2RDFWormbase

BIS270a.info

DM2E

DBpediaPT

DBpediaES

DBpediaCS

DBnary

AlpinoRDF

YAGO

PdevLemon

Lemonuby

Isocat

Ietflang

Core

KUPKB

GettyAAT

SemanticWeb

Journal

OpenlinkSWDataspaces

MyOpenlinkDataspaces

Jugem

Typepad

AspireHarperAdams

NBNResolving

Worldcat

Bio2RDF

Bio2RDFECO

Taxon-conceptAssets

Indymedia

GovUKSocietal

WellbeingDeprivation imd

EmploymentRank La 2010

GNULicenses

GreekWordnet

DBpedia

CIPFA

Yso.fiAllars

Glottolog

StatusNetBonifaz

StatusNetshnoulle

Revyu

StatusNetKathryl

ChargingStations

AspireUCL

Tekord

Didactalia

ArtenueVosmedios

GNOSS

LinkedCrunchbase

ESDStandards

VIVOUniversityof Florida

Bio2RDFSGD

Resources

ProductOntology

DatosBne.es

StatusNetMrblog

Bio2RDFDataset

EUNIS

GovUKHousingMarket

LCSH

GovUKTransparencyImpact ind.Households

In temp.Accom.

UniprotKB

StatusNetTimttmy

SemanticWeb

Grundlagen

GovUKInput ind.

Local AuthorityFunding FromGovernment

Grant

StatusNetFcestrada

JITA

StatusNetSomsants

StatusNetIlikefreedom

DrugbankFU-Berlin

Semanlink

StatusNetDtdns

StatusNetStatus.net

DCSSheffield

AtheliaRFID

StatusNetTekk

ListaEncabezaMientosMateria

StatusNetFragdev

Morelab

DBTuneJohn PeelSessions

RDFizelast.fm

OpenData

Euskadi

GovUKTransparency

Input ind.Local auth.Funding f.

Gvmnt. Grant

MSC

Lexinfo

StatusNetEquestriarp

Asn.us

GovUKSocietal

WellbeingDeprivation ImdHealth Rank la

2010

StatusNetMacno

OceandrillingBorehole

AspireQmul

GovUKImpact

IndicatorsPlanning

ApplicationsGranted

Loius

Datahub.io

StatusNetMaymay

Prospectsand

TrendsGNOSS

GovUKTransparency

Impact IndicatorsEnergy Efficiency

new Builds

DBpediaEU

Bio2RDFTaxon

StatusNetTschlotfeldt

JamendoDBTune

AspireNTU

GovUKSocietal

WellbeingDeprivation Imd

Health Score2010

LoticoGNOSS

UniprotMetadata

LinkedEurostat

AspireSussex

Lexvo

LinkedGeoData

StatusNetSpip

SORS

GovUKHomeless-

nessAccept. per

1000

TWCIEEEvis

AspireBrunel

PlanetDataProject

Wiki

StatusNetFreelish

Statisticsdata.gov.uk

StatusNetMulestable

Enipedia

UKLegislation

API

LinkedMDB

StatusNetQth

SiderFU-Berlin

DBpediaDE

GovUKHouseholds

Social lettingsGeneral Needs

Lettings PrpNumber

Bedrooms

AgrovocSkos

MyExperiment

ProyectoApadrina

GovUKImd CrimeRank 2010

SISVU

GovUKSocietal

WellbeingDeprivation ImdHousing Rank la

2010

StatusNetUni

Siegen

OpendataScotland Simd

EducationRank

StatusNetKaimi

GovUKHouseholds

Accommodatedper 1000

StatusNetPlanetlibre

DBpediaEL

SztakiLOD

DBpediaLite

DrugInteractionKnowledge

BaseStatusNet

Qdnx

AmsterdamMuseum

AS EDN LOD

RDFOhloh

DBTuneartistslast.fm

AspireUclan

HellenicFire Brigade

Bibsonomy

NottinghamTrent

ResourceLists

OpendataScotland SimdIncome Rank

RandomnessGuide

London

OpendataScotland

Simd HealthRank

SouthamptonECS Eprints

FRB270a.info

StatusNetSebseb01

StatusNetBka

ESDToolkit

HellenicPolice

StatusNetCed117

OpenEnergy

Info Wiki

StatusNetLydiastench

OpenDataRISP

Taxon-concept

Occurences

Bio2RDFSGD

UIS270a.info

NYTimesLinked Open

Data

AspireKeele

GovUKHouseholdsProjectionsPopulation

W3C

OpendataScotland

Simd HousingRank

ZDB

StatusNet1w6

StatusNetAlexandre

Franke

DeweyDecimal

Classification

StatusNetStatus

StatusNetdoomicile

CurrencyDesignators

StatusNetHiico

LinkedEdgar

GovUKHouseholds

2008

DOI

StatusNetPandaid

BrazilianPoliticians

NHSJargon

Theses.fr

LinkedLifeData

Semantic WebDogFood

UMBEL

OpenlyLocal

StatusNetSsweeny

LinkedFood

InteractiveMaps

GNOSS

OECD270a.info

Sudoc.fr

GreenCompetitive-

nessGNOSS

StatusNetIntegralblue

WOLD

LinkedStockIndex

Apache

KDATA

LinkedOpenPiracy

GovUKSocietal

WellbeingDeprv. ImdEmpl. Rank

La 2010

BBCMusic

StatusNetQuitter

StatusNetScoffoni

OpenElection

DataProject

Referencedata.gov.uk

StatusNetJonkman

ProjectGutenbergFU-BerlinDBTropes

StatusNetSpraci

Libris

ECB270a.info

StatusNetThelovebug

Icane

GreekAdministrative

Geography

Bio2RDFOMIM

StatusNetOrangeseeds

NationalDiet Library

WEB NDLAuthorities

UniprotTaxonomy

DBpediaNL

L3SDBLP

FAOGeopolitical

Ontology

GovUKImpact

IndicatorsHousing Starts

DeutscheBiographie

StatusNetldnfai

StatusNetKeuser

StatusNetRusswurm

GovUK SocietalWellbeing

Deprivation ImdCrime Rank 2010

GovUKImd Income

Rank La2010

StatusNetDatenfahrt

StatusNetImirhil

Southamptonac.uk

LOD2Project

Wiki

DBpediaKO

DailymedFU-Berlin

WALS

DBpediaIT

StatusNetRecit

Livejournal

StatusNetExdc

Elviajero

Aves3D

OpenCalais

ZaragozaTurruta

AspireManchester

Wordnet(VU)

GovUKTransparency

Impact IndicatorsNeighbourhood

Plans

StatusNetDavid

Haberthuer

B3Kat

PubBielefeld

Prefix.cc

NALT

Vulnera-pedia

GovUKImpact

IndicatorsAffordable

Housing Starts

GovUKWellbeing lsoa

HappyYesterday

Mean

FlickrWrappr

Yso.fiYSA

OpenLibrary

AspirePlymouth

StatusNetJohndrink

Water

StatusNetGomertronic

Tags2conDelicious

StatusNettl1n

StatusNetProgval

Testee

WorldFactbookFU-Berlin

DBpediaJA

StatusNetCooleysekula

ProductDB

IMF270a.info

StatusNetPostblue

StatusNetSkilledtests

NextwebGNOSS

EurostatFU-Berlin

GovUKHouseholds

Social LettingsGeneral Needs

Lettings PrpHousehold

Composition

StatusNetFcac

DWSGroup

OpendataScotland

GraphSimd Rank

DNB

CleanEnergyData

Reegle

OpendataScotland SimdEmployment

Rank

ChroniclingAmerica

GovUKSocietal

WellbeingDeprivation

Imd Rank 2010

StatusNetBelfalas

AspireMMU

StatusNetLegadolibre

BlukBNB

StatusNetLebsanft

GADMGeovocab

GovUKImd Score

2010

SemanticXBRL

UKPostcodes

GeoNames

EEARodAspire

Roehampton

BFS270a.info

CameraDeputatiLinkedData

Bio2RDFGeneID

GovUKTransparency

Impact IndicatorsPlanning

ApplicationsGranted

StatusNetSweetie

Belle

O'Reilly

GNI

CityLichfield

GovUKImd

Rank 2010

BibleOntology

Idref.fr

StatusNetAtari

Frosch

Dev8d

NobelPrizes

StatusNetSoucy

ArchiveshubLinkedData

LinkedRailway

DataProject

FAO270a.info

GovUKWellbeing

WorthwhileMean

Bibbase

Semantic-web.org

BritishMuseum

Collection

GovUKDev LocalAuthorityServices

CodeHaus

Lingvoj

OrdnanceSurveyLinkedData

Wordpress

EurostatRDF

StatusNetKenzoid

GEMET

GovUKSocietal

WellbeingDeprv. imdScore '10

MisMuseosGNOSS

GovUKHouseholdsProjections

totalHouseolds

StatusNet20100

EEA

CiardRing

OpendataScotland Graph

EducationPupils by

School andDatazone

VIVOIndiana

University

Pokepedia

Transparency270a.info

StatusNetGlou

GovUKHomelessness

HouseholdsAccommodated

TemporaryHousing Types

STWThesaurus

forEconomics

DebianPackageTrackingSystem

DBTuneMagnatune

NUTSGeo-vocab

GovUKSocietal

WellbeingDeprivation ImdIncome Rank La

2010

BBCWildlifeFinder

StatusNetMystatus

MiguiadEviajesGNOSS

AcornSat

DataBnf.fr

GovUKimd env.

rank 2010

StatusNetOpensimchat

OpenFoodFacts

GovUKSocietal

WellbeingDeprivation Imd

Education Rank La2010

LODACBDLS

FOAF-Profiles

StatusNetSamnoble

GovUKTransparency

Impact IndicatorsAffordable

Housing Starts

StatusNetCoreyavisEnel

Shops

DBpediaFR

StatusNetRainbowdash

StatusNetMamalibre

PrincetonLibrary

Findingaids

WWWFoundation

Bio2RDFOMIM

Resources

OpendataScotland Simd

GeographicAccess Rank

Gutenberg

StatusNetOtbm

ODCLSOA

StatusNetOurcoffs

Colinda

WebNmasunoTraveler

StatusNetHackerposse

LOV

GarnicaPlywood

GovUKwellb. happy

yesterdaystd. dev.

StatusNetLudost

BBCProgram-

mes

GovUKSocietal

WellbeingDeprivation Imd

EnvironmentRank 2010

Bio2RDFTaxonomy

Worldbank270a.info

OSM

DBTuneMusic-brainz

LinkedMarkMail

StatusNetDeuxpi

GovUKTransparency

ImpactIndicators

Housing Starts

BizkaiSense

GovUKimpact

indicators energyefficiency new

builds

StatusNetMorphtown

GovUKTransparency

Input indicatorsLocal authorities

Working w. tr.Families

ISO 639Oasis

AspirePortsmouth

ZaragozaDatos

AbiertosOpendataScotland

SimdCrime Rank

Berlios

StatusNetpiana

GovUKNet Add.Dwellings

Bootsnall

StatusNetchromic

Geospecies

linkedct

Wordnet(W3C)

StatusNetthornton2

StatusNetmkuttner

StatusNetlinuxwrangling

EurostatLinkedData

GovUKsocietal

wellbeingdeprv. imd

rank '07

GovUKsocietal

wellbeingdeprv. imdrank la '10

LinkedOpen Data

ofEcology

StatusNetchickenkiller

StatusNetgegeweb

DeustoTech

StatusNetschiessle

GovUKtransparency

impactindicatorstr. families

Taxonconcept

GovUKservice

expenditure

GovUKsocietal

wellbeingdeprivation imd

employmentscore 2010

Motivation

2

• Reasoning is one key feature when using ontologies • Reasoning means to create new knowledge by inferring facts that are implicitly

given by the existing data !

• But: reasoning can still be a very time consuming task, depending on ‣ the dataset (size, complexity) ‣ the used ontology language (complexity) !

With respect to the growing amount of semantic data, reasoning needs to scale!

Linkin

g O

pen

Data

clo

ud d

iagra

m 2

014,

by

Max

Sch

mac

hten

berg

, Chr

istian

Bize

r, An

ja Je

ntzs

ch a

nd R

ichar

d Cy

gania

k.

http

://lo

d-clo

ud.n

et/

Page 3: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

How can the reasoning process be scaled?

1. Optimizing reasoning algorithms (each for a specific ontology language) 2. Scaling the hardware, e.g. in terms of a higher clock frequency 3. Scaling by parallelizing the reasoning process

3

6.3 ausführungsmodell 39

Compute Unit

PE PE PE PE...Compute Unit

PE PE PE PE...Compute Unit

PE PE PE PE...

Device

Compute Unit

PE PE PE PE...Compute Unit

PE PE PE PE...Compute Unit

PE PE PE PE...

Device

Compute Unit

PE PE PE PE...Compute Unit

PE PE PE PE...Compute Unit

PE PE PE PE...

DeviceHost

Abbildung 5: Abstrakte OpenCL Device-Architektur, nach [GHK+12]

Kernel-Code und führend somit die eigentlichen Berechnungen als Single Instruc-tion, Multiple Data (SIMD) aus. Das heißt, dass alle Prozessoren die gleiche Opera-tion auf unterschiedlichen Daten zur selben Zeit ausführen und so eine Paralleli-sierung stattfindet.

Das vorgestellte Plattformmodell entspricht dem tatsächlichen Hardware-Modellvieler Grafikkarten. Beispielsweise besteht die AMD Readon 7970 Grafikkarte aus32 Recheneinheiten die jeweils mit insgesamt 4 16-fachen Parallelprozessoren (ins-gesamt 64 PEs) bestückt sind [GHK+

12]. Entsprechend kann eine Anweisung aufdem Device auf insgesamt bis zu 2048 PEs gleichzeitig ausgeführt werden (2048

Threads), wobei jede Ausführung auf unterschiedlichen Daten erfolgen kann.

6.3 ausführungsmodell

Das Ausführungsmodell (Execution Model) teilt sich in zwei Bereiche auf, die be-reits in der Einführung in OpenCL erwähnt wurden: Kernel, die auf OpenCL Devi-ces ausgeführt werden und das Host-Programm, dass die Ausführungsumgebungkonfiguriert und bereitstellt. Das Host-Programm kann über API-Aufrufe einenKontext initiieren, der als abstrakter Container die Interaktion zwischen Host undDevice koordiniert und entsprechend der OpenCL Spezifikation [GM14] die fol-genden vier Ressourcen verwaltet:

• Devices: Ein oder mehrere Devices die über die Plattform zur Verfügungstehen

• Kernel: Die OpenCL Methoden samt assoziierten Parametern, die auf einemDevice ausgeführt werden

[ 6. Juni 2014 at 11:29 – classicthesis version 0.0.1 ]

Multicore CPU/GPUCluster / MapReduce

map

reduce

map

map

map

map

reduce output

output

input

Page 4: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Related Work

Large scale parallel reasoning• Cluster-based approaches ‣ Oren et al. (2009): divide-conquer-swap strategy ‣ Maier et al. (2010): MapReduce for EL++ ‣ Liu et al. (2012): MapReduce for Fuzzy pD* ‣ WebPie (Urbani et al. 2009/2010/2012): MapReduce for RDFS and pD*

!• Approaches using a single machine ‣ Kazakov et al. (2011): Classification of EL ontologies ‣ Ren et al. (2011): ABox reasoning of EL ontologies ‣ Urbani et al: (2013): DynamiTE: Parallel Materialization of Dynamic RDF Data ‣ Heino et al. (2012): RDFS reasoning on massively parallel hardware

4

Page 5: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Large scale parallel reasoning: summary

• Current large scale reasoner: ‣ usually rely on a specific ontology language and area of application ‣ rarely make use of the highly parallel (and thus powerful) architecture of

GPUs ‣ provide a weak support for reasoning on single machines !

• How to create a rule-based reasoner that makes use of single computing node and is able to perform large scale reasoning?

5

Rules

RDF DataRule-Engine using GPU(s)

Enriched Data

Page 6: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

RETE algorithm

Implementing a rule-engineWhat is the RETE algorithm? • pattern-matching algorithm • introduced by Charles Forgy in 1982 • widely used in many rule-engines as well as for semantic reasoner !

• Basic steps:

6

1. create the RETE network 2. repeat until no new triples are derived

• perform the alpha-matching • perform the beta-matching • fire rules

Page 7: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

RETE algorithm

The RETE network

7

R1: (?x ?p ?y) → (?p rdf:type rdf:Property)R2: (?x ?p ?y) (?p rdfs:domain ?c) → (?x rdf:type ?c)

α1 α2

β1

α2(?p rdfs:domain ?c)

α1(?x ?p ?y)

β1?p = ?p

Page 8: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

RETE algorithm

alpha- and beta matching

8

T1: [Bob uni:publishes Paper1]T2: [Alice uni:publishes Paper2] T3: [uni:publishes rdfs:domain Researcher]

R1: (?x ?p ?y) → (?p rdf:type rdf:Property)

R2: (?x ?p ?y) (?p rdfs:domain ?c) → (?x rdf:type ?c)

α1 α2

β1

T1T2

T3T3

T3T1T2T3

T4: [uni:publishes rdf:type rdf:Property] [uni:publishes rdf:type rdf:Property]

T5: [rdfs:domain rdf:type rdf:Property]T6: [Bob rdf:type Researcher] T7: [Alice rdf:type Researcher]

α2(?p rdfs:domain ?c)

α1(?x ?p ?y)

β1?p = ?p

Page 9: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

• Basically two approaches, to parallelize the RETE algorithm ‣ data partitioning → huge amount of synchronization necessary ‣ rule partitioning → parallelization depends on the number of rules !

• targeting modern GPUs as parallel hardware, both approaches don‘t work out ‣ global synchronization of data can be very expensive ‣ a problem needs to be break down into a high amount (e.g. millions) of small

problems that can be computed independently, thus, a high amount of parallel threads should be executed

RETE algorithm

Parallelization

9

Page 10: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

• alpha-matching ‣ for each input triple one thread is created that checks, if that triple matches

to one or more alpha-nodes (n triples → n threads)

• beta-matching ‣ one thread for each match of one of the parent-nodes, that iterates through

all matches of the second parent-node and checks for a match

RETE algorithm

Parallelization: targeting massively parallel Hardware

10

α1 α2

β1

T1...

T2000

T2001...

T2700

T1T2...

T1999T2000

T200

1T2

002... T2

699T2

700

work-load

wor

k-ite

ms

Page 11: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Workload partitioning

How to handle large datasets?alpha-matching: !• the workload can easily be partitioned into smaller chunks that can be processed

independently • the chunk size can be chosen with respect to the target device

11

Page 12: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Workload partitioning

beta-matching• for beta-matching the workload cannot simply be divided

‣ the triple-references in the working-memories need to be resolved

‣ thus, all triples need to be available during that step

‣ this would limit the size of processabledata to the amount of triples, thatfit into the memory of the GPU !

• to overcome this issue, we use triple-matches: A triple-match m = (s,p,o,r) is a quadruple with s=subject, p=predicate, o=object of a triple and r=triple reference (unique number, that is used for identification in the internal triple store).

12

α1 α2

β1

T1...

T2000

T2001...

T2700

Page 13: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

• working-memories need to be transformed to triple-matches which then are transferred to the GPU for beta-matching ‣ the working-memories can be divided to smaller chunks ‣ the transformation of the chunks can be done in parallel, too (using

multithreading)

Workload partitioning

beta-matching II

13

Page 14: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Evaluation

Test environment: architecture

14

chunks are prepared and submitted to the queue

using java multithreading

one thread for each GPU (each thread has exclusive

rights to a GPU)

GPU 1

GPU n

...

Thread GPU 1

Thread GPU n

...queue

takes a task

submit

read backresults

submit

read backresultshost devices

takes a task

Page 15: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Evaluation

Test environment: setup• Datasets:

‣ Lehigh University Benchmark (LUBM): LUBM125 to LUBM8000 ‣ DBpedia scaled to full, 1/2nd, 1/4th, 1/8th, 1/16th, and 1/32nd !

• Workstation with Ubuntu 12.04: ‣ 2.0 GHz Intel Xeon processor with 6 cores ‣ 64 GB memory ‣ two AMD 7970 gaming graphic cards

with 3GB of memory each

15

Page 16: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Evaluation

Parallelization: using chunks and multiple GPUs• evaluation of the impact of:

‣ using multithreading to prepare workload-chunks ‣ use of a second GPU

!!!!!!!!

• RDFS reasoning benefits primarily from the thread-level parallelization • pD* reasoning benefits significantly from the second GPU

16

Page 17: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

• used Hardware: cloud-server with two Tesla M2090 GPUs and 192GB memory • applying ρdf and RDFS to LUMB datasets from 17.6M to more than 1.1B triples !!!!!!!!

• max throughput: ‣ ~ 2.7M triples/sec. for ρdf (WebPIE reported 2.1M triples/sec on 64 computing nodes) ‣ ~ 1.4M triples/sec. for RDFS

Evaluation

Scaleability

17

430 s

1200 s

Page 18: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters

Conclusion and future work

• we parallelized the RETE-algorithm for semantic reasoning in a way that ‣ the preparation of the workload can be performed in parallel using

multithreading ‣ the matching process can be performed on the GPU ‣ the workload can be distributed to multiple GPUs

• we showed that large scale and rule-based reasoning (to a limited size) is possible on a single computing node

• the new limitation we reached is the main-memory of the computing node itself !

• future work will include: ‣ investigation of concepts to reduce the memory usage ‣ distributing the workload not only to multiple GPUs, but also to multiple hosts

equipped with GPUs

18

Page 19: Rule-based reasoning using GPUs University of Applied Sciences and Arts Dortmund Rule-based reasoning using GPUs Martin Peters! University of Applied Sciences and Arts Dortmund, GermanyCrEDIBLE

CrEDIBLE 2014 - Martin Peters 19

Thank you for your attention!

contact: !Martin Peters [email protected]