32
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Autonomic Benchmarking Szombath István Autonóm és hibatűrő informatikai rendszerek

Autonomic Benchmarking

  • Upload
    talisa

  • View
    69

  • Download
    0

Embed Size (px)

DESCRIPTION

Autonóm és hibatűrő informatikai rendszerek. Autonomic Benchmarking. Szombath István . Benchmarking. Célok: szoftver/hardver eszközök teljesítményének összehasonlítása Döntéstámogatás melyiket előnyösebb megvenni/telepíteni mekkora terhelésre elég a meglévő rendszer - PowerPoint PPT Presentation

Citation preview

Page 1: Autonomic  Benchmarking

1Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék

Autonomic Benchmarking

Szombath István

Autonóm és hibatűrő informatikai rendszerek

Page 2: Autonomic  Benchmarking

2

Benchmarking Célok: szoftver/hardver eszközök teljesítményének

összehasonlításao Döntéstámogatás

• melyiket előnyösebb megvenni/telepíteni• mekkora terhelésre elég a meglévő rendszer

o Teljesítménytesztelés • kell-e még teljesítményen javítani és hol (fejlesztésnél)• optimális-e egy konkrét beállítás• van-e egy beállításnak teljesítményre gyakorolt hatása

Page 3: Autonomic  Benchmarking

3

Specifikációo hardvero szoftvero üzemviszonyoko ütemezéso dokumentáció

Alapelveko kölcsönös zavarás minimalizálása (üzem közben)o Pareto elv (80/20) kihasználásao prekoncepció (mit mérünk)o terhelés közelítse a valós mintát (profilok)

Bechmark környezet

Page 4: Autonomic  Benchmarking

4

Tudományos/műszaki rendszereko nagy mennyiségű adat feldolgozása (number crunching)o párhuzamos módszerek

Tranzakciókezelés (OLTP)o kliens-szerver környezeto sok gyors, párhuzamos tranzakció

Batch jellegű adatfeldolgozáso riport készítés nagy mennyiségű adatból

Döntéstámogatáso kevés, bonyolult lekérdezéso ad hoc műveleteko sok adat (pl. OLAP )

Virtualizáció

Benchmark terhelési modellek

Page 5: Autonomic  Benchmarking

5

OLTP architektúra példa (táblánál)

Benchmark terhelési modellek példa

Page 6: Autonomic  Benchmarking

6

Mérendő paraméterek (Metrikák) Futási idő

o kezdet, vég?o eloszláso CPU, I/O, hálózat,…

Tranzakiósebességo rendszer reakcióidejeo akár egymásba ágyazott tranzakciók

Áteresztőképességo feldolgozott adatmennyiség / futási időo terhelés függvényében

Page 7: Autonomic  Benchmarking

7

Mérendő paraméterek (2) Válaszidő

o terhelés függvényében• felhasználók• tranzakciók száma, stb.

X-Percentilo Egy adott halmaz X százaléka ez alatt az érték alatt van

Page 8: Autonomic  Benchmarking

8

Eredmények összehasonlítása Pl. referenciarendszer alapján Több paraméter alapján ellentmondást kaphatunk Absztrakt referencia („standard benchmark”) Adatbányászati módszerek

Nincs egy univerzális teljesítménymérő metrika még egy-egy szűkebb területen belül sem!

Page 9: Autonomic  Benchmarking

9

Tipikus problémák Túl kicsi problémaméret A felhasználási terület számára releváns

eredmény? Elavult referenciák „Rejtett” paraméterek

o konfigurációs beállításoko adott környezet specifikus tulajdonságai

Elfogultság Hiányos specifikáció

Page 10: Autonomic  Benchmarking

10

Benchmark típusok Tudományos terminológia

oMacrobenchmark – nagy összetett alkalmazás mérése• relevancia biztosításával közvetlenül használható

eredményeket adoMicrobenchmark – alkalmazás kis részének kiemelt,

analitikus mérése• analitikus felhasználás, profiling, teljesítmény előrejelzés

o Nanobenchmark – egy-egy atomi művelet teljesítményének elkülönített mérése

• főleg hibakeresés, profiling célra hasznos

Page 11: Autonomic  Benchmarking

11

Benchmark elvégzése Relevancia biztosítása

o Tényleg azt az alkalmazást mérjük, amit kell• Különböző macrobenchmarkok eredményei többnyire nem

vihetőek át egymás között.o Terhelésgenerálás jellege közelítse a valódi terhelést

• Főleg macrobenchmarkoknál fontos, időben szétosztott valódi terhelést félrevezető lehet egy összefüggő batch terheléssel helyettesíteni.

• Ügyeljünk a terhelésgenerátorra ható visszacsatolásokrao Minimalizáljuk a zavaró tényezőket

• Főleg microbenchmarknál fontos, Pl.: ne mérjünk bele véletlenül diszk I/O-t a memória áteresztőképességébe, ne fusson más alkalmazás közben

• Futási eredmények szórását kezelni kell

Page 12: Autonomic  Benchmarking

12

Eredmény analitikus felhasználása Cél: következtetünk jövőbeli (tehát nem mérhető)

terhelésnél kapott eredményre

A

B

CD

Összetett alkalmazás

Egyes részfeladatok aránya ismert (vagy legalább jól becsülhető) a terhelés során

Eredmények részfeladatonkénti microbenchmarkra:

ABCD

Becsült teljesítmény

Page 13: Autonomic  Benchmarking

13

SPEC benchmarkok http://www.spec.org/benchmarks.html Standard Performance Evaluation Corp. Erőforrás és alkalmazás szintű benchmarkok

o CPUo Alkalmazásoko Levelező szervereko Web szervereko Network File System, stb.

Benchmark: megrendelhető szolgáltatáso Forráskódot adnak, nekünk kell fordítanio Licensz díjas!

Page 14: Autonomic  Benchmarking

14

SPEC CPU2006 CPU intenzív CINT2006

o Számításigényes egész számos CFP2006

o Lebegőpontos

Példa:cpu2006.html

Page 15: Autonomic  Benchmarking

15

CINT2006 és CFP2006 terhelésgenerátorok

400.perlbench C Programming Language

401.bzip2 C Compression403.gcc C C Compiler

429.mcf C Combinatorial Optimization

445.gobmk C Artificial Intelligence

456.hmmer C Search Gene Sequence

458.sjeng C Artificial Intelligence

462.libquantum C Physics / Quantum Computing

464.h264ref C Video Compression

471.omnetpp C++ Discrete Event Simulation

473.astar C++ Path-finding Algorithms

483.xalancbmk C++ XML ProcessingSPEC CFP2006 Benchmark Descriptions.htm

CFP2006:

CINT2006 :

Page 16: Autonomic  Benchmarking

16

SPECweb2009 Terhelés:

o Biztonságos bankolás (SSL)o E-kereskedelem (SSL+ http letöltés pl)o Áteresztőképességo Teljesítmény / energia metrikák

Architektúra (ábra) Terhelésgenerálás (ábra) Példa:

web2009.html

Page 17: Autonomic  Benchmarking

17

SPECweb2009

Page 18: Autonomic  Benchmarking

18

SPECjAppServer2004 Html oldal elemzése előadáson J2EE Benchmark

o Alkalmazásszerver skálázhatósága és teljesítménye Architektúra (több szerveres, kliens - szerver arch.) Metrika:

o Áteresztő-képesség

Terhelés:o Autógyártáso Gyár –

megrendelőko Autókatalógus

Page 19: Autonomic  Benchmarking

19

SPECjvm2008 Ingyenes! JRE teljesytémény

o CPU / memóriao Kevés fájl I/O, nincs hálózati I/O

Alkalmazásoko Javaco LZWo Startupo MPEGaudioo Xml (transzformáció és validáció)o Crypto

• Aes, rsa, signverify

Page 20: Autonomic  Benchmarking

20

SPECvirt_sc2010 Szerverek 18%-a volt virtualizált 2009q4-ben

Cél: skálázhatóság / energiahatékonyságo Hány VM konszolidálható egy HW-re

Architektúra (ld. ábra)o 1 „tile” 6 VMo Függőségek!

Terheléso Tile-ok számát növelio Amíg QoS megvan, vagy amíg a metrikák már nem nőnek

Metrikao Szubkomponensek normalizált metrikáio Pl kérés/s a webszerveren, alkalmazásszerver burstössége

Page 21: Autonomic  Benchmarking

21

SPECvirt_sc2010

Page 22: Autonomic  Benchmarking

22

SPECvirt_sc2010

Page 23: Autonomic  Benchmarking

23

TPC benchmarkok http://www.tpc.org/information/benchmarks.asp Transaction Processing Council

TPC-C (elektronikus kereskedelem, banki rendszer):o felhasználók tranzakciókat hajtanak végreo rendelés/lemondás, lekérdezés, stb.o szervereket hasonlít össze

• HW• OS• DBMS• egyéb paraméterek:

– tervezett rendelkezésre állás, elérhetőség (pl. 24/7 vs. 8/5)

o OLTP rendszerek mérőszámai:• tranzakciós ráta (tpmC): 5 különböző fajta tranzakció alapján• ár / tranzakció ($/tpmC): fenntartási költségek / tranzakciók

o Bővebben: info itt, pdf itt.

Page 24: Autonomic  Benchmarking

36

The Autonomic Computing Benchmark Nagyvállalati környezet „rugalmasságának”

vizsgálata (resilience)o Self * mérése (önmenedzselés)o Hibainjektálássalo A rendszer robosztusságát és automatizáltságát

vizsgálja

Cél: kevés metrikao Rendszer evolúciójának vizsgálatao Különböző rsz-ek összehasonlítása

Page 25: Autonomic  Benchmarking

37

Architektúra Elvben bármi lehet Példa: SPECjAppServer2004 architektúra /

benchmarkoWebszervero Alkalmazásszervero Adatbáziso Üzenetküldő szerver

Page 26: Autonomic  Benchmarking

38

Metrikák Áteresztőképesség index

o Zavar hatása az áteresztőképességre Fejlettség index (ld. később)

o Emberi interakciók mennyiség• hibadetektálás,• hibaanalízis,• helyreállás során

Page 27: Autonomic  Benchmarking

39

Mechanizmus 3 fázis:

o Alap fáziso Tesztfáziso Ellenőrzés

• Konzisztencia ellenőrzése Tesztfázist slotokra osztják

o Egymás utáni slotokban hibákat injektálunk és azok hatását vizsgáljuk

Page 28: Autonomic  Benchmarking

40

Mechanizmus – 1 slot Állandósult állapotba kerül a rendszer Hibainjektálás Hibadetektálás

o Automatikuso Bizonyos idő elteltével (emberi interakció szimulálása)

Helyreállítás Újraindítás Rendszer futtatása

o Degradálódott-e a szolgáltatás?

Page 29: Autonomic  Benchmarking

41

Hibafajták Hibák (példa):

o Váratlan leállás (hw, os, sw)o Erőforrás versenyhelyzet (CPU, mem)o Adatvesztés (file, DBMS)o Terhelésváltozás („karácsonyi roham”)o Sikertelen újraindítás detektálása

Page 30: Autonomic  Benchmarking

42

Metrikák (folyt) Áteresztőképesség index: P_i / P_base

o Figyelem! Nem rendelkezésre állás. Fejlettség index

o Kifejezi mennyire automatizált a rendszeroMennyi emberi beavatkozás kello A SUT egy lista alapján pontokat kapo Nemlineáris skálao Átlagolunk, normalizáljuko Index 0—1 között

• 0 nincs automatizmus• 1 nem kell emberi közbeavatkozás

Page 31: Autonomic  Benchmarking

43

Példa Esettanulmány az órán Ábrák elemzése a cikkből

Page 32: Autonomic  Benchmarking

44

Nehézségek Zavar megtervezése

o Zavarok katalógusának összegyűjtéseo Szimuláció?

Eredmények összehasonlításao Terheléso Skálázódás

• a metrika nem skálázódik feltétlenül együtt a rendszermérettel

o Ár• Robosztus és automatizált rendszer nagyon költséges

Benchmark során: hum. interakció becslés!