High Performance Java for Multi-Core Systems

Total Page:16

File Type:pdf, Size:1020Kb

High Performance Java for Multi-Core Systems High Performance Java for Multi-core Systems Sabela Ramos Garea Department of Electronics and Systems University of A Coru~na,Spain Department of Electronics and Systems University of A Coru~na,Spain PhD Thesis High Performance Java for Multi-core Systems Sabela Ramos Garea June 2013 PhD Advisors: Guillermo L´opez Taboada Juan Touri~noDom´ınguez Dr. Guillermo L´opez Taboada Dr. Juan Touri~noDom´ınguez Profesor Contratado Doutor Catedr´aticode Universidade Dpto. de Electr´onicae Sistemas Dpto. de Electr´onicae Sistemas Universidade da Coru~na Universidade da Coru~na CERTIFICAN Que a memoria titulada \High Performance Java for Multi-core Systems" foi rea- lizada por Dna. Sabela Ramos Garea baixo a nosa direcci´onno Departamento de Electr´onicae Sistemas da Universidade da Coru~nae concl´uea Tese de Doutoramento que presenta para a obtenci´ondo t´ıtulode Doutora pola Universidade da Coru~na coa Menci´onde Doutor Internacional. Na Coru~na,o 25 de Xu~node 2013 Asdo.: Guillermo L´opez Taboada Asdo.: Juan Touri~noDom´ınguez Director da Tese de Doutoramento Director da Tese de Doutoramento Asdo.: Sabela Ramos Garea Autora da Tese de Doutoramento Resumo da Tese de Doutoramento Introducci´on O interese que a comunidade da computaci´onde altas prestaci´ons(High Perfor- mance Computing, HPC) v´endemostrando na linguaxe Java, aumentou considera- blemente nos ´ultimosanos grazas ´amellora experimentada en canto a rendemento e ´ascaracter´ısticasque fan de Java unha linguaxe altamente productiva. Entre elas, cabe destacar a portabilidade e independenza da plataforma, a simplicidade, a ro- bustez, a seguridade, a orientaci´ona obxectos e contar cunha grande comunidade de desarrolladores, tanto no mundo acad´emicocoma no empresarial. Ademais da mellora de rendemento, hai d´uascaracter´ısticascruciais que propiciaron a progre- siva adopci´onde Java na computaci´onde altas prestaci´ons:o soporte para redes de interconexi´one a incorporaci´onde multithreading no n´ucleoda linguaxe. Estas d´uascalidades fan de Java unha linguaxe id´oneapara a programaci´onen contornos paralelos. Dentro dos contornos paralelos actuais, os sistemas de memoria compartida vol- ven a cobrar forza nun escenario que, ata hai pouco, estaba dominado por clusters de sistemas monoprocesador, que permit´ıanconstru´ırcontornos de computaci´onde altas prestaci´onsreducindo os costes. Non obstante, o incremento de rendemento dos procesadores empezou a acadar l´ımitesf´ısicos,o que levou ´aaparici´onde problemas de disipaci´onde calor e de alta ineficiencia enerx´etica.Para superar estes obst´acu- los, os fabricantes de hardware comezaron a centrarse na mellora do rendemento dos procesadores mediante o incremento do n´umerode n´ucleospresentes en cada un deles, o que se co~nece como procesadores multi-core ou multi-n´ucleo.De feito, na actualidade, procesadores de catro ou m´aisn´ucleosson com´unsen ordenadores de v vi uso persoal. O incremento progresivo no n´umerode n´ucleosest´aconducindo tam´en´axerali- zaci´onde procesadores many-core para a computaci´onde ´ambito xeral. E neste eido volve a aparecer o problema do consumo enerx´etico,xa que ter un grande n´umero de n´ucleospor procesador en situaci´onsnas que s´ose precisa unha pequena parte, provoca unha grande ineficiencia enerx´etica.Para solventar este problema, aparecen os aceleradores de uso espec´ıfico,como as tarxetas gr´aficas(Graphics Processing Unit, GPU), arquitecturas many-core que s´ose utilizan para tareas espec´ıficasde procesamento de gr´aficosmentres outro procesador (host) ´eo que se encarga da com- putaci´onxeral. As caracter´ısticasdestes aceleradores e as s´uaselevadas capacidades de c´omputofixeron que fosen adoptadas para a aceleraci´onde c´odigosvectoriais non necesariamente relacionados coa computaci´ongr´afica.Sen embargo, as dificultades de programaci´ondestes aceleradores favoreceron a aparici´onde aceleradores de ar- quitecturas x86 que soportan linguaxes e paradigmas tradicionais de programaci´on, coma o coprocesador Xeon Phi comercializado por Intel. O ´exitodas arquitecturas multi- e many-core indica a necesidade de ferramentas e librer´ıasde programaci´onque exploten o rendemento en memoria compartida, onde Java, co soporte para multithreading, presenta unha grande vantaxe. O principal problema ´eque a API de manexo de threads ´ecomplicada, sendo o usuario o que ten que lidiar coa creaci´on/destrucci´onde threads e, o que ´em´aisimportante, coa posibilidade de aparici´onde race conditions e inconsistencias. Para solventar isto, Java incl´ueunha librer´ıade concorrencia na que se traballa con pools de threads e cun paradigma de programaci´onorientado ´adescomposici´onda carga de traballo en tarefas (que pode ser recursiva utilizando a funcionalidade de fork/join). Este paradigma obliga a que os algoritmos paralelos non orientados a tarefas te~nanque ser reescritos ou utilizar estas ferramentas de maneira non eficiente. Esta Tese presenta unha an´alisedetallada do estado da arte en canto ´asituaci´on de Java para a programaci´onde sistemas de memoria compartida, centr´andoseen soluci´onsaxeitadas para a computaci´onde altas prestaci´ons.Os principais obxec- tivos deste traballo son a an´alisedo estado do soporte Java ´acomputaci´onde altas prestaci´onsen memoria compartida e o desenvolvemento de middleware para mel- lorar tanto o rendemento como a productividade. En consecuencia, levouse a cabo un estudo do soporte software dispo~niblepara a programaci´onmulti-n´ucleoen Java vii e realizouse o dese~no,implementaci´one avaliaci´ondun dispositivo de comunicaci´ons de paso de mensaxes en Java optimizado para memoria compartida. Este dispositivo proporciona unha API de alto nivel que elimina a necesidade de manexar threads ou a descomposici´onen tarefas. Esta API segue a especificaci´onJava de paso de mensaxes (Message Passing in Java, MPJ) baseada no est´andarMPI, amplamente utilizado en computaci´onde altas prestaci´ons.Tam´ense incl´ueunha optimizaci´on de patr´onsde comunicaci´onsentre procesos ou threads (operaci´ons colectivas), tan- to bloqueantes coma non bloqueantes, para contornos baseados en sistemas multi- n´ucleo,al´endunha an´aliseda adecuaci´one potencial das colectivas non bloqueantes en contornos de memoria compartida. Por outra banda, f´ıxoseun estudo e avaliaci´on de soluci´onsdispo~niblespara a explotaci´onde sistemas many-core en aplicaci´onsJa- va. A principal conclusi´ondeste estudo ´eque o uso de Java en contornos many-core ´eproductivo e pode proporcionar resultados de alto rendemento. Metodolox´ıade Traballo A metodolox´ıade investigaci´on seguida na presente Tese de Doutoramento con- sistiu en: Definir a lista de obxectivos identificando as tarefas necesarias para acadalos, tendo en conta os traballos previos e os recursos dispo~nibles. Determinar a secuencia de execuci´ondas tarefas at´endose´asrestricci´onsque puidesen existir e buscando a orde m´aisaxeitada. Establecer a duraci´ondas tarefas e a oportunidade de desenvolvemento nun momento determinado. Organizar os obxectivos e tarefas en bloques de certa entidade que definan etapas. Definir, para cada etapa, os fitos, ou metas a acadar en tempo definido, tendo en conta que cada etapa pode constar dunha ou varias metas. Os obxectivos e tarefas foron definidos de maneira iterativa para poder aproveitar o co~necemento adquirido en etapas previas. viii A continuaci´on,enum´erasea lista de obxectivos (O), agrupados en bloques (B), detallando as tarefas (T ) que foron desenvolvidas na Tese para acadar cada un dos obxectivos. B 1. An´alisedas capacidades da linguaxe Java para a programaci´onde altas prestaci´ons en memoria compartida. O 1.1. An´aliseda programaci´onen Java para memoria compartida. T 1.1.1. Estudo da usabilidade e rendemento de Java para programaci´onde altas prestaci´ons. T 1.1.2. An´alisedas carater´ısticasinternas de Java para programaci´onpar- alela en memoria compartida. T 1.1.3. An´alisedoutros modelos de programaci´onparalela utilizados en Java actualmente. T 1.1.4. Avaliaci´ondas necesidades de optimizaci´ondo soporte Java para ar- quitecturas de memoria compartida. O 1.2. An´alisedo estado actual de dispo~nibilidadedo soporte en Java para pro- gramaci´onheterox´enea. T 1.2.1. B´usquedabibliogr´aficade soluci´onse proxectos existentes que den soporte ´aprogramaci´onheterox´eneaen Java. T 1.2.2. An´alisedo soporte dispo~niblee identificaci´onde carencias. B 2. Estudo das principais arquitecturas de memoria compartida dispo~nibles. O 2.1. Estudo e avaliaci´onde arquitecturas de memoria compartida con soporte para a execuci´onde instrucci´onsx86. T 2.1.1. An´alisedetallada de arquitecturas multi-core dispo~nibles. T 2.1.2. An´alisedetallada de arquitecturas many-core x86 dispo~nibles. O 2.2. Estudo e avaliaci´ondoutras arquitecturas de memoria compartida. T 2.2.1. An´alisedetallada de unidades de procesamento gr´afico(Graphics Processing Units, GPU) para programaci´onde prop´ositoxeral. B 3. An´alise,dese~noe implementaci´ondunha soluci´onde paso de mensaxes en Java para memoria compartida. ix O 3.1. Avaliaci´ondo estado da arte do paso de mensaxes en Java para memoria compartida. T 3.1.1. An´alisede proxectos de paso de mensaxes noutras linguaxes con so- porte espec´ıficopara memoria compartida. T 3.1.2. An´alisedo soporte para paso de mensaxes en Java. O 3.2. Dese~noe implementaci´ondunha soluci´onde paso de mensaxes en Java para memoria compartida. T 3.2.1. Dese~noda soluci´ontendo en conta as caracter´ısticasespec´ıficasde Java e o seu soporte para programaci´onparalela en memoria com- partida. T 3.2.2. Implementaci´ondo dese~node paso de mensaxes proposto. T 3.2.3. Optimizaci´onda soluci´onimplementada facendo especial fincap´enos puntos de sincronizaci´onentre threads. O 3.3. Avaliaci´onda soluci´onproposta. T 3.3.1. Dese~nodo conxunto de probas a realizar e selecci´ondas librer´ıas m´aisrelevantes entre as atopadas no punto O 3.1 para comparar coa soluci´onproposta. T 3.3.2. An´alisee selecci´ondos contornos de probas e do hardware dispo~nible. T 3.3.3.
Recommended publications
  • Log4j-Users-Guide.Pdf
    ...................................................................................................................................... Apache Log4j 2 v. 2.2 User's Guide ...................................................................................................................................... The Apache Software Foundation 2015-02-22 T a b l e o f C o n t e n t s i Table of Contents ....................................................................................................................................... 1. Table of Contents . i 2. Introduction . 1 3. Architecture . 3 4. Log4j 1.x Migration . 10 5. API . 16 6. Configuration . 18 7. Web Applications and JSPs . 48 8. Plugins . 56 9. Lookups . 60 10. Appenders . 66 11. Layouts . 120 12. Filters . 140 13. Async Loggers . 153 14. JMX . 167 15. Logging Separation . 174 16. Extending Log4j . 176 17. Extending Log4j Configuration . 184 18. Custom Log Levels . 187 © 2 0 1 5 , T h e A p a c h e S o f t w a r e F o u n d a t i o n • A L L R I G H T S R E S E R V E D . T a b l e o f C o n t e n t s ii © 2 0 1 5 , T h e A p a c h e S o f t w a r e F o u n d a t i o n • A L L R I G H T S R E S E R V E D . 1 I n t r o d u c t i o n 1 1 Introduction ....................................................................................................................................... 1.1 Welcome to Log4j 2! 1.1.1 Introduction Almost every large application includes its own logging or tracing API. In conformance with this rule, the E.U.
    [Show full text]
  • LMAX Disruptor
    Disruptor: High performance alternative to bounded queues for exchanging data between concurrent threads Martin Thompson Dave Farley Michael Barker Patricia Gee Andrew Stewart May-2011 http://code.google.com/p/disruptor/ 1 Abstract LMAX was established to create a very high performance financial exchange. As part of our work to accomplish this goal we have evaluated several approaches to the design of such a system, but as we began to measure these we ran into some fundamental limits with conventional approaches. Many applications depend on queues to exchange data between processing stages. Our performance testing showed that the latency costs, when using queues in this way, were in the same order of magnitude as the cost of IO operations to disk (RAID or SSD based disk system) – dramatically slow. If there are multiple queues in an end-to-end operation, this will add hundreds of microseconds to the overall latency. There is clearly room for optimisation. Further investigation and a focus on the computer science made us realise that the conflation of concerns inherent in conventional approaches, (e.g. queues and processing nodes) leads to contention in multi-threaded implementations, suggesting that there may be a better approach. Thinking about how modern CPUs work, something we like to call “mechanical sympathy”, using good design practices with a strong focus on teasing apart the concerns, we came up with a data structure and a pattern of use that we have called the Disruptor. Testing has shown that the mean latency using the Disruptor for a three-stage pipeline is 3 orders of magnitude lower than an equivalent queue-based approach.
    [Show full text]
  • High Performance & Low Latency Complex Event Processor
    International Journal of Science and Research (IJSR) ISSN (Online): 2319-7064 Impact Factor (2012): 3.358 Lightning CEP - High Performance & Low Latency Complex Event Processor Vikas Kale1, Kishor Shedge2 1, 2Sir Visvesvaraya Institute of Technology, Chincholi, Nashik, 422101, India Abstract: Number of users and devices connected to internet is growing exponentially. Each of these device and user generate lot of data which organizations want to analyze and use. Hadoop like batch processing are evolved to process such big data. Batch processing systems provide offline data processing capability. There are many businesses which requires real-time or near real-time processing of data for faster decision making. Hadoop and batch processing system are not suitable for this. Stream processing systems are designed to support class of applications which requires fast and timely analysis of high volume data streams. Complex event processing, or CEP, is event/stream processing that combines data from multiple sources to infer events or patterns that suggest more complicated circumstances. In this paper I propose “Lightning - High Performance & Low Latency Complex Event Processor” engine. Lightning is based on open source stream processor WSO2 Siddhi. Lightning retains most of API and Query Processing of WSO2 Siddhi. WSO2 Siddhi core is modified using low latency technique such as Ring Buffer, off heap data store and other techniques. Keywords: CEP, Complex Event Processing, Stream Processing. 1. Introduction of stream applications include automated stock trading, real- time video processing, vital-signs monitoring and geo-spatial Number of users and devices connected to internet is trajectory modification. Results produced by such growing exponentially.
    [Show full text]
  • Need a Title Here
    Equilibrium Behaviour of Double-Sided Queueing System with Dependent Matching Time by Cheryl Yang A thesis submitted to the Faculty of Graduate and Postdoctoral Affairs in partial fulfillment of the requirements for the degree of Master of Science in Probability and Statistics Carleton University Ottawa, Ontario @ 2020 Cheryl Yang ii Abstract In this thesis, we consider the equilibrium behaviour of a double-ended queueing system with dependent matching time in the context of taxi-passenger systems at airport terminal pickup. We extend the standard taxi-passenger model by considering random matching time between taxis and passengers in an airport terminal pickup setting. For two types of matching time distribution, we examine this model through analysis of equilibrium behaviour and optimal strategies. We demonstrate in detail how to derive the equilibrium joining strategies for passen- gers arriving at the terminal and the existence of a socially optimal strategies for partially observable and fully observable cases. Numerical experiments are used to examine the behaviour of social welfare and compare cases. iii Acknowledgements I would like to give my deepest gratitude to my supervisor, Dr. Yiqiang Zhao, for his tremendous support throughout my graduate program. Dr. Zhao gave me the opportunity to explore and be exposed to various applications of queueing theory and offered invaluable guidance and advice in my thesis research. Without his help, this thesis would not be possible. I am grateful for his patience, the time he has spent advising me, and his moral support that guided me through my studies at Carleton University. I would also like to thank Zhen Wang of Nanjing University of Science and Tech- nology for his gracious help and patience.
    [Show full text]
  • Varon-T Documentation Release 2.0.1-Dev-5-G376477b
    Varon-T Documentation Release 2.0.1-dev-5-g376477b RedJack, LLC June 21, 2016 Contents 1 Contents 3 1.1 Introduction...............................................3 1.2 Disruptor queue management......................................3 1.3 Value objects...............................................5 1.4 Producers.................................................6 1.5 Consumers................................................7 1.6 Yield strategies..............................................9 1.7 Example: Summing integers.......................................9 2 Indices and tables 15 i ii Varon-T Documentation, Release 2.0.1-dev-5-g376477b This is the documentation for Varon-T 2.0.1-dev-5-g376477b, last updated June 21, 2016. Contents 1 Varon-T Documentation, Release 2.0.1-dev-5-g376477b 2 Contents CHAPTER 1 Contents 1.1 Introduction Message passing is currently a popular approach for implementing concurrent data processing applications. In this model, you decompose a large processing task into separate steps that execute concurrently and communicate solely by passing messages or data items between one another. This concurrency model is an intuitive way to structure a large processing task to exploit parallelism in a shared memory environment without incurring the complexity and overhead costs associated with multi-threaded applications. In order to use a message passing model, you need an efficient data structure for passing messages between the processing elements of your application. A common approach is to utilize queues for storing and retrieving messages. Varon-T is a C library that implements a disruptor queue (originally implemented in the Disruptor Java library), which is a particularly efficient FIFO queue implementation. Disruptor queues achieve their efficiency through a number of related techniques: • Objects are stored in a ring buffer, which uses a fixed amount of memory regardless of the number of data records processed.
    [Show full text]
  • On New Approaches of Assessing Network Vulnerability: Hardness and Approximation Thang N
    1 On New Approaches of Assessing Network Vulnerability: Hardness and Approximation Thang N. Dinh, Ying Xuan, My T. Thai, Member, IEEE, Panos M. Pardalos, Member, IEEE, Taieb Znati, Member, IEEE Abstract—Society relies heavily on its networked physical infrastructure and information systems. Accurately assessing the vulnerability of these systems against disruptive events is vital for planning and risk management. Existing approaches to vulnerability assessments of large-scale systems mainly focus on investigating inhomogeneous properties of the underlying graph elements. These measures and the associated heuristic solutions are limited in evaluating the vulnerability of large-scale network topologies. Furthermore, these approaches often fail to provide performance guarantees of the proposed solutions. In this paper, we propose a vulnerability measure, pairwise connectivity, and use it to formulate network vulnerability assessment as a graph-theoretical optimization problem, referred to as β-disruptor. The objective is to identify the minimum set of critical network elements, namely nodes and edges, whose removal results in a specific degradation of the network global pairwise connectivity. We prove the NP-Completeness and inapproximability of this problem, and propose an O(log n log log n) pseudo- approximation algorithm to computing the set of critical nodes and an O(log1:5 n) pseudo-approximation algorithm for computing the set of critical edges. The results of an extensive simulation-based experiment show the feasibility of our proposed vulnerability assessment framework and the efficiency of the proposed approximation algorithms in comparison with other approaches. Index Terms—Network vulnerability, Pairwise connectivity, Hardness, Approximation algorithm. F 1 INTRODUCTION ONNECTIVITY plays a vital role in network per- tal a network element is to the survivability of the net- formance and is fundamental to vulnerability C work when faced with disruptive events.
    [Show full text]
  • Data Structures of Big Data: How They Scale
    DATA STRUCTURES OF BIG DATA: HOW THEY SCALE Dibyendu Bhattacharya Manidipa Mitra Principal Technologist, EMC Principal Software Engineer, EMC [email protected] [email protected] Table of Contents Introduction ................................................................................................................................ 3 Hadoop: Optimization for Local Storage Performance................................................................ 3 Kafka: Scaling Distributed Logs using OS Page Cache .............................................................10 MongoDB: Memory Mapped File to Store B-Tree Index and Data Files ....................................15 HBase: Log Structured Merged Tree – Write Optimized B-Tree ................................................19 Storm: Efficient Lineage Tracking for Guaranteed Message Processing ...................................25 Conclusion ................................................................................................................................33 Disclaimer: The views, processes, or methodologies published in this article are those of the authors. They do not necessarily reflect EMC Corporation’s views, processes, or methodologies. 2014 EMC Proven Professional Knowledge Sharing 2 Introduction We are living in the data age. Big data—information of extreme volume, diversity, and complexity—is everywhere. Enterprises, organizations, and institutions are beginning to recognize that this huge volume of data can potentially deliver high value to their
    [Show full text]
  • Research Article DECISION TREE LEARNING and REGRESSION MODELS to PREDICT ENDOCRINE DISRUPTOR CHEMICALS - a BIG DATA ANALYTICS APPROACH with HADOOP and APACHE SPARK
    International Journal of Machine Intelligence ISSN: 0975-2927 & E-ISSN: 0975-9166, Volume 7, Issue 1, 2016, pp.-469-473. Available online at http://www.bioinfopublication.org/jouarchive.php?opt=&jouid=BPJ0000231 Research Article DECISION TREE LEARNING AND REGRESSION MODELS TO PREDICT ENDOCRINE DISRUPTOR CHEMICALS - A BIG DATA ANALYTICS APPROACH WITH HADOOP AND APACHE SPARK PAULOSE RENJITH1*, JEGATHEESAN K.2 AND GOPAL SAMY B.3 1Cognizant Technology Solutions, Athulya, Infopark SEZ, Kakkanad, Kochi 682030, Kerala, India 2Center for Research and PG Studies in Botany and Department of Biotechnology, Thiagarajar College (Autonomous), Madurai - 625 009, Tamil Nadu, India 3Department of Biotechnology, Liatris Biosciences LLP, Kakkanad, Cochin, Kerala *Corresponding Author: [email protected] Received: April 04, 2016; Revised: May 04, 2016; Accepted: May 05, 2016; Published: May 07, 2016 Abstract- Predictive toxicology calls for innovative and flexible approaches to mine and analyse the mounting quantity and complexity of data used in it. Classification and regression based machine learning algorithms are used in this study in order to computationally predict chemical’s affinity towards endocrine hormones. As a result of the modelling complexity and existing big sized toxicity datasets generated by various irrelevant descriptors, missing values, noisy data and skewed distribution, we are motivated to use machine learning and big data analytics in toxicity prediction. This paper reports results of a qualitative and quantitative toxicity prediction of endocrine disrupting chemicals. Datasets of Estrogen Receptor (ER) and Androgen Receptor (AR) disrupting chemicals along with their Binding Affinity values were used for building the predictive models. Fragment counts of dataset chemicals were generated using Kier Hall Smarts Descriptor that exploit electro-topological state (e- state) indices.
    [Show full text]
  • Anomaly Detection in Manufacturing Equipment with Apache Flink : Grand Challenge Yann Busnel, Nicolo Riveei, Avigdor Gal
    FlinkMan : Anomaly Detection in Manufacturing Equipment with Apache Flink : Grand Challenge Yann Busnel, Nicolo Riveei, Avigdor Gal To cite this version: Yann Busnel, Nicolo Riveei, Avigdor Gal. FlinkMan : Anomaly Detection in Manufactur- ing Equipment with Apache Flink : Grand Challenge. DEBS ’17 : 11th ACM International Conference on Distributed and Event-based Systems, Jun 2017, Barcelone, Spain. pp.274-279 10.1145/3093742.3095099. hal-01644417 HAL Id: hal-01644417 https://hal.archives-ouvertes.fr/hal-01644417 Submitted on 22 Nov 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Grand Challenge: FlinkMan – Anomaly Detection in Manufacturing Equipment with Apache Flink Nicolo Rivei Yann Busnel Avigdor Gal Technion - Israel Institute of IMT Atlantique / IRISA / UBL Technion - Israel Institute of Technology [email protected] Technology [email protected] [email protected] ABSTRACT analog. ese sensors provide periodic measurements, which are We present a (so) real-time event-based anomaly detection appli- sent to a monitoring base station. e laer receives then a large cation for manufacturing equipment, built on top of the general collection of observations. Analyzing in an ecient and accurate purpose stream processing framework Apache Flink.
    [Show full text]
  • Operating Model Editorial Board
    McKinsey on Digital Services Introducing the next-generation operating model Editorial Board: Joao Dias Somesh Khanna Chirstopher Paquette Marta Rohr Barr Seitz Alex Singla Rohit Sood Jasper van Ouwerkerk Contents Introduction— Reinventing your operating model to win in the digital world: 1 How to capture the full value Part 1: The next-generation operating model: What is it and how do I build it? 7 The next-generation operating model for the digital world 8 Putting customer experience at the heart of next-generation operating models 16 How to start building your next-generation operating model 26 What it takes to deliver breakthrough customer experiences 34 From disrupted to disruptor: Reinventing your business by transforming the core 40 Part 2: New approaches and capabilities to drive your next-generation 49 operating model Digitizing customer journeys and processes: Stories from the front lines 50 Four fundamentals of workplace automation 58 Intelligent process automation: The engine at the core of the next-generation operating model 66 Making data analytics work for you—instead of the other way around 76 Part 3: Foundations to scale your next-generation operating model 89 Organizing for the future 90 Deploying a two-speed architecture at scale 102 Speed and scale: Unlocking digital value in customer journeys 106 Scaling a transformative culture through a digital factory 112 Transforming operations management for a digital world 118 Introduction Reinventing your operating model to win in the digital world: How to capture the full value How to profitably deliver services to customers has become a defining challenge for businesses today.
    [Show full text]
  • Log4j User Guide
    ...................................................................................................................................... Apache Log4j 2 v. 2.14.1 User's Guide ...................................................................................................................................... The Apache Software Foundation 2021-03-06 T a b l e o f C o n t e n t s i Table of Contents ....................................................................................................................................... 1. Table of Contents . i 2. Introduction . 1 3. Architecture . 3 4. Log4j 1.x Migration . 10 5. API . 17 6. Configuration . 20 7. Web Applications and JSPs . 62 8. Plugins . 71 9. Lookups . 75 10. Appenders . 87 11. Layouts . 183 12. Filters . 222 13. Async Loggers . 238 14. Garbage-free Logging . 253 15. JMX . 262 16. Logging Separation . 269 17. Extending Log4j . 271 18. Programmatic Log4j Configuration . 282 19. Custom Log Levels . 290 © 2 0 2 1 , T h e A p a c h e S o f t w a r e F o u n d a t i o n • A L L R I G H T S R E S E R V E D . T a b l e o f C o n t e n t s ii © 2 0 2 1 , T h e A p a c h e S o f t w a r e F o u n d a t i o n • A L L R I G H T S R E S E R V E D . 1 I n t r o d u c t i o n 1 1 Introduction ....................................................................................................................................... 1.1 Welcome to Log4j 2! 1.1.1 Introduction Almost every large application includes its own logging or tracing API. In conformance with this rule, the E.U.
    [Show full text]
  • Brettner Washington 0250E 21
    Exploring heterogeneous phenotypic states in bacteria. Leandra M. Brettner A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy University of Washington 2020 Reading Committee: R. William DePaolo, Chair Eric Klavins, Chair Wendy Thomas Georg Seelig Program Authorized to Offer Degree: Bioengineering © Copyright 2020 Leandra M. Brettner University of Washington Abstract Exploring heterogeneous phenotypic states in bacteria. Leandra M. Brettner Chairs of the Supervisory Committee: Professor R. William DePaolo College of Medicine, Division of Gasteroenterology Professor Eric Klavins Department of Electrical Engineering The collective dry biomass of all bacteria on earth is estimated to be in the ballpark of 400 trillion tons. A single human body alone can harbor approximately 100 trillion bacterial cells. We are only just beginning to understand how the goings-on of these creatures affect not only our own health and biology, but the health and biology of every ecosystem on earth. The vast majority of naturally existing bacteria (>99%) have yet to be cultured in a laboratory setting, making studying them using classical microbiology techniques difficult at best. Investigating the complex community structures of these organisms becomes even more difficult still. To work around this problem, we can first construct synthetic microbial consortia that are engineered to exhibit the behaviors we would like to study. Or second, we can develop applications that can measure organism behavior directly in their natural environments, as is being seen the rapid expansion of the –omics technologies. In this exam, we use both approaches to examine how single- cell behaviors, in both isogenic and mixed bacterial communities, affect the phenotypic dynamics of the population as a whole.
    [Show full text]