Súbežnosti kontroly

Link: http://www-cs.ccny.cuny.edu/~akira/javaesr.desc.html

Riadenie súbežnosti (CC) algoritmy podpora sériovosť (SR) transakcií. Žiadosti týkajúce sa podpory fakturácia, maloobchod, a rozhodnutie zdieľajú spoločný problém zníženia výkonu, často spôsobené interferenciou medzi dlhé ťahanie otázok transakcií a aktualizácie transakcií. Najmä nedávne databázové aplikácie postavené na prostredí internetu našli prísny SR príliš obmedzujúce. Vážnym problémom výkon môže nastať, ak tieto aplikácie vyvinuté na vrchole Java / JDBC a Servlet rozhranie značne spoliehajú na použitie kontroly závitu Java pre ich paralelné spracovanie. Ovládanie vlákno Java je zachovanie synchronizácia body, nie dosiahnuť sofistikované riadenie súbežnosti. Epsilon sériovosť (ESR) je zavedený, aby preskúmala možné riešenie tohto problému.

Význam Epsilon sériovosť: Koncept ESR sa navrhuje zmierniť SR obmedzenia tým, že si históriu transakcií mať nejaký ohraničený nesúlad. Najmä, obmedzené množstvo rozpor možno vidieť len na čítanie transakcií. Špecifikácie tejto tolerancie chýb sa nazýva špecifikácia epsilon (epspec). To môže byť definované ako miera vzdialenosti v štátnom databázy priestore. Jednoduchým príkladom je bežný účet suma-up dotaz — bankový manažér chce vedieť, koľko miliónov dolárov má zákazník vo všetkých kontrolných účtoch v chýb toleranciou rýchlosťou pol milióna (tj epspec = $ 0,5 M) , Kolo-off chyba dotazu je pol milióna dolárov. Tento dotaz vracia zmysluplný výsledok aj v prípade, že by mohla obsahovať chyby, kvôli non-serializovatelný konflikty s niektorými aktualizáciami, až pol milióna dolárov. Meraním štátnej vzdialeností pre non-serializovatelný operácií skôr núti prísny serializáciu, tento dotaz suma-up výrazne rýchlejší končí. Ovládanie Divergencia (DC) algoritmy boli navrhnuté tak, aby viazaný množstvo nekonzistencie pre ESR rovnaký riadiaci metódu súčasného udržuje SR. V skutočnosti, DC algoritmy rozšíriť klasické CC algoritmov, ako dvojfázového zamykanie, optimistické overovanie a časové značky.

Java sériovosť: Java závit umožňuje programátorovi písať kód, ktorý vykonávajú súbežne. Viac vlákien zvyčajne zdieľajú objekty, a preto sa objekty musia používať synchronizácia mechanizmy koordinácie vlákno prístup k týmto objektom. Súbežnosti kontroly pre skupinu aktívnych vlákien je založený na tomto synchronizáciu — len jedno vlákno sa nechá bežať súčasne na objekte a všetkých konkurenčných závity pre prístup k objektu sú vo fronte. Synchronizácia vlákno Java používa monitor, primitívne, ktorý implementuje vzájomného vylúčenia zámok, kde zámok granularity je objekt. Prevencia uviaznutia je zodpovednosťou programátor ako monitor nepodporuje žiadne uznesenie zablokovanie. V typickom prostredí závitom, dátové členmi objektu kolekcie, povedzme objekt majúci pole niektorých objektov ako dátové členmi, sú súčasne čítať a zapisovať. Naivný prístup k udržaniu konzistentné zmenu stavu tohto objektu je použitie jazyka Java primitívne, nazvaný synchronizované metódy, ktoré budú sequentialize operácií čítania a zápisu. To by sa však výnos vysoko nad hlavou, ak aplikácia postavená na objekte kolekcie číta hlavne dátových prvkov. Pamätajte, že viac ako jedna operácia čítania nemôžu existovať ani operácie čítania nemení stav objektu. Je lepšie, keď niekoľko operácií čítania neruší; to je ešte lepšie, keby zámok je jemnejšia granule, to znamená, že každý dátový prvok v poli je zvolená pre zámkovej jednotky namiesto objektu kolekcie (ktoré majú také informácie prvky) ako celku. Toto pozorovanie nás motivuje, aby preskúmala rámec ESR, najmä v rámci situácie, že aplikácia je tolerovaná s obmedzeným rozporuplnosť pre rýchlejšie spracovanie.

Význam projektu: Tento projekt si kladie za cieľ realizovať alternatívu k metóde synchronizácie Java je. Koncept ESR je aplikovaná na realizovať Java divergenciu Control. Divergencia Control založený na dvoch fáz-zamykanie bol implementovaný a jeho správnosť bola overená v roku 2000, ako bolo naplánované v pôvodnom návrhu. V ďalšej fáze je uvedomiť si, optimistický kontrolu divergencia (ODC) pre synchronizáciu vlákien Java je. Tým, optimistický, máme na mysli, že kontrola deliteľný zámku (čítanie), bude odložené, kým sa stav objektu dostane zmenený operáciu zápisu. Každé vlákno, ktoré čítal objekt sa preruší a znova spustiť, aby bol zaručený sériovosť, ak jeden z vodičov píše, že objekt. Zablokovanie nikdy nedôjde v tomto prípade. Optimistické súbežnosť, na rozdiel od dvojfázové zamykanie (ako je v jazyku Java implementácia monitora), bolo navrhnuté v roku 1980 v súvislosti so spracovávaním databázy. Niektoré simulačné štúdie ukázali, že v rámci čítať intenzívnom prostredí, optimistický spôsob prekonáva ostatné spôsoby ovládania súbežnosti. Dôležitosť použitie ESR založenú optimistickú spôsobom môže zvýšiť, keď sa aplikácia získava výkon výhodu v prítomnosti obmedzeného množstva nesúladu. Mnoho čítanie náročné aplikácie postavené na vrchole internete by mohla mať prospech z tohto prístupu. Preto je cieľom projektu je ukázať potenciálne výhodu použitia divergencia Control for Java závit prostredia. To je jeden z prvých kusov práce, ktoré preskúmava rozšírenie kontroly navlečte Java. Výsledky tejto štúdie budú poskytovať mnoho užitočné pokyny, ako sú technické riešenia a porovnávacích metrík pre projektovanie nový kontrolný vlákno mechanizmus.

Comments are closed.