rule-based reasoning using gpus university of applied sciences and arts dortmund rule-based...
TRANSCRIPT
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
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/
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
CrEDIBLE 2014 - Martin Peters 19
Thank you for your attention!
contact: !Martin Peters [email protected]