Technika a szűk keresztmetszetek megtalálására a termelésben. A szűk keresztmetszetek azonosítása. Optimális gyártási vagy választékprogram tervezése. A szűk keresztmetszet kiterjesztése mérhető teljesítmény- és hatékonyságnövekedést eredményez

háttér
2010 októberében a hatékonyságot javító projektek szervezése keretében
repülőgépgyár 2011-re, a "Rightstep" cég végezte a fő diagnosztikát
gyári termelés. A felmérés fő célja a szűk keresztmetszetek azonosítása volt, pl. azokat a létesítményeket, irányítási eljárásokat és részlegeket, amelyek korlátozták az üzem teljes teljesítményét.
Az elemzés eredményei alapján azonosították az üzem fő "szűk keresztmetszeteit" (potenciális "szűk keresztmetszetek" voltak a termék elektronikus összetételének fenntartására szolgáló eljárások (vagy inkább ezek hiánya) is:
1) ASC1 összeszerelő műhely;
2) tervezési és termelésirányítási módszerek;
3) shop ShTs (bélyegzés), shop MC (mechanikus)
Ez a cikk a "szűk keresztmetszet" "csatlakozását" írja le az ASC1 boltban.

Az ASC1 műhely az első a gépi összeszerelés szekvenciális láncában (a termék elkezdődik az egységekből összeszerelés, majd átkerül a többi összeszerelő műhelybe, az ASC2-be és a DSP-be), amely a gép „háromszögének teteje” üzemen belüli ellátási lánc, és a többi „részletkészítő” üzlet (DDC) fogyasztója. Vagy - a "csővezeték" kezdete a termék mozgatása az összeszerelési lánc mentén.

Következésképpen minden olyan probléma, amely az ASC1 műhelyben felmerül, és korlátozza a termékek összeszerelésének megkezdését, automatikusan a teljes üzem gépgyártásának korlátozásához vezet.
2010 őszén pedig az ASC1 bolt volt ilyen szűk keresztmetszet, átlagosan havi 6 darabos kibocsátással, 7-8 gyári tervvel. Az ASC1 fő problémái a következők voltak:
1) az alkatrészek és összeszerelési egységek más műhelyekből az ACS műhelybe történő szállításának nem szinkronizálása (olvassa el - állandó "váratlan" hiányosságok az összeszerelésben)
számított rendelésenkénti (gépenkénti) ellátási terv tényleges hiánya miatt;
2) rendkívül nem hatékony belső munkaszervezés a műhelyben, a fő tünetekkel (nem okokkal!): „nincs ember”, „hibás alkatrészek”, „nincs hely, nincs hova tenni a termékeket”.

Valójában az ASC1 problémái a teljes üzem irányítási és termelésszervezési problémáit tükrözték. És mindezek felett:
1) a „részletkészítő” és az „összeszerelő-összeszerelő” (DDC és ASC) műhelyek között szinkronizált gépenkénti nómenklatúra-terv tényleges hiánya, ami ahhoz vezetett, hogy nem a szükséges mennyiséget és nem megfelelő mennyiségben bocsátották ki. ennek eredményeként - „hiányos” munkavégzés, és végső soron a szerelési ütemterv megzavarása;
2) darabbérek, amelyek lehetővé teszik és kényszerítik a műhelyeket arra, hogy a „szűk keresztmetszetű” műhelyekben is elsősorban a „gurulást” folytassák, a hiányt nem mindig számolva.

A koncepció megválasztása

Az adatelemzés eredményei és a szűk keresztmetszet „tisztításának” lehetséges módjainak megvitatása alapján az alábbi átalakítási területek kerültek azonosításra.

Első: a termelésirányítási rendszer megváltoztatása úgy, hogy csak a szükséges mennyiséget kényszerítse viszonylag alacsony költséggel. Ehhez kellett:
1) meg kell szervezni a rendelésenkénti nómenklatúra bolttervezési rendszerét, a kiszállítások és a gépek „bezárásának” ellenőrzésére szolgáló rendszert;
2) a motivációs rendszer megváltoztatásával (az „üzletmódosítás”) az üzletek ösztönzése elsősorban a meghatározott terv teljesítésére;
3) lehetővé kell tenni a termelési és szállítási folyamat irányítását a történések vizualizálásával és nyomon követésével.

Második: a műhely termelésszervezési rendszerének megváltoztatása az alábbiak révén:
1) az alkatrészek és szerelvények bolton belüli mozgásának optimalizálása,
2) minden szükségtelen termelési és nem gyártási művelet megszüntetése a gép létrehozása felé vezető úton,
3) vizualizáció biztosítása a történésekről, a jelenlegi helyzet állapotáról, a jövőbeli és jelenlegi problémákról,
4) az indítási tételek és mozgások csökkentése a teljes gyártási láncban.

Ezen átalakítások megvalósításához az SCM ("gyártási lánc menedzsment"), a Lean ("lean gyártás") és a TOC ("Korlátozások elmélete") termelésirányítási módszerek eszközeit választották.

Az első irányú munkák, az „Üzemtervezési és Felügyeleti Rendszer” beállítás, a teljes üzemben új folyamatok (eljárások) bevezetésével kezdték meg a szinkronizált (a gépek összeszerelési és szállítási ütemtervének megfelelő) tervezést és termelésirányítást. , valamint az ezeket támogató Lean IT Tervezési és Monitoring Rendszer bevezetése az SCM által.

A második irányú munkákat hagyományosabb, de az üzemi használatra „illesztett” Lean és TOC eszközökkel elfogadták.

Átváltozások. Új szervezet az ASC1 üzleten belül

Az átalakítások projektje az ASC1-ben 2011 januárjában indult, de aztán a műhelyben bekövetkezett változások miatt leállt.

Az alábbiakban bemutatott projekt eredményeit mindössze néhány hónap alatt érték el, beleértve a az üzletvezetés határozott és elvi álláspontjának köszönhetően. És előretekintve megjegyezzük, hogy a projekt fő célja a növekedés áteresztőképesség műhelyek havi 6-8 géppel, a következőkkel:
a működési költségek (bérszámfejtés, dolgozók száma stb.) és az alkatrészkészletek és a WIP-növekedés elmaradását - sikerült elérni.

A termékek polcról történő összeszerelésének optimalizálása

A termékek fizikai elhelyezkedése. Munka a térrel

Az elemzés eredményei alapján megállapították, hogy az ASC1 egyik „szűk keresztmetszete” az off-gauge szerelési helyszín fizikai megszervezése volt. Az oldal tele volt régi berendezésekkel/mezzanine-okkal, szükségtelen sablonokkal, alkatrészekkel és egyéb hülyeségekkel, amelyeket valójában nem használtak fel a meglévő módosítások gépeinek gyártásához.

Emiatt maximum 3-4 darab egyidejűleg összeszerelt gépet lehetett elhelyezni az off-gage szerelés helyén. Ráadásul rendkívül szűk és nem optimális körülmények között.



Ez elegendő lenne, ha a szerelési munka tökéletesen meg volt szervezve, és ha a más műhelyekből származó alkatrészek szállítási ütemtervét tökéletesen betartanák. De való Világ”, ha bármilyen termékkel probléma volt, az lelassította az összeszerelést, pl. az összes többi gép siklóját. És az összeszerelő csapatoknak egyszerűen nem volt fizikai képességük másik gépre váltani.
Ennek eredményeként úgy döntöttek, hogy lebontják a felesleges berendezéseket, megtisztítják a területet, és két „sort” szerveznek a gépek összeszerelésére a helyszínen. Ezen munkák elvégzése során a munkaterület 5C szerinti ergonómikus szervezésének módszereit alkalmaztuk. Lásd az ábrát és a fényképet.



Ennek köszönhetően immár 6 gép, beleértve a szállítógépeket is, elhelyezhető az ingyenes összeszerelési helyen, és ez a munkahelyek összehasonlíthatatlanul jobb és kényelmesebb megszervezésével történik.

A műveletek átadása a termék végső összeszerelésétől más területekre.

A műhely „szűk keresztmetszetét” jelentő off-gauge szerelvény helyszínének elemzésének eredményei szerint számos „extra” műveletet azonosítottak, pl. más területeken és kevésbé képzett személyzet által hatékonyabban végrehajtható műveletek. Néhány példa - lásd a fotót.

Az alapos elemzés és a műhelytechnológusokkal folytatott megbeszélések után ezek a műveletek más, kevésbé terhelt területekre kerültek, felszabadítva az összeszerelők idejét a "nem alapműveletek" alól.

Változás az elhatárolási rendszerben bérek dolgozók

A reformok részeként megváltozott a munkavállalók bérszámfejtési rendszere.
A béralapot kifejezetten a gyártási terv alapján számították ki, ennek ténye a lánc következő üzletébe legyártott és átadott gépek számától függött.
Ezt az összeget tovább osztották a szerelőcsoportok tagjai (művezetők) között, a munkások képzettségétől és a munkavállalási együtthatótól függően.

Riasztó

Ezen túlmenően úgy döntöttek, hogy a műhelyben rugalmas munkafolyamat-struktúrát építenek ki, amely a maximális feltételek megteremtésére összpontosít
termelési munkás és riasztó/megoldja minden igényét/problémáját online, az alábbiak szerint:

Az előadók igényeinek gyors reagálása érdekében a fenti lánc a vizualizációs eszközök, például a jelzőlámpák alkalmazása mellett döntött. A tervek szerint az oldal minden szektorát kétféle zöld és piros izzóval, illetve ezek bekapcsolására szolgáló gombbal szerelik fel.

zöld lámpa jelzi, hogy az ágazat teljes mértékben ellátott alkatrészekkel, megvannak a gyártáshoz szükséges szerszámok, és teljes mértékben megértették a jelenlegi összeszerelési igényeket (vagyis a helyzet normális).

piros villanykörte- ez egy jelzés, hogy az ágazatnak meg kell oldania a három irány egyikének problémáit, és a telephely vezetőjének a lehető leggyorsabban válaszolnia kell erre a kérésre, és intézkednie kell a mielőbbi megoldás érdekében, vagy értesítenie kell a többi előadót ha a kérdés érinti a kompetenciájukat.

sárga- a probléma létezik, de megoldása folyamatban van.

Az üzlet részletes összeszerelési területének optimalizálása

Ellátásbiztosítási rendszer a részletes összeszerelő műhelyből

A fenti átalakítások elvégzése után a nyomtávon kívüli szerelőhely áteresztőképességét havi 8 autóra növeltük. De szinte azonnal az ASC1 bolt „szűk keresztmetszete” átkerült az üzlet részletes összeszerelési részlegeibe.

Ennek köszönhetően, új szervezet a műhely részletes összeszerelési részlegében valósult meg, amely a készen álló összeszereléshez szükséges szerelvényeket gyártó és közvetlenül szállító telephely. A munka körülbelül egy hónap alatt készült el, a Rightstep által javasolt módszertan szerint:
1) a telephely munkahely-szervezésének optimalizálása az „5C” elvei szerint;
2) vizualizációs rendszer telepítése;
3) húzótervezési rendszer megszervezése és az összeszereléshez szükséges alkatrészek szállítása „szupermarket” és „kanban” módszerekkel.



A bevezetett új termelésszervezés annyira megtetszett a műhely más részlegeinek iparosainak és munkásainak, hogy a részlegek a szó szó szoros értelmében „sorba álltak” a megvalósításhoz.

Átváltozások. A megfelelő időben történő kiszállítás biztosítása az ASC1-hez


Tervezési és felügyeleti rendszer SCMo

A "külső" viszonyok szempontjából a műhely óriási problémája a nem ritmikus (az adott gépek összeállításának ritmusával nem szinkron) alkatrészellátás volt az üzem műhelyeinek DDC-jéből.
Ennek a problémának a megoldása egy üzemszintű projekt keretében valósult meg a szinkron rendelésenkénti nómenklatúra üzletközi tervezési rendszer felállítására. Módszertanként a tervezés "húzása" (éppen időben és pontosan a megrendelt mennyiségben) módszertanát, valamint a Korlátozáselmélet "szűk keresztmetszete" "puffereivel" és "prioritásaival" való munka módszertanát vették alapul.

A Lean-t implementációs eszközként használták ERP rendszer SCMo, amely a termelési és ellátási folyamatok on-line tervezését, irányítását és felügyeletét biztosítja.
Az üzem számára felállított tervezési algoritmus lehetővé tette a rendelésenkénti (gépenkénti vagy „tömeges” rendelésre) nómenklatúra terv elkészítését
a rendszer által lefedett minden egyes műhely gyártása és ellátása. A szállító műhely által szállított minden egyes tétel színjelzésével / megvilágításával, gyártáskor folyamatosan frissítve. Lásd az alábbi ábrát.

Az átalakítási projekt részeként az ASC1 boltban az SCMo segítségével a következő folyamatok kerültek „helyesen” beállításra:
1) a gép összeszerelési sorrendjének kialakítása az ASC1 - ASC2 - DSP műhelyek számára, és az ASC1 esetében - a szállítási ütemterv kialakítása, konkrét gépekre és a hónap meghatározott napjaira (lásd az alábbi képernyőképet):

2) az ASC1 műhely gépszállítási ütemezése alapján - a műhelyek - beszállítók - alkatrészek és szerelvények szállítási tervének elkészítése. Ezt a pillanatot nem sikerült teljesen automatizálni a termék (gép) elektronikus összetételének pontatlansága miatt. Emiatt úgy döntöttek, hogy az SCMo-ban a beszállítói műhelyek számára részben fenntartják az elektronikai hiányt, a beszállítói "beígért dátum" kötelező megadásával. Valójában online közzétett és mindenki számára elérhető „hiánynaplókról” van szó, amelyeket korábban az üzemi diszpécser vezetett, és amelyekből az információk gyakran torz formában, csak tervezéskor váltak az üzletek és a beszállítók rendelkezésére. találkozók.

Ez egy új, az informatikai rendszerre áthelyezett irányítási módszertan keretein belül történt, vagyis minden résztvevő számára biztosította a történések maximális megjelenítését. termelési lánc(lásd alább):

Pozitív mellékhatás - az "elektronikus deficitek" fenntartása az SCMo-ban - az "elektronikus" tervezési értekezletekre való átállás lehetősége, amelyek hatékonysága jóval magasabb, mint a hagyományosaké, és kevesebb az eltöltött idő.

Megfigyelő rendszer, hogy mi történik (videós megfigyelő rendszer)

Ennek az iránynak a részeként a termelésben zajló események maximális megjelenítése érdekében a műhelyben egy olyan vizualizációs rendszert (videó megfigyelő) is bevezettek, amely on-line üzemmódban működik, és szükség esetén lehetővé teszi, hogy megnézzük, mi történik valóban megtörténik a műhely területén egy adott időpontban.


Projekt eredményei

1. Az üzlet kapacitása havi 6-ról 8 gépre nőtt.

Ezzel: nem nőnek a működési költségek (bérszámfejtés, dolgozók száma stb.), valamint az alkatrészkészletek és a WIP.
2. Üzembe helyezésre került a Szállítások Tervezési és Monitoring Rendszere, amely nemcsak a kiadást, hanem az üzem összes műhelyének elindítását is ütemezetten szinkronizálta.
gépek összesítése és végső összeszerelése.
3. A termelésben zajló események teljes átláthatósága biztosított.
4. Alapot biztosítottunk 2012-ben a havi 9 autós gyártási ritmus eléréséhez.
5. Elindult az átalakítások „lendítő kereke”, pl. és a műhely egyéb részei.

Rightstep, Iris Partenaires

Egy másik gyakran előforduló problémafelvetés az összetett objektumok tanulmányozása során a szervezeti menedzsment javítása érdekében a termelékenység javításának lehetőségeinek vizsgálata. technológiai séma objektum a berendezések – szervizeszközök, egyes csatornák és/vagy fázisok – állásidejének maximális lehetséges csökkentése miatt. A berendezések leállási idejének mennyiségi értékelése egy objektum egy reprezentatív időtartamon keresztüli működésének szimulálásával, a megfelelő időjellemzők megszerzésével és elemzésével érhető el.

A szervezetirányítás célfüggvénye ezekben az esetekben a (9.36)-hoz hasonló formát mutat:

v=perc (9,39),

hol van a szolgáltató eszköz (vagy csatorna, vagy külön fázis, megfelelő indexválasztással) üresjárati ideje a szolgáltatásba lépés előtt én igény a teljes tételből N követelményeknek.

Tehát az egycsatornás egyfázisú objektumok esetében a szervizberendezés teljes leállási ideje a teljes köteg N A követelményeket a (9.8) kifejezés határozza meg, ezért a szervezeti menedzsment célfüggvénye, ideértve az automatizáltat is, ebben az esetben a következőképpen alakul:

v=[ 1jel(+)]min (9,40).

Hasonló kifejezéseket kaphatunk többfázisú és/vagy többcsatornás objektumokra, mint a (9.16), (9.26) vagy (9.34) alapú sorrendszerekre.

Vegye figyelembe, hogy ebben az esetben a célfüggvény v A szervezeti irányítás összetett kritérium, amely a figyelembe vett berendezés-leálláson kívül egyéb tényezőket is figyelembe vesz, hiszen ide tartozik a követelmények fogadásának időköze, az eszközök, csatornák és fázisok alkalmazási időszakai, valamint egyéb időbeli jellemzők. Ezért, ha az előző albekezdésben jelzett intézkedéseket végrehajtják ebben az objektumban, ami a várakozási idő csökkenéséhez vezet, az a technológiai objektumok berendezéseinek terhelésének növekedéséhez is vezet, ami sok gyakorlati esetben komplex objektumok szervezeti irányításának hatékonysági kritériumának megválasztása.

3. A "szűk keresztmetszetek" azonosítása és megszüntetése

A termelési rendszerekben a technológiai sémában a "szűk keresztmetszet" olyan eszköz, amelynek teljesítménye alacsonyabb, mint a technológiai séma egésze, ezért éppen ez az egység jelenti a korlátozó láncszemet a létesítmény teljes szolgáltatásában. A "szűk keresztmetszetek" azonosítása lehetővé teszi egy objektum termelékenységének növelésének problémáját különösen racionális módon, szervezeti és technikai intézkedések végrehajtásával egy, a "szűk keresztmetszet"-t jelentő berendezéssel kapcsolatban. és nem az egész technológiai rendszer egészére, mivel az utóbbi kétségtelenül bonyolultabb, hosszabb és általában sokkal drágább.

A "szűk keresztmetszet" gyakran "időben és térben" változó, azaz. Az objektum vagy annak egyes kapcsolatai technológiai rendszerétől és működési feltételeitől, illetve az egyes követelmények csoportjainak vagy osztályainak technológiai jellegétől (más szóval az objektum adott időszakon belüli konkrét helyzetétől függően) a „ szűk keresztmetszet” lehet, hogy a szolgáltatás egyik vagy másik apparátusa (vagy csatorna), vagy akár egyetlen fázis. Ilyen esetekben a "szűk keresztmetszetek" szimulációval történő azonosítása fontos irány az objektum tanulmányozásában, a vezetői döntések hatékonyságának alátámasztása, fejlesztése és utólagos ellenőrzése érdekében. Nyilvánvaló, hogy a „szűk keresztmetszet” felszámolása olyan szervezeti és technológiai intézkedések komplexumát jelenti, amelyek végrehajtása után az apparátus, a korábbi „szűk keresztmetszet” már nem az, és nem akadályozza a termelés egészének működését.

A QS-ként értelmezett objektum technológiai sémájában a "szűk keresztmetszetek" jelenlétének jele a sor vagy késleltetés kialakulása az előző egységeken vagy fázisokon az eszköz (vagy fázis) előtt, ami "szűk keresztmetszet", és fordítva, az üresjárati eszközök (vagy fázisok) közvetlenül utána.

Mutassuk be formalizált formában azt a helyzetet, amikor a „szűk keresztmetszetek” jelen vannak az objektumban, a fejezetben fentebb tárgyalt technikával.

Legyen például egy objektum, mint egycsatornás QS több egymás után elhelyezkedő egycsatornás egyfázisú kiszolgáló eszközből, amelyek technológiai sémája megfelel a 9.5. ábrának.

9.5. Több eszközből álló egycsatornás QS séma.

A jelen QS technológiai sémájának szervizeszközeit az index jelzi kés pontosan k Közülük az ik a "szűk keresztmetszet". Hadd én-a követelmény a megadott helyen üzemel k th készüléket az idő alatt, és a korábban beérkezett igényhez képest időközönként érkezett erre az eszközre.

Az előző ( k1) készülék, az ott található követelmény már befejezte a szervizt és kiadásra vár k-th készülék; esetleg a bejáratánál ( k1)a gépnek már van egy másik szervizigénye. Így a helyzet ( k1)-edik apparátust az időkarakterisztika (9.4) tükrözi:

= +at+>for (9,41);

Következő, ( k A +1)-edik készülék tétlen, ezért általános esetben a (9.8) alapján a következőket kapjuk:

= for>+for [ k+1, ...,n] (9.42).

Ami közvetlenül illeti k-a technológiai séma apparátusa, ami "szűk keresztmetszet", akkor kifejezetten rá a (9.41) és a (9.42) összefüggés is igaz lehet, attól függően, hogy pontosan mi korlátozza a működését - vagy a követelmény kiszolgálásának kezdetét (pl. Az eszköz bemenete, esetleg a szolgáltatás kezdeti fázisai, ha többfázisú, stb.), vagy állapota (belső elemek, köztük lévő kapcsolatok, végső fázisok, stb.).

A szervezetirányítás célfunkciója v, amelynek célja a "szűk keresztmetszet" megszüntetése, és ezáltal a teljes technológiai rendszer teljesítményének növelése, általános formája a következő:

v=(9.43).

Hasonlóképpen kifejezések szerezhetők be más objektumstruktúrákhoz és más szolgáltatási tudományágakhoz is. A vizsgált objektum szimulációs modelljét számítógépen valósította meg a működésének különböző körülményeihez képest, és mennyiségi formában megkapta a (9.41) és (9.42) kritériumok értékeit minden egyes komponensre és/vagy technológiai sémára , ami mindig megtehető, ezekből a kapott eredményekből könnyen megállapítható, hogy ebben a technológiai sémában van-e "szűk keresztmetszete", illetve az objektum milyen konkrét összetevője, milyen konkrét feltételek mellett. Ezt követően lehetőség nyílik a „szűk keresztmetszet” (a gyártás technológiai sémája ezen a helyen a szervizigények párhuzamosítása, felgyorsított technológiák, azaz lényegesen gyorsabb kiszolgálással, és ennek megfelelően alacsonyabb átlaggal) megszüntetésére szervezeti és technikai intézkedések sora. stb.), majd ellenőrizze azok hatékonyságát az objektum ugyanazon szimulációs modelljén.

Palacknyak

Palacknyak Olyan jelenség, amelyben egy rendszer teljesítményét vagy kapacitását egy vagy több összetevő vagy erőforrás korlátozza. A megfelelő angol kifejezésben (eng. palacknyak) van egy hasonlat a palack nyakával, amelynek keskenysége nem teszi lehetővé az egész tartalmát egyszerre kiönteni vagy kiönteni, még akkor sem, ha megfordítják. A szélességének növekedésével a palack kiürítésének sebessége is nő. Üzleti szempontból a szervezet szűk keresztmetszete az, ami csökkenti a termelékenységét.

Projektmenedzsment

Szűk keresztmetszetek a szoftverben

Lásd még


Wikimédia Alapítvány. 2010 .

Szinonimák:

Nézze meg, mi a "szűk kereszt" más szótárakban:

    Alulkapacitási döntési helyzet, amelyben a fedezeti költségszámítás megmutatja, hogy a vállalatnak melyik termékkört kell választania a lehető legmagasabb fedezet elérése érdekében. Lásd még:… … Pénzügyi szókincs

    Trükk, nehézség, nehézség, horog, probléma, akadály, idézőjel, horog, gubanc, gubanc, akasztó, csúcshelyzet, vessző, bonyodalom Orosz szinonimák szótára. szűk keresztmetszet n., szinonimák száma: 19 snag (26) ... Szinonima szótár

    - (szűk keresztmetszet) A fejlődés maximális ütemének vagy bármely tevékenység szintjének valós korlátja (korlátja). A közgazdaságtanban ezt a kifejezést a fizikával analógiaként használják. Például a folyadék maximális áramlási sebessége egy palackból ... Közgazdasági szótár

    palacknyak)- szűk rész - Témák Olaj- és gázipar Szinonimák szűk rész HU kritikus szűk...

    palacknyak- szűk átjáró - Témakörök olaj- és gázipar Szinonimák szűk átjáró HU bottleneckbottle neck ... Műszaki fordítói kézikönyv

    "palacknyak"- 3.46 "szűk keresztmetszet": A gázszállító rendszer tárgya (főgázvezeték, leágazó gázvezeték, gázvezeték áthidaló, gázelosztó vezeték vagy ezek szakasza, kompresszorállomás, gázkompresszor állomás, földalatti gáztároló állomás, térinformatikai rendszer, csomópont .. ... A normatív és műszaki dokumentáció kifejezéseinek szótár-referenciája

    "PALACKNYAK"- - termelésszervezési hiányosságok következtében kialakuló helyzet, amikor munkahely nem rendelkezik anyag-, munkaerő- vagy üzemanyag- és energiaforrásokkal; a munkatermelékenység túllépése az előző ...... Közgazdász tömör szótára

    palacknyak- miben. A leggyengébb, kiszolgáltatott oldal, amelyben l. üzlet, nehézségek, bonyodalmak stb. Hoppá, hely a gyártásban... Sok kifejezés szótára

    - (szleng) 1) termelési kapacitás hiánya a láncban technológiai folyamat bármely összetevő határozza meg: berendezés, személyzet, anyagok vagy szállítás, szállítás; szervezéstechnikai ... ... Enciklopédikus közgazdasági és jogi szótár

    Kocsma. A gyenge láncszemek hiánya gyártási folyamat, takarítás. NRL 96; BTS, 1378; Mokienko 2003, 57 ... Az orosz mondások nagy szótára

Könyvek

  • Szinergetika és önszerveződés. Társadalmi-gazdasági rendszerek, Milovanov V. P. Ez a könyv részletesen tárgyalja a társadalmi-gazdasági rendszerek szinergiáját és önszerveződését, és különösen az árképzést. Képleteket kínálnak az árak, a károsanyag-kibocsátás kiszámításához ...
1

A cikk egy módszert tárgyal a technológiai, logisztikai és szervezeti üzleti folyamatok szűk keresztmetszete elemzésére és kiküszöbölésére. A technológiai, logisztikai és szervezeti üzleti folyamatok tanulmányozására a többügynökös erőforrás-konverziós folyamatok megközelítését alkalmazzuk. Egyre több számítási erőforrásra van szükség az erőforrás-konverziós folyamatok modellezéséhez. Ebben a tekintetben fontos új elvek azonosítása és alkalmazása az erőforrás-konverziós folyamatok többügynökes modelljeinek felépítéséhez és elemzéséhez. A többügynökös erőforrás-konverziós folyamat elemzési és szűk keresztmetszetek kiküszöbölésének módszere az erőforrás-konverziós folyamatmodell, a valószínűségi hálózatok operatív elemzése, a többügynökös megközelítés és a szakértői rendszerek integrálásán alapul. A többügynökös erőforrás-konverziós folyamat szűk keresztmetszete elemzésének és kiküszöbölésének módszere programozottan valósul meg automatizált rendszer kohászati ​​termékek gyártása.

automatizált információs rendszer

technológiai műveletek

erőforrás-átalakítási folyamat

palacknyak

többügynökös modellezés

1. Aksenov K.A., Aksenova O.P., Wang Kai. Projektportfólió tervezése az építőiparban többügynök-szimuláció alapján // St. Petersburg State Polytechnical University Journal № 6 (162) 2012. Informatika. Távközlés. Ellenőrzés. Szentpétervár, 171–174.

2. Aksenov K.A., Antonova A.S., Spitsina I.A., Sysoletin E.G., Aksenova O.P. Automatizált rendszer fejlesztése elemzéshez, modellezéshez és döntéshozatalhoz kohászati ​​vállalkozás multi-agent megközelítés alapján // Automatizálás az iparban. – M., 2014. – 7. sz. – P. 49–53.

3. Aksenov K.A., Wang Kai, Aksenova O.P. A projektportfólió tervezésének és a szűk keresztmetszetek elemzésének problémájának megoldása egy üzleti folyamatban többügynökös modellezés és kritikus út módszer alapján // Kortárs kérdések tudomány és oktatás. - 2014. - 2. sz.; URL: www..04.2014).

4. Aksenov K.A. Szervezeti és technikai rendszerek erőforrás-átalakítási és rendszerelemzési folyamatának modellje. // Bulletin of Computer and információs technológiák. - 2009. - 6. sz. - S. 38–45.

5. Borodin A.M., Mirvoda S.G., Porshnev S.V. Programozási nyelvek modern prototípuskészítő eszközeinek elemzése // Szoftverfejlesztés. - 2014. - 12. szám - P. 3–10.

6. Borodin A.M., Mirvoda S.G., Porshnev S.V. A vállalati hibatűrés tesztelésének jellemzői információs rendszerek kudarcgeneráló módszer // A tudomány és az oktatás modern problémái. - 2014. - 5. sz. - URL: www..2015.02).

7. Litvin V.G., Aladyshev V.P., Vinnichenko A.I. Többprogramos számítógépek teljesítményelemzése. M.: Pénzügy és statisztika. - 1984. - 159 p.

8. Tomashevsky V., Zhdanova E. Szimulációs modellezés GPSS környezetben. M.: Bestseller. - 2003. - 416 p.

9. Aksjonov K.A., Bykov E.A., Aksjonova O.P. A többágens szimuláció alkalmazása döntéstámogatásra építőipari vállalatnál és összehasonlítása a kritikus út módszerével // Applied Mechanics and Materials, 2. kötet. 278-280 (2013) Trans Tech Publications, Svájc. doi:10.4028/www.scientific.net/AMM.278-280.2244. pp. 2244–2247.

A technológiai, logisztikai és szervezeti üzleti folyamatok meglévő elemzési és szimulációs módszerei gyakran találkoznak olyan objektumokkal, amelyekben az elemek száma meghaladja a százat. Ebben a tekintetben az ilyen modellek szimulációs kísérletének elvégzéséhez egyre több számítási erőforrásra és számítógépes időre van szükség. A technológiai, logisztikai és szervezeti üzleti folyamatok az erőforrás-átalakítási folyamatokra utalnak. Az ilyen típusú folyamatok sajátossága, hogy összetételükben a döntések meghozatalára és elfogadására szolgáló részfolyamatok (műveletek), részfolyamatok vagy vezérlőelemek, döntéshozók (DM) léteznek. A döntéshozói modellek és a (menedzsment és koordinációs) döntések meghozatalához szükséges forgatókönyvek formalizálására ez a cikk a többügynökös és szakértői rendszerek apparátusának használatát javasolja. E tekintetben sürgető feladat egy új módszer kidolgozása a többágens erőforrás-konverziós folyamatok (MPPR) szűk keresztmetszetek elemzésére és kiküszöbölésére.

Módszer a szűk keresztmetszetek elemzésére és kiküszöbölésére egy többügynökös erőforrás-átalakítási folyamatban

Tekintsük a vállalati folyamatok (technológiai, logisztikai, szervezeti üzleti folyamatok) szűk keresztmetszete elemzésére és kiküszöbölésére használt MPPR folyamat két fő elemét (művelet és ügynök). A módszer elméleti alapjául a valószínűségi hálózatok operatív elemzése szolgál.

Az MPR folyamat Op műveletének teljesítményének értékeléséhez vegye figyelembe a következő paramétereket: a QOp_av művelet átlagos kéréssora, az UOp_av művelet átlagos munkaterhelése, egyszerű művelet a PMechOp források hiánya miatt, egyszerű művelet a PResOp bemeneti erőforrások hiánya:

,

,

Ahol HAJLAMOS- megfigyelési idő (a folyamat megfigyelési intervallumának időtartama),

N- a művelet végrehajtásainak száma Op a megfigyelés során HAJLAMOS,

TOP- a művelet időtartama Op,

Tapintat- időegység,

Számol_Mech_kinyit- az aktuális műveletek végrehajtása során nem zárolt alapegységek száma,

Számol_Mech_használat- a működés megkezdéséhez szükséges alapegységek száma Op,

Számol_Res- az erőforrás egységek jelenlegi száma,

Számol_Res_Ban ben- a működés megkezdéséhez szükséges erőforrás egységek száma Op.

A sorbecsléshez hasonlóan az erőforrások átlagos állapotának becslése (mind a bemenet, mind a kimenet viszonylatában bizonyos művelet vagy ügynökszabály). Az eszköz folyamatműveletekben való használatának értékeléséhez vegye figyelembe az UMech_av eszköz átlagos munkaterhelését:

,

ahol Count_Mech_Lock - az aktuális műveletek végrehajtása során zárolt eszköz egységeinek száma,

Count_Mech – a Mech egységek teljes száma.

Elemezzük az ügynök működésének statisztikáit a QAg_av ügynökhöz érkezett kérések átlagos sora és az ügynök UAg_av kérelmeit feldolgozó átlagos munkaterhelése alapján:

,,

Ahol - alkalmazásfeldolgozó operátor (alkalmazás létrehozása, törlése vagy blokkolása (beleértve a paraméterek megváltoztatását),

AgSolutIf – ügynök feltételei "If",

AgSolutThen – a „Címzett” ügynök feltételei.

Ábrázoljuk az MPR folyamat paramétereinek elemzésére és a szűk keresztmetszetek kiküszöbölésére vonatkozó szabályokat (változtatás (hajtogatás/bővítés) szabályait) döntéskereső diagramok formájában (1. ábra). A gráf csúcsai a következő jelölésekkel rendelkeznek: 0 - nulla érték, M - kis érték, C - átlagos érték, B - a gráf megfelelő objektumának magas értéke (sor, munkaterhelés vagy üresjárat). A gráfátmenetek szaggatott vonalai a művelet nulla és kis sorrendű várólista megoldásainak felelnek meg, a folytonos vonalak a többi esetben a megoldásoknak.

A kísérlet eredményeként kialakul a műveletek végrehajtásának, az ügynökök működésének, a források és igények ráfordításának és képzésének, valamint az MRM folyamat működésében a forrásfelhasználás statisztikái. A kísérletek elemzésének eredményei alapján a szűk keresztmetszetek diagnosztizálására kerül sor, és döntés születik az MPR folyamat összeomlásáról/kiterjesztéséről (a szűk keresztmetszetek megszüntetéséről). Az elemzési módszer leállításának és a szűk keresztmetszetek kiküszöbölésének kritériuma az erőforrás-átalakítási folyamatban, hogy a várakozási időt az összes blokknál elfogadható értékekre csökkentsék.

Az MPR folyamat megváltoztatása a következő műveletekkel hajtható végre: vagy egy művelet törlésével, vagy egy párhuzamos művelet hozzáadásával; a művelet(ek) által felhasznált pénzeszközök hozzáadása/elvonása (mennyiségnövelése/csökkentése); az erőforrások mennyiségének növelése/csökkenése; ügynökszabály hozzáadása vagy eltávolítása, ügynök törlése.

1. ábra. Diagramok az MPPR folyamatában az elemzési szabályok alkalmazására és a szűk keresztmetszetek kiküszöbölésére vonatkozó megoldások keresésére

A módszer programozottan valósul meg a kohászati ​​termékek gyártására szolgáló automatizált rendszerben (AS VMP). A módszer elõzetes szakasza a vállalati folyamatmodell létrehozása és finomítása (módosítása) a folyamatmodellek létrehozására szolgáló modulban (PMS). A 2. ábra az MPR folyamat szűk keresztmetszete elemzésére és kiküszöbölésére szolgáló módszer folyamatábrája. Az ábrán használt rövidítések:

IM - modell integrációs modul;

KZ - lekérdezési konstruktor modul;

OPP - modul a vállalati folyamatok optimalizálására;

SMP - modul folyamatmodellek létrehozásához;

A TBPI egy kohászati ​​vállalkozás tipikus állandó üzleti folyamata a gyártási folyamatok megváltoztatására.

Rizs. 2. A többügynökös erőforrás-konverziós folyamat szűk keresztmetszete elemzésére és kiküszöbölésére szolgáló módszer általános sémája

Fontolja meg a módszer fő lépéseit. A javasolt módszer a következő szakaszokból áll (a szakaszok számozása a 2. ábra blokkszámozásának megfelelően).

1. Ha a vállalati folyamatmodell korábban az SMP modulban volt beépítve, akkor lépjen a következőre: következő szint. Egy vállalati folyamat szimulációs modelljének felépítésekor (az SMP modulban) a következő almodellek épülnek fel:

1) objektumok generálása (termelési egységek (PU) / projektek / rendelések), egy ilyen objektum az MPRM modellben egy alkalmazás (tranzakció) példányaként ábrázolható attribútumkészlettel;

2) az objektumok átadásának folyamatai (termelési egységek aggregátumokon és berendezéseken történő feldolgozásával kapcsolatos technológiai, logisztikai és szervezeti üzleti folyamatok, a fel nem használt egység szállítása és a megrendelések / a projekt szakaszai / gyártási műveletek teljesítése), az MPPR modell, az alkalmazás feldolgozásának útvonalát konverterekből (műveletekből és ágensekből) álló blokkok láncolata alkotja;

3) fogyóeszközök (nyersanyagok, anyagok és félkész termékek) ellátása, az MPPR modellben az erőforrás-ellátási útvonalat műveletekből és ügynökökből álló blokkok láncolata alkotja;

4) eszközök (gépek, berendezések, egységek, szállítás, személyzet) működtetése.

2. Ahhoz, hogy frissítse a modellt a vállalat jelenlegi folyamataihoz az OPP modulban, először frissíteni kell a modellváltozók értékeit a KZ és IM modulokkal való interakcióval.

4. A kísérlet megtervezése a feltett hipotézisekkel összhangban. A kísérleti terv összeállítása a modell olyan bemeneti (vezérelt) paramétereinek kiválasztásából áll, amelyek értékei a legnagyobb hatással vannak a modell kimeneti (becsült) paramétereinek értékére.

5. A szimulációs kísérleteket az OPP modulban végezzük. A kísérleteket a kísérleti terv szerint végezzük az optimális vagy hatékony megoldás megtalálásáig.

6. A szűk keresztmetszetek diagnosztizálása során az MPR folyamat következő paramétereit elemezzük:

1) a művelet, eszköz, ügynök felhasználási aránya;

2) az alkalmazás átlagos ideje a műveleti sorban, ügynök;

3) pénz- és/vagy inputforrás hiánya miatti leállás. A művelet és az ügynök dinamikájának felméréséhez a műveletre, az ügynökre vonatkozó kérések átlagos sorát, valamint az erőforrások átlagos állapotát elemzik.

7. A kísérlet eredményeként kialakul a műveletek végrehajtásának, az ügynökök működésének, a források és pályázatok ráfordításának és formálásának, valamint az MRM folyamat működésében a forrásfelhasználás statisztikái. A kísérleti statisztikák elemzésének eredményei alapján szűk keresztmetszetek diagnosztizálására kerül sor, és döntés születik az MPR folyamat megváltoztatásáról (fold/sweep). Ebben a szakaszban az optimális megoldás kiválasztása történik.

A módszer leállításának kritériuma lehet a várakozási idő csökkentése is az elfogadható értékekre a modell összes blokkjában. Ez a szakasz a párhuzamos folyamatok időbeni párhuzamosításának problémáját hivatott megoldani a megrendelésben (megrendelésekben) szereplő termékegységek előállításához (a szimulációs modell blokkjaiban előfordulhatnak olyan helyzetek, amikor a kérelmek párhuzamos feldolgozásával járnak).

8. Ha az előző szakaszban megtaláltuk az optimális megoldást, akkor lépjen a 12. szakaszra, ellenkező esetben a 11. szakaszra (lásd 2. ábra).

9. Ha a 9. szakaszban nem találtuk meg az optimális megoldást, akkor a kísérleti tervet kiigazítjuk, és az 5. szakaszra való átállást végrehajtjuk.

10. Ha a 9. szakaszban optimális megoldást találtunk, akkor javaslatokat teszünk a folyamat megváltoztatására. Ez a szakasz elindítja a TBPI elindítását a vállalati folyamatok (technológiai, logisztikai, szervezeti üzleti folyamatok) fejlesztése érdekében a szűk keresztmetszetek kiküszöbölése érdekében.

A módszert az üzleti folyamat erőforrások kiegyensúlyozásának feladatán tesztelték.

Következtetés

A többágens erőforrás-konverziós folyamat szűk keresztmetszetek elemzésére és kiküszöbölésére szolgáló módszer kidolgozásának feladata a valószínűségi hálózatok operatív elemzésének, a többágenses megközelítésnek, az erőforrás-konverziós folyamat modelljének és az apparátusnak az integrálásával oldódik meg. szakértői rendszerek. A többágens erőforrás-konverziós folyamat szűk keresztmetszetek (változtatási szabályok) elemzésére és megszüntetésére vonatkozó szabályokat dolgoztak ki döntéskeresési diagramok alapján. A módszert programozottan egy kohászati ​​termékek előállítására szolgáló automatizált rendszerben valósítják meg.

A munkálatokat a 02.G25.31.0055 számú szerződés alapján (tervezet 2012-218-03-167) végezték az Orosz Föderáció Oktatási és Tudományos Minisztériumának pénzügyi támogatásával.

Ellenőrzők:

Porshnev S.V., a műszaki tudományok doktora, professzor, a V.I.-ről elnevezett Uráli Szövetségi Egyetem Információs Rendszerek Radioelektronikai Tanszékének vezetője. Oroszország első elnöke B.N. Jelcin, Jekatyerinburg;

Dorosinsky L.G., a műszaki tudományok doktora, professzor, tanszékvezető Elméleti alapok Radio Engineering, FGAOU VPO Ural Federal University, V.I. Oroszország első elnöke B.N. Jelcin, Jekatyerinburg.

Bibliográfiai link

Aksenov K.A. AZ ERŐFORRÁS-ÁTALAKÍTÁS TÖBBSZERES FOLYAMATÁNAK ELEMZÉSÉNEK ÉS A PALACHELYEK ELTÁVOLÍTÁSÁNAK MÓDSZERE // A tudomány és az oktatás modern problémái. - 2015. - 1-1. sz.;
URL: http://science-education.ru/ru/article/view?id=18538 (elérés dátuma: 2020.09.02.). Felhívjuk figyelmüket a Természettudományi Akadémia kiadója által kiadott folyóiratokra.

Van ilyen statisztika: a kód 20%-a az esetek 80%-ában lefut. A pontossága
aligha felel meg teljesen a dolgok valós állapotának, hanem az általános jelentésnek
elég érdekes: kiderült, hogy az egész alkalmazás optimalizálása egy foglalkozás
hálátlan és buta, és csak ezek optimalizálása
A leghosszabb ideig futó alkalmazások 20%-a. És ezt a 20%-ot megtalálni nem így van
és nehéz.

Ebben a cikkben arról fogunk beszélni profilalkotás. A Wikipédia szerint
A profilalkotás nem más, mint "egy program működésének jellemzőinek összegyűjtése, mint pl
mint az egyes töredékek végrehajtási ideje, a helyesen megjósolt feltételes feltétel száma
átmenetek, a gyorsítótár kihagyások száma stb. "Oroszra lefordítva ez
jelentése "a program szűk keresztmetszete azonosítása" (vagy ahogy az anglofilek mondják,
"szűk keresztmetszetek"), nevezetesen mindazok a kódrészletek, amelyeken a program
elkezd "csúszni", várakozásra kényszerítve a felhasználót.

A legegyszerűbb profilozás puszta kézzel is elvégezhető (és alább megmutatom
hogyan kell csinálni), de jobb a közösségre hagyatkozni, amelynek képviselői
már mindent megteremtett szükséges eszközöket. Az első és legnépszerűbb hangszer
a neve GNU Profiler (vagy gprof). Évszázadok óta használták
a GCC fordító által generált profilozó kód. Második – GNU lefedettség
tesztelőeszköz (gcov), egy segédprogram a részletesebb teljesítményelemzéshez.
A harmadik egy sor hibakereső és profilkészítő eszköz a Google közönséges néven
Performance Tools (röviden GPT). Nos, a negyedik a Valgrind, ami legalábbis
és arra tervezték, hogy hibákat keressen a memóriával való munka során, de az arzenáljában található
számos segédprogram a programok teljesítményének elemzéséhez.

Kezdjük a várakozásoknak megfelelően a klasszikusokkal.

GNU Profiler

GNU Profiler(gprof) az egyik legrégebbi profilkészítő
operációs rendszerek, mint például a UNIX. A gcc csomag része, ezért lehet
bármely támogatott programban írt programok profilozására használható
nyelvük (és ez nem csak a C / C ++, hanem az Objective-C, Ada, Java is).

A gprof maga nem profilkészítő eszköz, csak lehetővé teszi
az alkalmazás által közben felhalmozott profilstatisztikák megjelenítése
működik (magától értetődő, hogy ezt alapértelmezés szerint egyetlen alkalmazás sem teszi meg,
de elindulhat, ha a "-pg" argumentummal építed fel a programot).

Lássuk, hogyan működik ez valós körülmények között. Mindent érezni
a gprof erényeit, nem valami elvont, mesterségesre fogjuk alkalmazni
létrehozott alkalmazás, hanem az igazi mindennapi. Hadd
gzip lesz.

Beszerezzük és kicsomagoljuk az archiváló forrásait:

$ wget www.gzip.org/gzip-1.3.3.tar.gz
$ tar -xzf gzip-1.3.3.tar.gz
$ cd gzip-1.3.3

Telepítse a felépítéshez szükséges eszközöket (Ubuntuban ez megtörténik
a build-essential meta csomag telepítésével):

$ sudo apt-get install build-essential

A build konfigurátort a CFLAGS környezeti változó argumentumának átadásával indítjuk el
"-pg":

$CFLAGS="-pg" ./configure

A program összeállítása:

Most van egy gzip binárisunk, amely képes statisztikát tartani
végrehajtás. Minden elindítását a gmon.out fájl generálása kíséri:


$ ls -l gmon.out
-rw-r--r-- 1 j1m j1m 24406 2010-11-19 14:47 gmon.out

Ez a fájl nem arra való, hogy emberek olvassák, de használható
részletes teljesítményjelentés elkészítése:

$ gprof ./gzip gmon.out > gzip-profile.txt

Az eredményül kapott fájl legfontosabb része a képernyőképen látható.

Minden sor egy függvény végrehajtási statisztikája, az oszlopok különbözőek
mutatók. Minket az első, harmadik, negyedik és hetedik oszlop érdekel. Ők
információk megjelenítése a végrehajtásra fordított teljes időről
függvények (az első oszlop - százalékban, a harmadik - másodpercben), annak száma
hívások és név.

Próbáljuk meg elemezni a jelentést. Az első a listán a deflációs funkció,
amelyet csak egyszer hívtak meg, de a teljes végrehajtási idő 29%-át "felfalta".
programokat. Ez a tömörítési algoritmus egy megvalósítása, és ha lenne
feladat a gzip optimalizálása, onnan kell kezdenünk. az esetek 22%-ában
A longest_match függvény végrehajtása kellett, de a deflate-től eltérően az volt
450 613 081 alkalommal hívták meg, tehát minden egyes függvényhívás eltartott
jelentéktelen ideig. Ez a második jelölt az optimalizálásra. Funkció
A fill_window az idő 13%-át vette igénybe, és "csak" 22 180 alkalommal hívták meg.
Talán ebben az esetben az optimalizálás eredményt hozhat.

A jelentésfájlt a közepére görgetve (egyébként közvetlenül a táblázat után van egy részletes
minden oszlopáról információ, ami nagyon kényelmes), eljutunk az ún
"hívási grafikon" (Call graph). Ez egy rekordokra osztott táblázat,
szaggatott vonallal elválasztva (ismétlődő mínuszjelek). Minden egyes
a lemez több sorból áll, míg a második sor a hangzástól eltérően
A jelentést "elsődlegesnek" nevezik, és azt a funkciót írja le, amelyre a rekord dedikált.
A fenti sor az azt hívó függvény leírása, lent pedig a hívható
neki.

Az oszlopok a következő információkat tartalmazzák (balról jobbra): index (index, ez van
csak az elsődleges sorban, és valójában nem jelent semmit); az idő százaléka
ami a függvény végrehajtására megy (idő %); ráfordított idő
másodpercben történő végrehajtásához (ön); rátöltött idő mennyisége
a funkció és az általa meghívott összes funkció végrehajtása (gyermekek); hívások száma
függvény (meghívott) és a neve (név).

A hívási grafikon nagyon hasznosnak bizonyul az optimalizálás során.
valaki más kódja. Nemcsak a program szűk keresztmetszete válik láthatóvá, hanem a teljes logika
munkája, ami nem biztos, hogy nyilvánvaló a forráskód tanulmányozása során.

GNU Coverage tesztelő eszköz

A gprof mellett a GCC fordító még egy eszközt tartalmaz
profilalkotás, amely lehetővé teszi, hogy részletesebb jelentést kapjon a végrehajtásról
alkalmazások. A segédprogram neve gcov, és generálásra készült
annotált forráskódnak nevezzük, amely minden sorral szemben található
tartalmazza a kivégzések számát. Mélyebbre lehet szükség
az alkalmazás problémáinak tanulmányozása, amikor a „fékekért” felelős funkciók megtalálhatók, ill
a probléma lényege továbbra is homályos (például nem világos, hogy melyik sorban van
Több beágyazott hurok egy hosszú függvényen belül felelős
abnormális teljesítménycsökkenés).

A Gcov nem támaszkodhat az alkalmazás által generált statisztikákra, ha azzal készült
jelölje meg "-pg", és újraépítést igényel az "-fprofile-arcs" és "-ftest-coverage" jelzőkkel:

$ CFLAGS="-fprofile-arcs -ftest-coverage"
./configure && make

$ ./gzip ~/ubuntu-10.10-desktop-i386.iso

Minden forráskód fájlhoz egy hívási grafikon jön létre az alapján
amelyről ember által olvasható kommentárt hozhat létre
forrás:

$ gcov deflate.c
"deflate.c" fájl
Végrehajtott sorok: 76,98% a 139-ből
deflate.c:"deflate.c.gcov" létrehozása

Az eredményül kapott fájl három oszlopból áll: a végrehajtások száma
sor, sorszám és maga a sor. Ugyanakkor a kódot nem tartalmazó sorokhoz a be
az első oszlopban mínusz jel lesz, és a soha nem végrehajtott soroknál -
éles sorozat: #####.

Google Performance Tools

Google Performance Tools(röviden GPT) a Google alkalmazottainak fejlesztése,
memóriaszivárgások és alkalmazási szűk keresztmetszetek felderítésére tervezték. Mint a gprof,
A GPT nem külső a tesztelt alkalmazáson és
arra kényszeríti, hogy önállóan statisztikát készítsen teljesítményéről. azonban
ehhez az alkalmazás-összeállítási szakaszban nem beágyazott kódot használják, hanem
az alkalmazáshoz építési időben kapcsolható könyvtárak, ill
indításkor csatlakoztatva.

Összesen két bővítménykönyvtár áll a fejlesztők rendelkezésére: tcmalloc (ami
a GPT szerzői szerint a világ leggyorsabb megvalósítása
malloc funkciókat, és lehetővé teszi a memória elemzését is
fogyasztott, allokált és folyó) és egy profilkészítő, amely előrehaladási jelentést készít
olyan programok, mint a gprof. Ide tartozik a pprof segédprogram is,
A felhalmozott adatok elemzésére és megjelenítésére tervezték.

A teljes készlet forráskódja, valamint az rpm és deb csomagok a következő címen érhetők el
hivatalos oldalon (code.google.com/p/google-perftools), de nem tenném
tanácsos bajlódni a kézi telepítéssel, mivel a készlet elérhető
szabványos Fedora és Ubuntu tárolók, és egy egyszerű telepítéssel telepíthetők
parancs:

$ sudo apt-get install google-perftools\libgoogle-perftools0
libgoogle-perftools-dev

$ LD_PRELOAD=/usr/lib/libprofiler.so.0.0.0 \
CPUPROFILE=gzip-profile.log ./gzip \
/home/j1m/ubuntu-10.10-desktop-i386.iso

Maguk a Google-alkalmazottak azonban nem javasolják ennek a módszernek a használatát (nyilvánvalóan problémák miatt
C++ nyelven írt programokkal), javasolva a könyvtár hivatkozását közben
szerelvények. Nos, ne vitatkozzunk.

A kísérletekhez ugyanazt a gzip-et fogjuk használni, és újra felépítjük,
a bináris és a szükséges könyvtár összekapcsolásával:

$ cd ~/gzip-1.3.3
$ tisztává tenni
$ ./configure
$ LDFLAGS="-lprofiler" ./configure && make

A gzip most újra készen áll a végrehajtás naplózására, de nem teszi meg
alapértelmezett. A profilkészítő aktiválásához deklarálnia kell egy változót
CPUPFOFILE környezet, és rendelje hozzá a profilfájl elérési útját:

$ CPUPROFILE=gzip-cpu-profile.log ./gzip \
~/ubuntu-10.10-desktop-i386.iso
PROFIL: megszakítások/kilakoltatások/bájtok = 4696/946/91976

A gprofhoz hasonlóan az eredményül kapott jelentés bináris formátumú, és lehet
csak egy speciális segédprogrammal olvasható. A GPT-ben a szerepét a
perl script pprof (Ubuntuban, hogy elkerüljük az összetéveszthetőséget egy másik, azonos nevű segédprogrammal
átnevezzük google-pprof-ra), amely nem csak táblázatokat és
megjegyzésekkel ellátott források gcov módjára, de vizuális hívásgrafikonok is. Teljes
ennek a segédprogramnak 11 kimeneti típusa van, amelyek mindegyike hozzá van rendelve
a megfelelő parancssori argumentum:

  1. Szöveg (--text) - a gprof kimenethez hasonló táblázat;
  2. Callgrind (--callgrind) - a kcachegrind segédprogrammal kompatibilis formátumban jelenik meg (a valgrind csomagból);
  3. Grafikus (--gv) - hívási grafikon, azonnal megjelenik a képernyőn;
  4. Listing (--list= ) a megadott funkció megjegyzésekkel ellátott listája;
  5. Szétszerelt lista (--disasm= ) - jegyzetekkel ellátva
    a megadott funkció szétszerelt listája;
  6. Szimbolikus (--szimbólumok) - dekódolt szimbolikus nevek felsorolása;
  7. Grafikus fájl (--dot, --ps, --pdf, --gif) - hívási grafikon mentve
    egy fájlhoz;
  8. Raw (--raw) - bináris profilfájl előkészítése a hálózaton keresztüli továbbításhoz
    (nyomtatható karakterekkel újrakódolva).

Számunkra a legérdekesebb a szöveg ("--text") és a grafika
("--gv") hívástípusok. Csak ők tudnak teljes körű tájékoztatást adni a megvalósításról
alkalmazást és annak összes problémás területét. A szövegkimenet a következőképpen jön létre
út:

$ google-pprof --text ./gzip gzip-cpu-profile.log

Amint a képernyőképen látható, a kimenet egy táblázat, amely mindent felsorol
funkciók és megvalósításuk költségei. Első pillantásra nagyon hasonlít a
a gprof segédprogram által generált táblázat, de ez nem így van. Igazságosnak lenni
könyvtár, a GPT nem tudja ugyanolyan részletességgel tartani a programvégrehajtási statisztikákat
és pontosan hogyan teszi ezt az alkalmazásba közvetlenül beágyazott kód. Ezért ahelyett
a függvények meghívásával és kilépésével kapcsolatos összes tény rögzítése (egy olyan program viselkedése, amely
jelző "-pg"), a GPT a mintavételezésnek nevezett technikát használja. Százszor másodpercenként
könyvtár aktiválódik speciális funkció adatgyűjtés feladata
az a pont, ahol a program éppen fut, és a rekord
ezeket az adatokat egy pufferbe. A program befejeztével ezek az adatok képezik és
A profilfájl lemezre van írva.

Ezért a pprof kimenet nem tartalmaz információt arról, hogy a függvény hányszoros volt
a program futási ideje alatt hívják meg, vagy az idő hány százalékát fordították rá
végrehajtás. Ehelyett minden funkciónál az ellenőrzések száma van megadva, közben
amelyről kiderült, hogy abban a pillanatban részt vett a program
ennek a funkciónak a teljesítése. Ezért az egyes csekkek számát
funkciót nyugodtan tekinthetjük a végrehajtásának teljes időtartamának.

Minden más tekintetben a táblázat erősen hasonlít a gprof kimenetére: függvény szerint on
sor, oszloponkénti index szerint. Összesen hat oszlop van:

  1. A funkció ellenőrzéseinek száma;
  2. Az összes többi programfunkció ellenőrzésének százalékos aránya;
  3. Az ehhez a funkcióhoz és az összes leszármazottjához tartozó ellenőrzések száma;
  4. Ugyanennyi az ellenőrzések teljes számának százalékában kifejezve;
  5. Funkció neve.

Eleinte a végrehajtási idő mérésének ez a megközelítése is úgy tűnik
pontatlan, de ha a gprof-fel kapott táblázatokat összehasonlítod a táblázatokkal
pprof, világossá válik, hogy ugyanazt a képet mutatják. Ráadásul a GPT
lehetővé teszi a másodpercenkénti ellenőrzések számának megváltoztatását egy változó segítségével
CPUPROFILE_FREQUENCY környezet, így a pontosság tízszeresével, százzal növelhető
vagy ezerszer, ha a helyzet úgy kívánja (például ha szükséges
egy nagyon kis program végrehajtásának profilja).

A GPT kétségtelen előnye a gproffal szemben a reprezentációs képesség
információk grafikus formában. A funkció aktiválásához pprof kell
futtassa a "--gv" jelzővel (egyébként a grafikon megjelenítéséhez,
azonos nevű segédprogram):

$ google-pprof --gv ./gzip gzip-cpu-profile.log

A függvény végrehajtása eredményeként keletkező függvényhívások grafikonja nagyon
vizuális és sokkal könnyebben érthető és tanulmányozható, mint hasonló
a gprof parancs által generált szöveges grafikon. Mindegyik neve és végrehajtási statisztikája
A függvények téglalapokba kerülnek, amelyek mérete egyenesen arányos
a funkció végrehajtásával eltöltött idő. A téglalap belsejében
közzétett adatokat arról, hogy mennyi időbe telt magának a függvénynek és annak végrehajtása
leszármazottai (az időt csekkekben mérik). A téglalapok közötti kapcsolatok azt jelzik
a függvényhívások sorrendjében, és a hivatkozások mellett feltüntetett számértékek -
a hívott függvény és annak összes leszármazottja idejére.

A GPT másik előnye a különböző szintek használatának lehetősége
az adatkimenet részletessége, lehetővé téve a felhasználó számára az egységek kiválasztását
zúzó. Az alapértelmezett egység egy függvény, tehát
bármely pprof kimenet logikailag függvényekre van felosztva. Azonban, ha kívánja, mint
a zúzó egységek forráskódsorok használhatók ("--sorok" argumentum),
fájlok ("--fájlok"), vagy akár fizikai memóriacímek ("--címek"). Köszönet
Az ilyen GPT-funkciók nagyon kényelmesek a szűk keresztmetszetek megtalálásához
nagy alkalmazások, amikor először elemzi a teljesítményszintet
az egyes fájlokat, majd lépjen a függvényekre, és végül keresse meg a problémát
forráskód vagy memóriacímek szintjén helyezzük el.

És az utolsó. Ahogy fentebb mondtam, a GPT nemcsak jó profilkészítő,
hanem memóriaszivárgások felkutatására szolgáló eszköz is, tehát van egy nagyon
szép mellékhatás a memóriafelhasználás elemzésének képessége formájában
Alkalmazás. Ehhez az alkalmazást támogatással kell elkészíteni vagy futtatni.
tcmalloc könyvtárat, és a HEAPROFILE változó tartalmazza az elhelyezés címét
profilfájl. Például:

$ LD_PRELOAD=/usr/lib/libtcmalloc.so.0.0.0 \
HEAPROFILE=gzip-heap-profile.log \
./gzip ~/ubuntu-10.10-desktop-i386.iso
A kupac követésének megkezdése
Halomprofil kiíratása a gzip-heap-profile.log.0001.heap fájlba (Kilépés)

A 0000.heap végződés hozzá lesz adva az eredményül kapott fájlhoz. Ha be van kapcsolva
ezt a fájlt a pprof segédprogramba, és adja meg a "--text" jelzőt, akkor megjeleníti a táblázatot
funkciókat és mindegyik memóriafelhasználási szintjét. Az oszlopok ugyanazt jelentik
ugyanaz, mint a normál profilalkotásnál, azzal az eltéréssel, hogy ahelyett
a csekkek számát és százalékos arányát, most a táblázat tartalmazza a számokat
a felhasznált memória és a teljes memóriafogyasztás százalékos aránya.

Szükség esetén ezek az információk grafikus formában is beszerezhetők, valamint
zúzás mértékegységeinek megváltoztatása. A könyvtár testreszabható többféle
környezeti változók, amelyek közül a leghasznosabb a HEAP_PROFILE_MMAP.
Lehetővé teszi a profilalkotást az mmap rendszerhíváshoz (alapértelmezett GPT
csak a malloc, calloc, realloc és az új hívások statisztikáit gyűjti).

Néhány szó Valgrindról

A cikk utolsó részében röviden megnézzük, hogyan kell használni
eszköz Valgrind az alkalmazás profilalkotásához. Valgrind nagyon erős
memória hibakereső, amely képes olyan memóriahibákat találni, amelyek
más közszolgáltatók nem is sejtik. Neki van moduláris architektúra, amivel
idővel lehetővé tette, hogy több olyan beépülő modult szerezzen be, amelyek nem kapcsolódnak egymáshoz
egyenesen a hibakereséshez. Három ilyen plugin létezik:

  1. Cachegrind - lehetővé teszi statisztikák gyűjtését a találati adatokról és
    program utasításokat a processzor első és második szintjének gyorsítótárába (erőteljes és
    egy összetett eszköz, amely hasznos a profilalkotás során
    alacsony szintű kód).
  2. A Massif egy kupacprofilozó, amely funkcionalitásában hasonló a GPT csomagból származó analógjához.
  3. A Callgrind olyan profilkészítő, mint a gprof és a GPT.

Alapértelmezés szerint a Valgrind a memcheck-et használja fő beépülő modulként.
(memóriahibakereső), tehát profilalkotási módban való futtatásához szükség van rá
manuálisan adja meg a kívánt bővítményt. Például:

$ valgrind --tool=callgrind ./program

Ezt követően létrejön egy fájl az aktuális könyvtárban a névvel
callgrind.out.PID program, amely a segédprogrammal elemezhető
callgrind_annotate vagy a kcachegrind grafikus program (telepítve
külön). Nem írom le az ezen programok által generált adatok formátumát.
(jól szerepel az azonos nevű man oldalakon), csak ennyit mondok
A callgrind_annotate legjobban a "--auto" jelzővel futtatható, hogy képes legyen
önállóan keresse meg a program forrásfájljait.

A memóriafelhasználás elemzéséhez a Valgrind programot a "--tool=massif" argumentummal kell futtatni.
Ezt követően az aktuális könyvtárban megjelenik a massif.out.PID programfájl, amely
elemezni lehet az ms_print segédprogrammal. Ellentétben pproffal, ő
nem csak szabványos táblázat formájában tudja megjeleníteni az adatokat, hanem generálni is
gyönyörű ascii-art grafika.

következtetéseket

Az olyan eszközök, mint a gprof, gcov és GPT, lehetővé teszik a munka elemzését
alkalmazást, és azonosítsa annak összes szűk keresztmetszetét egy külön processzorig
utasításokat, és a Valgrind profilalkotási folyamathoz való csatlakoztatásával elérheti
elképesztő eredményeket.

INFO

Alapértelmezés szerint a gprof nem jeleníti meg a funkciók profilinformációit.
libc könyvtárak, de a helyzet korrigálható a libc6-prof csomag telepítésével és
a tesztelhető összeállítása a libc_p könyvtárral: "export LD_FLAGS="-lc_p"".

A GPT profilozót nem csak egy környezeti változó segítségével aktiválhatja
CPUPROFILE, hanem a tesztelt kódszakasz bekeretezése is a ProfilerStart() függvényekkel
és ProfilerStop(), amelyek a google/profiler.h fájlban vannak deklarálva.

FIGYELEM

A biztonsági követelmények miatt a GPT nem fog működni a következővel rendelkező alkalmazásokhoz
a SUID bitkészlettel.