37
MTA SZTAKI Department of Distributed Systems A KOPI Plágiumkeresı dinamikus skálázási kísérletei Micsik András

A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

Embed Size (px)

Citation preview

Page 1: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

MTA SZTAKI

Department of Distributed

Systems

A KOPI Plágiumkeresı dinamikus skálázási kísérletei

Micsik András

Page 2: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

2

Bevezetés

� DSD = Department of Distributed Systems

vagyis: Elosztott Rendszerek Osztály� szotar.sztaki.hu

� kopi.sztaki.hu� lod.sztaki.hu

� radio.sztaki.hu

� szavazas.sztaki.hukopi.sztaki.hu

Page 3: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

3

Terjedıben a plagizálás

Page 4: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

4

A KOPI Plágiumkeresı

� A kopi.sztaki.hu portál 2004-ben indult egynyelvőplágium keresési szolgáltatással (magyar és angol nyelveken)

� 2009: 10.000 regisztrált felhasználó� 2011-ben a világon elsıként bemutattuk a fordítási

plágiumkeresıt� Ez képes detektálni, ha valaki például az angol Wikipedia-ból

lefordított bekezdéseket használ fel� Az új algoritmus számítási igénye nagyságrendekkel nagyobb,

mint az egynyelvő plágiumkeresésé

� 2013: 25.000 regisztrált felhasználó

Page 5: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

5

A KOPI Portál

Page 6: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

6

Használat

1.

2.

3.

Page 7: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

7

Eredmények

Page 8: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

8

A plágiumkeresés folyamata

� A plágiumkeresés folyamata� A felhasználó feltölti a

dokumentumot� A KOPI Motor új feladatot kér a

Portáltól� A KOPI Motor feldolgozza a

dokumentumot� Eközben teljes szöveges

kéréseket ad ki a Keresımotornak

� A KOPI Motor összeállítja az eredményt és visszaküldi a Portálnak

� A felhasználó értesítést kap, hogy az eredmény elkészült.

� Az eredmény egy listát tartalmaz az esetlegesen másolt részekrıl és a plágium valószínőségérıl

KOPI Portál

KOPI Motor

Keresőőőőmotor

1. A felhasználó feltölti a dokumentumot

2. Új dokumentum kérése

3. Teljes szöveges keresések

Feldolg. sor

4. Eredménykészítés

Dokumentum index

Page 9: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

9

A kísérletrıl

� A cél: stabil szolgáltatásminıség fenntartása� Egy dokumentum ellenırzése igen változó,

nagyban függ a mérettıl, tipikusan 10-50 perc

� Amikor túl sok dokumentum érkezik be, ez akár több napra is nıhet

� A kísérlet során� Modellezzük a tipikus felhasználói tevékenységet

� Különféle skálázási módszereket mérünk heterogén felhı-szövetségekben

Page 10: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

10

Skálázás

Page 11: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

11

A skálázás módjai

Vertical scaling„Scaling up”

Horizontal scaling„Scaling out”

Page 12: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

12

Skálázási lehetıségeink

KOPI motor

MySQL

NLP Eszközök

KOPI Portál

Feldolg. sor

1-75

KOPI motor

MySQL

NLP Eszközök

Keresımotor

Dokumentum

index partíció

Keresımotor

Dokumentum

index partíció

Aggregátor

Keresımotor

Dokumentum

index partíció

Keresımotor

Dokumentum

index partíció

Aggregátor

1-7

Page 13: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

13

Kísérleti architektúra

Page 14: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

14

BonFIRE: elosztott felhıtesztkörnyezet

Page 15: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

15

A KOPFire kísérlet

Skálázóalgoritmus

Mérések

BonFIRE API parancsok

Skálázásimőveletek

Page 16: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

16

BonFIRE lehetıségek

� VM típusok (lite, small, large, stb. + egyedi)� Adatblokkok

� OS vagy DATA, perzisztens, shared, stb.� Több blokk is kapcsolható egy VM-hez

� Hálózat� VM-ek elérhetık: SSH gateway, VPN� Speciális lehetıségek: AutoBahn, Virtual Wall,

háttérforgalom generálás, stb.� Monitorozás� Elasticity as a Service� Értesítések (RabbitMQ)

Page 17: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

17

A BonFIRE felhasználói portál

Page 18: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

18

Monitorozás

� Egységes monitorozási lehetıség Zabbix-szal� Fizikai gépek� Virtuális gépek� ECO metrics� Saját mérések

Page 19: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

19

BonFIRE API

� REST API� Experiment descriptor: JSON vagy OCCI<compute xmlns="http://api.bonfire-

project.eu/doc/schemas/occi"><name>my-vm</name><instance_type>lite</instance_type><disk> <storage href="/locations/fr-inria/storages/165" /></disk> <nic> <network href="/locations/fr-inria/networks/47" /> </nic><location href="/locations/fr-inria" />

</compute>

� Restfully (Ruby)experiment.computes.submit(

:name => "VM#{experiment['id']}",

:instancetype => "small",

:disk => [{

:storage => inria.storages.find{|s| s['name'] == SERVER_IMAGE_NAME},

:type => "OS" }],

:location => inria )

� CLI (parancssor)� bfcompute create ‘vm0' '/locations/de-hlrs/storages/2088' 23617

Page 20: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

20

Yours Restfully...

� VM létrehozásvm = experiment.computes.submit(...)

� Szoftver futtatásvm.waitForState(‘RUNNING’)vm.ssh do ….

� Megfigyelésvalues =

experiment.zabbix.metric('system.cpu.util[,system,avg1]', :type => :numeric, :hosts => vm).values

� Leállításvm.update(:status => ‘STOPPED’)vm.delete

Page 21: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

21

KOPFire rendszerelemek

� VM típusok (3 felhıben):� (Experiment controller)

� KOPI Frontend

� KOPI Engine

� Fulltext Aggregator

� Fulltext Engine

� Adatpartíciók:� Kis index: 5 x 2.5 GB blocks

� Nagy index: 11 x 7.2 GB blocks� 3 felhıben közvetlenül

� 4. felhıbıl NFS-en keresztül

Page 22: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

22

Mit mérjünk?

� Kell egy metrika a feldolgozási sebesség mérésére:� cps (characters per second)

� Fontos még:� Sorban várakozó fájlok és karakterek száma� Feldolgozó egységek száma� …

0 200 400 600 800

0.0

00

.01

0.0

20

.03

0.0

40

.05

0.0

6

cps

De

nsi

ty

Page 23: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

23

Sokféle cps metrika

� cps� feldolgozott karakterek / utolsó n perc� = pillanatnyi feldolgozási sebesség

� pcps (processing cps)� dokumentum mérete / (t3 – t2)

� qcps (queue cps)� dokumentum mérete / (t4 – t1)� = a felhasználó által érzékelt sebesség

A dokumentum a sorbanA dokumentum feldolgozása

t1t2 t3

t4

Page 24: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

24

Méretezés

� Mi a rendszerkomponensek optimális aránya?� KOPI Engine VM – process-ek – Fulltext Cluster – thread-ek

Page 25: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

25

Teljesítménynövekedés

Page 26: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

26

NFS a felhık között?

Page 27: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

27

Skálázási lehetıségek

� Különbözı skálázási algoritmusokat próbáltunk ki� A sorban várakozó dokumentumok száma

alapján� Kapzsi

� Takarékos

� Óvatos

� Feldolgozási sebesség alapján� Tempomat: Adott sebességet közelítı

� Stb.

Page 28: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

28

Skálázási módszerek

0 5 10 15 20 25

01

23

45

6

greedy

time

nu

mb

er

queue sizekopi engines

0 5 10 15 20 25 30

01

23

45

6

step

time

num

ber

queue sizekopi engines

0 5 10 15 20 25

01

23

45

6

speed

time

nu

mb

er

queue sizekopi engines

0 10 20 30 40 50 60 70

01

23

45

6

thrifty

time

num

ber

queue sizekopi engines

Page 29: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

29

Hibatőrés

� A skálázás során idınként amúgy is rákell nézni az infrastruktúrára...

� ...ilyenkor szoftver és hardver hibákat is ki lehet küszöbölni...

� ...mivel a komponensek már virtuálisgépekben futnak

Page 30: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

30

Szimuláció

� Pár órás tesztek nem elegendıek� Hogyan lehetne több havi futáson vizsgálni a

skálázódást? -> Szimuláció!� Az alapadatok ismertek, pl.

� VM-ek indításához, leállításához szükséges idı� Adott VM válaszidejének átlaga, eloszlása

Page 31: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

31

Szimulációk értékelése

� Mit kell nézni egy hónapos futás esetén?� Legrosszabb feldolgozási esetek

� Átlagos feldolgozási idı

� A feldolgozási idı szórása

� A becsült költségek

Page 32: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

32

2012 januári forgalom szimulációja

0

20

40

60

80

100

120

140

160

180

speed100

speed130

speed80

fix 1 fix 2 greedy thrifty stepper

worst speed

avg speed

speed sd

cost (hours)

Költségszámítás megkezdett órák alapján

Page 33: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

33

2012 júniusi forgalom szimulációja

0

50

100

150

200

250

speed100

speed130

speed80

fix 1 fix 2 greedy thrifty stepper

worst speed

avg speed

speed sd

cost

Költségszámítás megkezdett órák alapján

Page 34: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

34

Két módszer összehasonlítása

greedy

0

20

40

60

80

100

120

140

160

180

1 2 3 4 5 6 7 8

month

worst speed

avg speed

cost

stepper

020406080

100120140160180200

1 2 3 4 5 6 7 8

month

worst speed

avg speed

cost

Page 35: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

35

Végsı összehasonlítás

0

20

40

60

80

100

120

140

160

180

200

fix 1

fix 2

spee

d 80

spee

d 10

0sp

eed

130

stepp

ergr

eedy

thrif

tyworst speed

avg speed

cost

A megjelenített értékek 8 hónap átlagai

Page 36: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

36

Összefoglalás

� Terhelési problémák tesztelésére jó lehetıség egy cloud testbed

� A skálázás nem csak gyorsít, de más elınyökkel is jár, pl. hibatőrés

� A BonFIRE testbed� Elérhetı lesz legalább 2014

ıszéig� Nyílt hozzáférés 1 napon belül

Page 37: A KOPI Plágiumkeresıdinamikus MTA SZTAKI skálázási kísérleteieprints.sztaki.hu/7272/1/micsik-webkonf13.pdfdsd.sz taki.hu MTASZTAKI Department of Distributed Systems 4 A KOPI

dsd.sztaki.huMTA SZTAKIDepartment of Distributed Systems

37

Köszönöm a figyelmet!kopi.sztaki.hu

www.bonfire-project.eu

[email protected]