Porovnání Komprimaˇcních Program ˚U Na Textových Korpusech

Total Page:16

File Type:pdf, Size:1020Kb

Porovnání Komprimaˇcních Program ˚U Na Textových Korpusech MASARYKOVA UNIVERZITA FAKULTA}w¡¢£¤¥¦§¨ INFORMATIKY !"#$%&'()+,-./012345<yA| Porovnání komprimaˇcních program ˚una textových korpusech BAKALÁRSKÁˇ PRÁCE Jakub Foltas Brno, 2014 Prohlášení Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vypracoval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování používal nebo z nich ˇcerpal, v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušnýzdroj. Jakub Foltas Vedoucí práce: RNDr. Miloš Jakubíˇcek ii Podˇekování Chtˇelbych podˇekovatvedoucímu mé bakaláˇrské práce RNDr. Mi- loši Jakubíˇckoviza odborné vedení, cenné rady a trpˇelivost,kterou se mnou mˇel.Také bych rád podˇekovalsvé rodinˇea pˇrátel˚umza podporu, kterou mi v dobˇepsaní bakaláˇrsképráce poskytovali. iii Shrnutí Bakaláˇrskápráce se zabývá porovnáním volnˇedostupných bezeztrá- tových komprimaˇcníchprogram ˚una textových korpusech. Hlavním cílem výzkumu bylo najít vhodný komprimaˇcníprogram, který by nahradil souˇcasnˇepoužívaný program XZ v Laboratoˇripro zpraco- vání pˇrirozeného jazyka pˇriMasarykovˇeuniverzitˇe. Testování na dvou odlišných textových korpusech se podrobilo celkem dvacet volnˇedostupných komprimaˇcníchprogram ˚u.Primár- ním kritériem porovnání byla urˇcenavelikost komprimace. Dále byla porovnávána doba bˇehuprogramu a programové vytížení pamˇeti. Dalším pˇredmˇetemzkoumání byly úˇcinkypˇredzpracováníkorpus ˚u pˇredsamotnou komprimací testovanými programy. Tˇriprogramy dokázaly korektnˇezkomprimovat oba zadané kor- pusy a významnˇepˇredˇcilysouˇcasnˇepoužívaný program XZ. Nejlep- ších výsledk ˚udosáhly programy 7-Zip a NanoZip, které pˇrekonaly program XZ ve velikosti komprimace i spotˇrebovanémˇcase.Experi- menty s pˇredzpracovánímkorpus ˚uneprokázaly efektivitu. iv Klíˇcováslova komprimace, komprese, textový korpus, kompresní pomˇer, UNIX, Linux, komprimaˇcníprogram, komprimaˇcníalgoritmus, slovníková komprimace, LZMA, PPM, BWT, CM, XZ, Zip, 7-Zip, Gzip, Bzip2, NanoZip, DURILCA, paq9a v Obsah 1 Komprimace dat .........................5 1.1 Ztrátová a bezeztrátová komprimace ...........5 1.2 Kódování ...........................5 1.2.1 Shannon–Fanovo kódování............6 1.2.2 Huffmanovo kódování...............7 1.2.3 Numerické kódy..................8 Golombovy a Riceovy kódy...........8 Kódy s extra bity..................9 1.2.4 Aritmetické kódování...............9 1.3 Modelování ......................... 10 1.3.1 Model s pevným uspoˇrádáním.......... 12 Model pˇríméhokontextu............. 12 Model nepˇríméhokontextu............ 12 1.3.2 Model s variabilním uspoˇrádáním........ 12 Pˇredpovˇed’ podle ˇcásteˇcnéshody (PPM).... 13 Dynamické Markovovo kódování (DMC)... 13 Vážení kontextového stromu (CTW)...... 14 1.3.3 Míchání kontext ˚u(CM).............. 14 1.4 Transformace ........................ 14 1.4.1 Kódování dlouhých bˇeh˚u(RLE)......... 15 1.4.2 Slovníkový pˇrístup................. 15 LZ77......................... 16 Deflate........................ 16 LZSS......................... 17 ROLZ........................ 17 LZP......................... 17 LZMA........................ 17 LZ78......................... 18 LZW......................... 18 1.4.3 Posun dopˇredu(MTF)............... 18 1.4.4 Burrows–Wheelerova transformace (BWT)... 19 2 Metodika porovnávání ...................... 20 2.1 Základní testování program ˚u ............... 20 2.1.1 Formát získaných dat............... 21 2.2 Pokroˇcilétestování program ˚u ............... 23 1 2.3 Komprimovaná data .................... 24 2.3.1 DESAM....................... 24 2.3.2 Czes2......................... 25 2.4 Použitý Hardware ...................... 25 3 Testované programy ....................... 26 3.1 BBB .............................. 26 3.2 BZip2 ............................. 27 3.3 comprolz ........................... 28 3.4 comprox ........................... 28 3.5 crook ............................. 29 3.6 ctw .............................. 30 3.7 DURILCA .......................... 31 3.8 fpaq3d ............................ 32 3.9 Gzip .............................. 33 3.10 lpaq .............................. 34 3.11 lrzip .............................. 34 3.12 Lzip .............................. 35 3.13 LZPXj ............................. 36 3.14 NanoZip ........................... 36 3.15 Ocamyd ........................... 38 3.16 paq9a ............................. 39 3.17 TinyCM ............................ 40 3.18 XZ ............................... 41 3.19 Zip .............................. 42 3.20 7-Zip ............................. 43 4 Výsledky .............................. 45 4.1 Základní testování program ˚una korpusu DESAM ... 45 4.2 Základní testování program ˚una korpusu Czes2 .... 47 4.3 Pokroˇcilétestování program ˚u ............... 48 4.3.1 Komprimace po ˇcástech.............. 48 4.3.2 Komprimace po ˇcástechse slovníkem...... 50 Varianta I...................... 50 Varianta II...................... 51 Varianta III..................... 52 5 Závˇer ................................ 53 A Obsah CD ............................. 59 2 Úvod Komprimace (též komprese) dat se používá pro zmenšení poˇctubit ˚u, reprezentujících datový objekt. V podstatˇese komprimaˇcníalgorit- my snaží o vytvoˇreníkompaktnˇejšíverze zakódovaných dat, což se využívá zejména pˇriarchivaci nebo pˇrenosudat. Na základˇevýsled- ných dat rozlišujeme dva základní typy komprimace, komprimaci ztrátovou a bezeztrátovou. Ztrátová komprimace bývá typicky ve- lice úsporná, co se týˇcevelikosti zkomprimovaných dat, ovšem pˇri komprimaci jsou nˇekterádata nenávratnˇeodstranˇena.Ztrátová kom- primace se obvykle hodí pro data reprezentující hudbu nebo video. Oproti tomu komprimace bezeztrátová vytvoˇrí datový soubor, ze kterého m ˚užemeopˇetzrekonstruovat p ˚uvodnídata. Proto je beze- ztrátová komprimace ménˇeúˇcinná,ale má velké použití všude, kde by ztráta informace mohla znamenat poškození celého souboru [1]. Bakaláˇrskápráce se zabývá komprimací textových korpus ˚u.Jazy- kové korpusy jsou rozsáhlé soubory text ˚u,které bývají oznaˇckovány pomocí jazyka XML nebo staršího SGML. Metajazykové znaˇckypo- užité v textu popisují r ˚uznévlastnosti textu. Uvádˇejínapˇríkladau- tora, rok vydání, nakladatelství apod. U každého slova navíc ur- ˇcujíjeho slovní druh a další lingvistické a statisticky zajímavé in- formace. Jazykové korpusy jsou typicky uložené ve formˇevertikál- ního textu. Bakaláˇrskápráce je zamˇeˇrenana korpusy formátované do sloupc ˚uoddˇelenýchtabulátorem, pˇriˇcemžv prvním sloupci na- jdeme samotný text a v dalších sloupcích jsou obsaženy metajazy- kové znaˇcky. Zadavatelem bakaláˇrsképráce je Laboratoˇrpro zpracování pˇri- rozeného jazyka pˇriMasarykovˇeuniverzitˇe.V souˇcasnostiveškerá práce probíhá na strojích s operaˇcnímisystémy UNIX. Pro archivaci textových korpus ˚use nyní používá volnˇedostupný komprimaˇcní program XZ. Cílem této bakaláˇrsképráce je porovnat dostupné kom- primaˇcníprogramy na vzorku textového korpusu a najít takový, kte- rý pˇredˇcísouˇcasnˇevyužívaný program XZ. Testované komprimaˇcní programy musí fungovat na strojích s operaˇcnímsystémem typu UNIX a být volnˇešiˇritelné.Zejména p ˚ujdeo programy bezeztrátové, nebot’ ztráta dat je v tomto pˇrípadˇenežádoucí. Testované algoritmy jsou porovnávány podle tˇrí kritérií. Primárním cílem je zmenšení 3 objemu dat, proto prvním kritériem porovnávání je tzv. kompresní pomˇer. Kompresní pomˇerudává pomˇervelikosti výstupních dat ku velikosti vstupních dat [2]. Další použitá kritéria porovnání testova- ných algoritm ˚ujsou ˇcaspotˇrebnýpro vykonání komprimace a nako- nec vytížení pamˇetistroje po dobu bˇehukomprimace. Pro dosažení objektivního porovnání testovaných algoritm ˚ubyl použit shellový skript operaˇcníhosystému UNIX, který má za úkol spustit na testovacím korpusu daný algoritmus a po jeho dokonˇcení vypsat výsledná kritéria porovnávání. Ještˇepˇredukonˇcenímskript své výsledky zapíše do výstupního souboru, ze kterého je ˇcerpáno pˇrisestavování tabulek efektivity testovaných program ˚u.Pro zjiš- tˇení,zda se komprimaˇcníprogramy chovají r ˚uznˇena vˇetšímpoˇctu menších soubor ˚ua menším poˇctuvˇetšíchsoubor ˚u,byl vytvoˇrendal- ší skript, který slouží k rozdˇelenítextového korpusu. Na rozdˇele- ném korpusu byla provedena testování komprimaˇcníchprogram ˚u. Na závˇerdošlo i k testování program ˚una rozdˇelenýchkorpusech pˇredzpracovanýchpomocí slovníkového algoritmu. Ze všech dvaceti testovaných program ˚udokázaly tˇritestované programy korektnˇezkomprimovat dva testované korpusy a záro- veˇnvýznamnˇepˇredˇcitsouˇcasnˇepoužívaný program XZ. Zatímco program paq9a dosáhl nejlepšího výsledku z hlediska výsledné ve- likosti, ale horšího ˇcasu.Programy 7-Zip a NanoZip se v testu je- vily nˇekolikanásobnˇerychlejší a zároveˇntaké docílily lepšího kom- presního pomˇeru. Experimenty s dˇeleníma následným pˇredzpraco- váním textového korpusu neprokázaly efektivitu ani z hlediska vý- sledné komprimace, ani délky bˇehuprogramu. 4 1 Komprimace dat Komprimace (též komprese) dat se používá pro zmenšení poˇctubit ˚u reprezentujících datový objekt. To obvykle zahrnuje problém najít a odstranit redundantní data z p ˚uvodního souboru. V podstatˇese komprimaˇcníprogramy snaží o vytvoˇreníkompaktnˇejšíverze zakó- dovaných dat, což se používá zejména pˇriarchivaci nebo pˇrenosu dat. Opakem komprimace dat je datová dekomprimace, pˇrikteré se zakódovaná data dekódují do výsledné podoby. Na základˇevýsled- ných dat rozlišujeme dva základní typy komprimace, komprimaci ztrátovou a bezeztrátovou. [2] 1.1 Ztrátová a bezeztrátová komprimace Ztrátová
Recommended publications
  • ROOT I/O Compression Improvements for HEP Analysis
    EPJ Web of Conferences 245, 02017 (2020) https://doi.org/10.1051/epjconf/202024502017 CHEP 2019 ROOT I/O compression improvements for HEP analysis Oksana Shadura1;∗ Brian Paul Bockelman2;∗∗ Philippe Canal3;∗∗∗ Danilo Piparo4;∗∗∗∗ and Zhe Zhang1;y 1University of Nebraska-Lincoln, 1400 R St, Lincoln, NE 68588, United States 2Morgridge Institute for Research, 330 N Orchard St, Madison, WI 53715, United States 3Fermilab, Kirk Road and Pine St, Batavia, IL 60510, United States 4CERN, Meyrin 1211, Geneve, Switzerland Abstract. We overview recent changes in the ROOT I/O system, enhancing it by improving its performance and interaction with other data analysis ecosys- tems. Both the newly introduced compression algorithms, the much faster bulk I/O data path, and a few additional techniques have the potential to significantly improve experiment’s software performance. The need for efficient lossless data compression has grown significantly as the amount of HEP data collected, transmitted, and stored has dramatically in- creased over the last couple of years. While compression reduces storage space and, potentially, I/O bandwidth usage, it should not be applied blindly, because there are significant trade-offs between the increased CPU cost for reading and writing files and the reduces storage space. 1 Introduction In the past years, Large Hadron Collider (LHC) experiments are managing about an exabyte of storage for analysis purposes, approximately half of which is stored on tape storages for archival purposes, and half is used for traditional disk storage. Meanwhile for High Lumi- nosity Large Hadron Collider (HL-LHC) storage requirements per year are expected to be increased by a factor of 10 [1].
    [Show full text]
  • Arxiv:2004.10531V1 [Cs.OH] 8 Apr 2020
    ROOT I/O compression improvements for HEP analysis Oksana Shadura1;∗ Brian Paul Bockelman2;∗∗ Philippe Canal3;∗∗∗ Danilo Piparo4;∗∗∗∗ and Zhe Zhang1;y 1University of Nebraska-Lincoln, 1400 R St, Lincoln, NE 68588, United States 2Morgridge Institute for Research, 330 N Orchard St, Madison, WI 53715, United States 3Fermilab, Kirk Road and Pine St, Batavia, IL 60510, United States 4CERN, Meyrin 1211, Geneve, Switzerland Abstract. We overview recent changes in the ROOT I/O system, increasing per- formance and enhancing it and improving its interaction with other data analy- sis ecosystems. Both the newly introduced compression algorithms, the much faster bulk I/O data path, and a few additional techniques have the potential to significantly to improve experiment’s software performance. The need for efficient lossless data compression has grown significantly as the amount of HEP data collected, transmitted, and stored has dramatically in- creased during the LHC era. While compression reduces storage space and, potentially, I/O bandwidth usage, it should not be applied blindly: there are sig- nificant trade-offs between the increased CPU cost for reading and writing files and the reduce storage space. 1 Introduction In the past years LHC experiments are commissioned and now manages about an exabyte of storage for analysis purposes, approximately half of which is used for archival purposes, and half is used for traditional disk storage. Meanwhile for HL-LHC storage requirements per year are expected to be increased by factor 10 [1]. arXiv:2004.10531v1 [cs.OH] 8 Apr 2020 Looking at these predictions, we would like to state that storage will remain one of the major cost drivers and at the same time the bottlenecks for HEP computing.
    [Show full text]
  • Building and Installing Xen 4.X and Linux Kernel 3.X on Ubuntu and Debian Linux
    Building and Installing Xen 4.x and Linux Kernel 3.x on Ubuntu and Debian Linux Version 2.3 Author: Teo En Ming (Zhang Enming) Website #1: http://www.teo-en-ming.com Website #2: http://www.zhang-enming.com Email #1: [email protected] Email #2: [email protected] Email #3: [email protected] Mobile Phone(s): +65-8369-2618 / +65-9117-5902 / +65-9465-2119 Country: Singapore Date: 10 August 2013 Saturday 4:56 A.M. Singapore Time 1 Installing Prerequisite Software sudo apt-get install ocaml-findlib sudo apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml libx11-dev bison flex sudo apt-get install gcc-multilib sudo apt-get install xz-utils libyajl-dev gettext sudo apt-get install git-core kernel-package fakeroot build-essential libncurses5-dev 2 Linux Kernel 3.x with Xen Virtualization Support (Dom0 and DomU) In this installation document, we will build/compile Xen 4.1.3-rc1-pre and Linux kernel 3.3.0-rc7 from sources. sudo apt-get install aria2 aria2c -x 5 http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.3-rc7.tar.bz2 tar xfvj linux-3.3-rc7.tar.bz2 cd linux-3.3-rc7 Page 1 of 25 (C) 2013 Teo En Ming (Zhang Enming) 3 Configuring the Linux kernel cp /boot/config-3.0.0-12-generic .config make oldconfig Accept the defaults for new kernel configuration options by pressing enter.
    [Show full text]
  • Table of Contents Modules and Packages
    Table of Contents Modules and Packages...........................................................................................1 Software on NAS Systems..................................................................................................1 Using Software Packages in pkgsrc...................................................................................4 Using Software Modules....................................................................................................7 Modules and Packages Software on NAS Systems UPDATE IN PROGRESS: Starting with version 2.17, SGI MPT is officially known as HPE MPT. Use the command module load mpi-hpe/mpt to get the recommended version of MPT library on NAS systems. This article is being updated to reflect this change. Software programs on NAS systems are managed as modules or packages. Available programs are listed in tables below. Note: The name of a software module or package may contain additional information, such as the vendor name, version number, or what compiler/library is used to build the software. For example: • comp-intel/2016.2.181 - Intel Compiler version 2016.2.181 • mpi-sgi/mpt.2.15r20 - SGI MPI library version 2.15r20 • netcdf/4.4.1.1_mpt - NetCDF version 4.4.1.1, built with SGI MPT Modules Use the module avail command to see all available software modules. Run module whatis to view a short description of every module. For more information about a specific module, run module help modulename. See Using Software Modules for more information. Available Modules (as
    [Show full text]
  • Important Notice Regarding Software
    Important Notice Regarding Software The software package installed in this product includes software licensed to Onkyo & Pioneer Corporation (hereinafter, called “O&P Corporation”) directly or indirectly by third party developers. Please be sure to read this notice regarding such software. Notice Regarding GNU GPL/LGPL-applicable Software This product includes the following software that is covered by GNU General Public License (hereinafter, called "GPL") or by GNU Lesser General Public License (hereinafter, called "LGPL"). O&P Corporation notifies you that, according to the attached GPL/LGPL, you have right to obtain, modify, and redistribute software source code for the listed software. ソフトウェアに関する重要なお知らせ 本製品に搭載されるソフトウェアには、オンキヨー & パイオニア株式会社(以下「弊社」とします)が 第三者より直接的に又は間接的に使用の許諾を受けたソフトウェアが含まれております。これらのソフト ウェアに関する本お知らせを必ずご一読くださいますようお願い申し上げます。 GNU GPL / LGPL 適用ソフトウェアに関するお知らせ 本製品には、以下の GNU General Public License(以下「GPL」とします)または GNU Lesser General Public License(以下「LGPL」とします)の適用を受けるソフトウェアが含まれております。 お客様は添付の GPL/LGPL に従いこれらのソフトウェアソースコードの入手、改変、再配布の権利があ ることをお知らせいたします。 Package List パッケージリスト alsa-conf-base glibc-gconv alsa-conf glibc-gconv-utf-16 alsa-lib glib-networking alsa-utils-alsactl gstreamer1.0-libav alsa-utils-alsamixer gstreamer1.0-plugins-bad-aiff alsa-utils-amixer gstreamer1.0-plugins-bad-bluez alsa-utils-aplay gstreamer1.0-plugins-bad-faac avahi-autoipd gstreamer1.0-plugins-bad-mms base-files gstreamer1.0-plugins-bad-mpegtsdemux base-passwd gstreamer1.0-plugins-bad-mpg123 bluez5 gstreamer1.0-plugins-bad-opus busybox gstreamer1.0-plugins-bad-rawparse
    [Show full text]
  • UG1144 (V2020.1) July 24, 2020 Revision History
    See all versions of this document PetaLinux Tools Documentation Reference Guide UG1144 (v2020.1) July 24, 2020 Revision History Revision History The following table shows the revision history for this document. Section Revision Summary 07/24/2020 Version 2020.1 Appendix H: Partitioning and Formatting an SD Card Added a new appendix. 06/03/2020 Version 2020.1 Chapter 2: Setting Up Your Environment Added the Installing a Preferred eSDK as part of the PetaLinux Tool section. Chapter 4: Configuring and Building Added the PetaLinux Commands with Equivalent devtool Commands section. Chapter 6: Upgrading the Workspace Added new sections: petalinux-upgrade Options, Upgrading Between Minor Releases (2020.1 Tool with 2020.2 Tool) , Upgrading the Installed Tool with More Platforms, and Upgrading the Installed Tool with your Customized Platform. Chapter 7: Customizing the Project Added new sections: Creating Partitioned Images Using Wic and Configuring SD Card ext File System Boot. Chapter 8: Customizing the Root File System Added the Appending Root File System Packages section. Chapter 10: Advanced Configurations Updated PetaLinux Menuconfig System. Chapter 11: Yocto Features Added the Adding Extra Users to the PetaLinux System section. Appendix A: Migration Added Tool/Project Directory Structure. UG1144 (v2020.1) July 24, 2020Send Feedback www.xilinx.com PetaLinux Tools Documentation Reference Guide 2 Table of Contents Revision History...............................................................................................................2
    [Show full text]
  • OSS Disclosure Document OSS Licenses Used in RN AIVI 1
    OSS Disclosure Document Date: 08-10-2017 OSS Licenses used in RN_AIVI CM-CI1/PJ-CB Page 1 Project 1 Overview .................................................. 12 2 OSS Licenses used in the project .......................... 13 3 Package details for OSS Licenses usage .................... 14 AES - Advanced Encryption Standard – 1.0 ..................... 14 Alsa Libraries - 1.0.29 ...................................... 14 Alsa Plugins - 1.0.29 ........................................ 14 Alsa Utils - 1.0.29 .......................................... 14 APMD - 3.2.2 ................................................. 15 ATK - 2.8.0 .................................................. 15 Attr - 2.4.47 ................................................ 15 Audio File Library - 0.2.7 ................................... 15 Avahi - 0.6.31 ............................................... 15 Bash - 3.2.48 .............................................. 15 BidiReferenceCpp - 26 ...................................... 15 Bison - 2.5.2., 3.0.2, 3.0.4 ............................... 16 Blktrace - 1.0.5 ........................................... 16 BlueZ - 4.101, 5.33 ........................................ 16 BPSTL ...................................................... 16 Btrfs-progs – 4.1.2 ........................................ 16 Busybox - 1.23.2 ........................................... 16 Bzip2 - 1.0.6 .............................................. 16 Cairo Vector Graphics Library - 1.12.14, 1.12.16, 1.14.2 ... 17 Cairo-Pixman - 0.30.2,0.32.6 ..............................
    [Show full text]
  • Improving Compression-Ratio in Backup
    Institutionen för systemteknik Department of Electrical Engineering Examensarbete Improving compression ratio in backup Examensarbete utfört i Informationskodning/Bildkodning av Mattias Zeidlitz Författare Mattias Zeidlitz LITH-ISY-EX--12/4588--SE Linköping 2012 TEKNISKA HÖGSKOLAN LINKÖPINGS UNIVERSITET Department of Electrical Engineering Linköpings tekniska högskola Linköping University Institutionen för systemteknik S-581 83 Linköping, Sweden 581 83 Linköping Improving compression-ratio in backup ............................................................................ Examensarbete utfört i Informationskodning/Bildkodning vid Linköpings tekniska högskola av Mattias Zeidlitz ............................................................. LITH-ISY-EX--12/4588--SE Presentationsdatum Institution och avdelning 2012-06-13 Institutionen för systemteknik Publiceringsdatum (elektronisk version) Department of Electrical Engineering Datum då du ämnar publicera exjobbet Språk Typ av publikation ISBN (licentiatavhandling) Svenska Licentiatavhandling ISRN LITH-ISY-EX--12/4588--SE x Annat (ange nedan) x Examensarbete Serietitel (licentiatavhandling) C-uppsats D-uppsats Engelska Rapport Serienummer/ISSN (licentiatavhandling) Antal sidor Annat (ange nedan) 58 URL för elektronisk version http://www.ep.liu.se Publikationens titel Improving compression ratio in backup Författare Mattias Zeidlitz Sammanfattning Denna rapport beskriver ett examensarbete genomfört på Degoo Backup AB i Stockholm under våren 2012. Syftet var att designa en kompressionssvit
    [Show full text]
  • An Optimal Real-Time Controller for Vertical Plasma Stabilization N
    1 An optimal real-time controller for vertical plasma stabilization N. Cruz, J.-M. Moret, S. Coda, B.P. Duval, H.B. Le, A.P. Rodrigues, C.A.F. Varandas, C.M.B.A. Correia and B. Gonc¸alves Abstract—Modern Tokamaks have evolved from the initial ax- presents important advantages since it allows the creation isymmetric circular plasma shape to an elongated axisymmetric of divertor plasmas, the increase of the plasma current and plasma shape that improves the energy confinement time and the density limit as well as providing plasma stability. However, triple product, which is a generally used figure of merit for the conditions needed for fusion reactor performance. However, the an elongated plasma is unstable due to the forces that pull elongated plasma cross section introduces a vertical instability the plasma column upward or downward. The result of these that demands a real-time feedback control loop to stabilize forces is a plasma configuration that tends to be pushed up or the plasma vertical position and velocity. At the Tokamak down depending on the initial displacement disturbance. For Configuration Variable (TCV) in-vessel poloidal field coils driven example, a small displacement downwards results in the lower by fast switching power supplies are used to stabilize highly elongated plasmas. TCV plasma experiments have used a PID poloidal field coils pulling the plasma down, with increased algorithm based controller to correct the plasma vertical position. strength as the plasma gets further from the equilibrium posi- In late 2013 experiments a new optimal real-time controller was tion. To compensate this instability, feedback controllers have tested improving the stability of the plasma.
    [Show full text]
  • Aligning Intent and Behavior in Software Systems: How Programs Communicate & Their Distribution and Organization
    © 2020 William B. Dietz ALIGNING INTENT AND BEHAVIOR IN SOFTWARE SYSTEMS: HOW PROGRAMS COMMUNICATE & THEIR DISTRIBUTION AND ORGANIZATION BY WILLIAM B. DIETZ DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate College of the University of Illinois at Urbana-Champaign, 2020 Urbana, Illinois Doctoral Committee: Professor Vikram Adve, Chair Professor John Regehr, University of Utah Professor Tao Xie Assistant Professor Sasa Misailovic ABSTRACT Managing the overwhelming complexity of software is a fundamental challenge because complex- ity is the root cause of problems regarding software performance, size, and security. Complexity is what makes software hard to understand, and our ability to understand software in whole or in part is essential to being able to address these problems effectively. Attacking this overwhelming complexity is the fundamental challenge I seek to address by simplifying how we write, organize and think about programs. Within this dissertation I present a system of tools and a set of solutions for improving the nature of software by focusing on programmer’s desired outcome, i.e. their intent. At the program level, the conventional focus, it is impossible to identify complexity that, at the system level, is unnecessary. This “accidental complexity” includes everything from unused features to independent implementations of common algorithmic tasks. Software techniques driving innovation simultaneously increase the distance between what is intended by humans – developers, designers, and especially the users – and what the executing code does in practice. By preserving the declarative intent of the programmer, which is lost in the traditional process of compiling and linking and building software, it is easier to abstract away unnecessary details.
    [Show full text]
  • Volume 5: DAF Variable Detail Pages
    Anc hor Volume 5: DAF Variable Detail Pages August 2020 Submitted to: Social Security Administration Office of Retirement and Disability Policy Office of Research, Demonstration, and Employment Support Washington, DC 20024-2796 Project Officers: Paul O’Leary and Debra Tidwell-Peters Contract Number: SS00-16-60003 Submitted by: Mathematica 1100 1st Street, NE 12th Floor Washington, DC 20002-4221 Telephone: (202) 484-9220 Facsimile: (202) 863-1763 Project Director: Jody Schimmel Hyde Reference Number: 50214.Y3.T05.530.360 Suggested Citation: “Disability Analysis File 2018 (DAF18) Documentation: Data from January 1994 through December 2018.” Washington, DC: Mathematica, August 2020. This page has been left blank for double-sided copying. MATHEMATICA CONTENTS GLOSSARY .................................................................................................................................................. .v OVERVIEW OF DAF DOCUMENTATION ................................................................................................... .ix QUICK REFERENCE GUIDE ....................................................................................................................... 1 PART A DAF VARIABLE DETAIL PAGES .................................................................................................. 7 PART B RSA VARIABLE DETAIL PAGES .............................................................................................. 635 iii This page has been left blank for double-sided copying. MATHEMATICA GLOSSARY AB Accelerated
    [Show full text]
  • Kafl: Hardware-Assisted Feedback Fuzzing for OS Kernels
    kAFL: Hardware-Assisted Feedback Fuzzing for OS Kernels Sergej Schumilo1, Cornelius Aschermann1, Robert Gawlik1, Sebastian Schinzel2, Thorsten Holz1 1Ruhr-Universität Bochum, 2Münster University of Applied Sciences Motivation IJG jpeg libjpeg-turbo libpng libtiff mozjpeg PHP Mozilla Firefox Internet Explorer PCRE sqlite OpenSSL LibreOffice poppler freetype GnuTLS GnuPG PuTTY ntpd nginx bash tcpdump JavaScriptCore pdfium ffmpeg libmatroska libarchive ImageMagick BIND QEMU lcms Adobe Flash Oracle BerkeleyDB Android libstagefright iOS ImageIO FLAC audio library libsndfile less lesspipe strings file dpkg rcs systemd-resolved libyaml Info-Zip unzip libtasn1OpenBSD pfctl NetBSD bpf man mandocIDA Pro clamav libxml2glibc clang llvmnasm ctags mutt procmail fontconfig pdksh Qt wavpack OpenSSH redis lua-cmsgpack taglib privoxy perl libxmp radare2 SleuthKit fwknop X.Org exifprobe jhead capnproto Xerces-C metacam djvulibre exiv Linux btrfs Knot DNS curl wpa_supplicant Apple Safari libde265 dnsmasq libbpg lame libwmf uudecode MuPDF imlib2 libraw libbson libsass yara W3C tidy- html5 VLC FreeBSD syscons John the Ripper screen tmux mosh UPX indent openjpeg MMIX OpenMPT rxvt dhcpcd Mozilla NSS Nettle mbed TLS Linux netlink Linux ext4 Linux xfs botan expat Adobe Reader libav libical OpenBSD kernel collectd libidn MatrixSSL jasperMaraDNS w3m Xen OpenH232 irssi cmark OpenCV Malheur gstreamer Tor gdk-pixbuf audiofilezstd lz4 stb cJSON libpcre MySQL gnulib openexr libmad ettercap lrzip freetds Asterisk ytnefraptor mpg123 exempi libgmime pev v8 sed awk make
    [Show full text]