Operating System and Network Co-Design for Latency-Critical Datacenter Applications

Total Page:16

File Type:pdf, Size:1020Kb

Operating System and Network Co-Design for Latency-Critical Datacenter Applications Thèse n° 7108 Operating System and Network Co-Design for Latency-Critical Datacenter Applications Présentée le 28 août 2020 à la Faculté informatique et communications Laboratoire des Systèmes de Centres de Calcul Programme doctoral en informatique et communications pour l’obtention du grade de Docteur ès Sciences par Evangelos Marios KOGIAS Acceptée sur proposition du jury Prof. J. R. Larus, président du jury Prof. E. Bugnion, directeur de thèse Prof. C. Kozyrakis, rapporteur Dr R. Bianchini, rapporteur Prof. K. Argyraki, rapporteuse 2020 Νὰ εὔχεσαι νά <nai μακρὺς ὁ δρόμος. Polλὰ tὰ kalokairiνὰ πρωϊὰ νὰ εἶnai ποὺ μὲ tÐ eÎqarÐsthsh, μὲ tÐ χαρὰ θὰ mpaÐneic σὲ limènac prwtoeidwmènouc& — K. P. Καβάφης Hope the voyage is a long one. May there be many a summer morning when, with what pleasure, what joy, you come into harbors seen for the first time; — C. P.Cavafy To my family. Acknowledgements This thesis is the final stop of a journey started five years ago, a journey that formed as a researcher and as a person in general. Throughout this journey I had several people that stood by me and supported me, including advisors, collaborators, friends, and family. This journey would not be possible without them and I wholeheartedly want to say a big thanks to them. First and foremost I would like to thank my advisor Ed Bugnion. His huge systems insight deeply affected the way I approach and think about problems. Ed trusted me since the early days of my PhD and allowed me to take academic initiatives. Despite the big pressure his trust put on me, this trust helped me grow, form my identity as a researcher, make choices and stand by them, and advise many students. I will never forget our heated whiteboard sessions and my midnight Slack outbursts that he always dealt with profound patience. Then, I would like to thank my thesis committee: James Larus, Katerina Argyraki, Christos Kozyrakis, and Ricardo Bianchini. They gave me a lot of constructive feedback that made this thesis much better but also influenced me throughout my PhD. Jim made me understand that simple questions are the hardest ones. Katerina served as my academic "aunt" during my time at EPFL and she was my go-to person during the downs of this journey. I had the luck to work with Christos during my first year at EPFL and he also deeply affected the way I approach research by making it clear that "it’s about the projects you finish, not the projects you start". Ricardo broadened my cloud horizons serving as my mentor during my MSR internship and taught me how to be a team player in a big project. DCSL was never a big lab but I never felt alone in this journey. I am grateful to my labmates and our friends from VLSC for all the discussions we had throughout my PhD that helped this thesis come to its final form. Thank you very much Sam, Jonas, Mia, Dmitrii, Stuart, Sahand, David, Mayy. I want to specially thank my officemates George and Adrien. George was the senior student at DCSL when I joined and I learnt a lot from him. Adrien has always been there to discuss anything with his great ability to be direct, caring, and judgemental at the same time, while knowing which attribute of his to use in which discussion. I want to thank DCSL’s mom, Maggy, for being extremely helpful with any issue I might have and dealing with our steam always with a big smile. Having great mentors aspired me to try and become a good mentor myself. For that I would like to thank all my students both as a POCS TA and the ones that did projects with me. Kontantine, Martin, Antoine, Ogier, Lisa, Paul, Guillaume, Mikael, Kosta, Adi, Matthieu, and Charline thanks for working with me. I also want to thank my students in the greek dance class and the greek school. Teaching how to dance to such a versatile group of people taught i Acknowledgements me how to explain things differently and adjust to my audience. Doing a PhD is an extremely stressful period in a student’s life and having great friends is the only way out. I want to thank Lefteris and George for being close to me in every step from day zero till the end. I feel grateful to all my Lausanne friends and especially to Irene, Patricia, Helena, Hermina, Lana, Kiril, Dusan, Mark, Rishabh, Arseniy, Arash, Bogdan, and the greek gang Stella, Thanos, Panagiotis, Panos, Aggelos, Pavlos, Natali, Vangelis, Prodromos, Tolis, Melivia, Georgia. Thanks for all the discussions (academic and non-), the BBQs, the beers at Great Escape, the ski trips. I want to specifically thank my friend Matt for luring me intro the world of motorbikes. I, also, want to thank my friends in Greece who, despite being far, always make me feel as I never left. Special thanks to my NTUA and SourceLair friends Antonis M, Antonis K, Paris, Thanasis, and Christos, my friend Anastasis for all the songs we’ve played together, and my great childhood friends George and Yiannis. I wouldn’t be the person I am today without the unconditional love and support of my family. I feel deeply grateful to my parents, Thanasis and Dimitra, for the way they raised me, my dad for showing me that every obstacle can be overtaken if you stay calm, and my mom for letting me dream without borders, my sister Alexia for reminding me the importance of people skills that can be easily lost throughout the PhD and my sister Evita for empowering me with her strong and non-conventional personality. Last but not least, I want to thank Vivi. Vivi came in my life when I was 14 and never left ever since. She has been next to me in all the ups and downs holding different roles, but being my best friend above all, while she never stopped showing me that home is where they love you. Vivi has left indelible marks on who I am and I hope she will continue doing so in the years to come. Thank you very much for riding along. ????? I would also like the thank the people and the organisations that financially supported this thesis and allowed me to work on problems I found challenging. My thesis was supported by a VMware research grant and the Microsoft Swiss Joint Research Center. I am also a grateful recipient of the IBM PhD fellowship. Lausanne, August 2020 M. K. ii Abstract Datacenters are the heart of our digital lives. Online applications, such as social-networking and e-commerce, run inside datacenters under strict Service Level Objectives for their tail latency. Tight latency SLOs are necessary for such services to remain interactive and keep users engaged. At the same time, datacenters operate under a single administrative domain which enables the deployment of customized network and hardware solutions based on specific application requirements. Customization enables the design of datacenter-tailored and SLO-aware mechanisms that are more efficient and have better performance. In this thesis we focus on three main datacenter challenges. First, latency-critical, in-memory datacenter applications have µs-scale services times and run on top of hardware infrastructure which is also capable of µs-scale inter-node round-trip times. Existing operating systems, though, were designed under completely different assumptions and are not ready for µs-scale computing. Second, the base of datacenter communications is Remote Procedure Calls (RPCs) that depend on a message-oriented paradigm, while TCP still remains widely-used for intra datacenter communications. The mismatch between TCP’s bytestream-oriented abstraction and RPCs causes several inefficiencies and deteriorates tail latency. Finally, datacenter appli- cations follow a scale-out paradigm based on large fan-out communication schemes. In such a scenario, tail latency becomes a critical metric due to the tail at scale problem. The two main factors that affect tail latency is interference and scheduling/load balancing decisions. To deal with the above challenges we advocate for a co-design of network and operating system mechanisms targeting µs-scale tail optimisations for latency-critical datacenter applications. Our approach investigates the potential of pushing functionality to the network leveraging emerging in-network programmability features. Whenever existing abstractions fail to meet the µs-scale requirements or restrict our design space, we propose new ones given the design and deployment freedom the datacenter offers. This thesis contributions can be split in three main parts. We, first, design and build tools and methodologies for µs-scale latency measurements and system evaluation. Our approach depends on a robust theoretical background in statistics and queueing theory. We, then, revisit existing operating system and networking mechanisms for TCP-based datacenter applications. We design an OS scheduler for µs-scale tasks, while we modify TCP to improve L4 load balancing, and provide an SLO-aware flow control mechanism. Finally, after identifying the problems related to TCP-based RPC services, we introduce a new transport protocol for datacenter RPCs and in-network policy enforcement that enables us to push functionality to iii Abstract the network. We showcase how the new protocol improves the performance and simplifies the implementation of in-network RPC load balancing, SLO-aware RPC flow control, and application-agnostic fault-tolerant RPCs. Keywords: datacenters, datacenter networking, remote procedure call, in-network compute, µs-scale computing, scheduling, load balancing, P4, state machine replication iv Résumé Les centres de données sont au coeur de notre vie digitale. Les services en ligne tels que les réseaux sociaux ainsi que le commerce en ligne tournent dans des centres de données sous des objectifs de niveau de services (SLO) très strictes sur leur latence de traîne (tail latency).
Recommended publications
  • Brackets Third Party Page (
    Brackets Third Party Page (http://www.adobe.com/go/thirdparty) "Cowboy" Ben Alman Copyright © 2010-2012 "Cowboy" Ben Alman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The Android Open Source Project Copyright (C) 2008 The Android Open Source Project All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    [Show full text]
  • Open Source Used in Coral-Services 11.1.0
    Open Source Used In Coral-Services 11.1.0 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-161235419 Open Source Used In Coral-Services 11.1.0 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-161235419 Contents 1.1 bsd-mailx 8.1.2 :0.20141216cvs-2 1.1.1 Available under license 1.2 cron 3.0pl1 1.3 Debian ISO 8.11 1.3.1 Available under license 1.4 erlang-appmon 20.3-1 1.5 erlang-common-test 20.3-1 1.6 erlang-debugger 20.3-1 1.7 erlang-dev 20.3-1 1.8 erlang-dialyzer 20.3-1 1.9 erlang-et 20.3-1 1.10 erlang-examples 20.3-1 1.11 erlang-gs 20.3-1 1.12 erlang-ic-java 20.3-1 1.13 erlang-jinterface 20.3-1 1.14 erlang-megaco 20.3-1 1.15 erlang-mode 20.3-1 1.16 erlang-observer 20.3-1 1.17 erlang-pman 20.3-1 1.18 erlang-reltool 20.3-1 1.19 erlang-test-server 20.3-1 1.20 erlang-toolbar 20.3-1 1.21 erlang-tv 20.3-1 1.22 erlang-typer 20.3-1 1.23 esl-erlang 20.2.2-1 :debian-jessie 1.24 exim4 4.84.2 :2+deb8u3 Open Source Used In Coral-Services 11.1.0 2 1.24.1
    [Show full text]
  • Azure Cloud Shell Your Azure Management Multi-Tool
    Azure Cloud Shell Your Azure Management Multi-Tool Aleksandar Nikolić | Microsoft MVP @alexandair PS> whoami Aleksandar Nikolić PowerShell and Azure trainer Microsoft Azure MVP Cloud and Datacenter Management MVP Co-founder of PowerShellMagazine.com @alexandair What problems do we try to solve •Installation of our tools •Authentication to Azure •Access to our admin tools What is Cloud Shell? • An interactive, browser-based shell for managing Azure resources • Automatically authenticated with each session • Preconfigured with commonly used CLI tools and programming languages • Accessible from a laptop, a tablet, and a mobile app • “A jumpbox for managing Azure resources” 2 environments • Linux and Windows • Bash (GA) • PowerShell (public preview) Requirements • Cloud Shell supports the latest versions of Microsoft Edge, Internet Explorer, Google Chrome, Mozilla Firefox, and Apple Safari. • An Azure subscription capable of creating storage resources • Cloud Shell requires a file share to be mounted • File shares can be mounted only from within your assigned region. • Azure Files supports only locally redundant storage and geo- redundant storage accounts. Requirements • Cloud Shell supports the latest versions of Microsoft Edge, Internet Explorer, Google Chrome, Mozilla Firefox, and Apple Safari. • An Azure subscription capable of creating storage resources • Cloud Shell requires a file share to be mounted • File shares can be mounted only from within your assigned region. • Azure Files supports only locally redundant storage and geo- redundant
    [Show full text]
  • Niektoré Možnosti Programovania V C++
    Niektoré možnosti programovania v C++ Na trénovanie príkladov z prednášky a tvorbu jednoduchých projektov doma je mnoho možností. Niektoré z nich sú opísané v nasledujúcich kapitolách: 1. Cloud programovanie na on-line kompilátoroch 2. Nainštalovať si jednoduché program C4droid na smartfóne alebo tablete s OS Android 3. Nainštalovať si CodeBlocks do OS Windows 4. Nainštalovať si prostredie pre programovanie do OS LINUX 5. Nainštalovať si predinštalovaný virtuálny stroj s OS Linux (Kubuntu) 6. Literatúra Jednotlivé možnosti sú detailnejšie opísané ďalej. 1. Cloud programovanie na on-line kompilátoroch Ak máte prístup na Internet pomocou webového prehliadača, môžete využiť niektorý z on-line kompilátorov. Na napísanie jednoduchého programu sa ani nemusíte registrovať, po zaregistrovaní však získate možnosť ukladať si svoje programy priamo na disk servera, takže v práci môžete pokračovať z ľubovoľného počítača pripojeného na Internet. Do počítača netreba nič inštalovať. Obľúbené cloud-systémy podporujúce bezplatné programovanie v C++ sú: http://www.sourcelair.com/ - veľmi jednoduché a intuitívne prostredie pre jednoduché programy (nemožnosť zápisu dát programom na disk a ich čítania). Netreba sa ani registrovať. Po zaregistrovaní možnosť ukladať svoje programy na serveri, 500 kompilácií/behov programu mesačne zadarmo. http://ideone.com - podobne ako SourceLair, menej prehľadné prostredie plné reklám, po zaregistrovaní 1000 kompilácií/behov programu mesačne zadarmo. https://compilr.com/ - veľmi pekné a jednoduché, ale pritom veľmi funkčné prostredie, obsahuje emulátor konzoly (programy bežia rovnako ako na bežnom PC), možnosť programového zápisu a čítania dát zo súborov na serveri, po zaregistrovaní 50 kompilácií/behov programu mesačne zadarmo. Inak sa platí cca 5 EUR. Pre ilustráciu ukážeme prácu v systéme SourceLair bez prihlásenia.
    [Show full text]
  • Edit, Compile, Execute and Debug C++ on the Web
    Edit, Compile, Execute and Debug C++ on the Web Degree in Informatics Engineering Fundamentals of Computing Final Project Albert Lobo Cusid´o Advisor Jordi Petit Silvestre January, 2017 Facultat d’Inform`aticade Barcelona Universitat Polit`ecnicade Catalunya - BarcelonaTech Abstract The aim of this project is to create a web application to edit, compile, and de- bug C++ code. This application can be used by instructors to make introductory programming courses more engaging. The first phase of this project provides the planning and design of a software solution to build the application. The main phase describes the implementation of the solution using rapid applica- tion development methodology. In the final phase, the implemented solution is evaluated, concluding it is a good candidate for the aforementioned application. Resum El prop`ositd'aquest projecte ´escrear una aplicaci´oweb per editar, compilar, i depurar codi C++. Els professors poden servir-se d'aquesta aplicaci´oper fer m´es atractius els primers cursos de programaci´o.La primera fase del projecte aporta la planificaci´oi el disseny d'una soluci´ode software per a construir l'aplicaci´o. La fase principal del projecte descriu la implementaci´ode la soluci´ousant la metodologia de desenvolupament RAD. En la fase final del projecte, la soluci´o implementada s'avalua, concloent que ´esuna bona candidata per l’aplicaci´o mencionada. Contents 1 Introduction 1 1.1 Brief introduction to IDEs . .1 1.2 Personal motivation . .2 1.3 Report structure . .3 I Formulation 4 2 Analysis 5 2.1 Context . .5 2.2 The problem . .5 2.3 The requirement .
    [Show full text]
  • Editorconfig (/)
    EditorConfig (/) What is EditorConfig? (/#overview) What is EditorConfig? Example File (/#example-file) EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. The EditorConfig project consists of a file File Location (/#file- format for defining coding styles and a collection of text editor plugins that location) enable editors to read the file format and adhere to defined styles. EditorConfig File Format Details files are easily readable and they work nicely with version control systems. (/#file-format-details) Download a Plugin (/#download) What's an EditorConfig file look like? Contributing (/#contributing) Example file Blog (/blog) Below is an example .editorconfig file setting end-of-line and indentation styles for Python and JavaScript files. Project Page on GitHub # EditorConfig is awesome: http://EditorConfig.org # top-most EditorConfig file root = true (https://github.com/editorconfig/) # Unix-style newlines with a newline ending every file Follow Us [*] on Twitter end_of_line = lf insert_final_newline = true # Matches multiple files with brace expansion notation # Set default charset [*.{js,py}] charset = utf-8 # 4 space indentation (https://twitter.com/EditorConfig) [*.py] (/blog/feed.xml) indent_style = space Tweet indent_size = 4 # Tab indentation (no size specified) [Makefile] indent_style = tab # Indentation override for all JS under lib directory [lib/**.js] indent_style = space indent_size = 2 # Matches the exact files either package.json or .travis.yml [{package.json,.travis.yml}] indent_style = space indent_size = 2 Check the Wiki for some real-world examples of projects using EditorConfig files (https://github.com/editorconfig/editorconfig/wiki/Projects-Using- EditorConfig). Where are these files stored? When opening a file, EditorConfig plugins look for a file named .editorconfig in the directory of the opened file and in every parent directory.
    [Show full text]
  • Open Source Used in IOX-CAF 1.13.0.0
    Open Source Used In IOX-CAF 1.13.0.0 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-1104934873 Open Source Used In IOX-CAF 1.13.0.0 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-1104934873 Contents 1.1 openssl 1.1.1d-r3 1.1.1 Available under license 1.2 xterm 3.13.0 1.2.1 Available under license 1.3 zlib 1.2.11 r3 1.3.1 Available under license 1.4 pax-utils 1.2.4-r0 1.4.1 Available under license 1.5 libtls-standalone 2.9.1-r0 1.5.1 Available under license 1.6 alpine-baselayout 3.2.0-r3 1.6.1 Available under license 1.7 musl 1.1.24-r0 1.7.1 Available under license 1.8 apk-tools 2.10.4 r3 1.8.1 Available under license 1.9 tre 1.1.24-r0 1.9.1 Available under license 1.10 visual-studio-runtime 14.16.27012.6 1.10.1 Available under license 1.11 alpine-keys 2.1 r2 1.12 ca-certificates 20191127-r0 1.12.1 Available under license 1.13 busybox 1.31.1-r9 1.13.1 Available under license Open Source Used In IOX-CAF 1.13.0.0 2 1.1 openssl 1.1.1d-r3 1.1.1 Available under license : GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    [Show full text]
  • Feng Lab - Data Science Toolbox and Chip-Seq Release 1.0
    Feng Lab - Data Science Toolbox and ChIP-Seq Release 1.0 February 18, 2017 Contents 1 Getting started 3 1.1 Using this Web site............................................3 1.2 Preparation................................................3 1.3 Intro to technology............................................3 2 For today 5 2.1 ChIP-seq.................................................5 3 Examples from the Wild I: REGULAR EXPRESSIONS7 3.1 NGS Analysis of ChIP-seq data with NUCwave............................7 4 Examples from the Wild 2: IPython Notebooks9 4.1 NGS Analysis of ChIP-seq data using IPython Notebooks to Explore.................9 5 Examples from the Wild 3: Git, Github, and Gists 11 5.1 Git, Github, and Gists.......................................... 11 6 Examples from the Wild 4: R, the Bioconductor Project for R, RStudio 13 6.1 R, the Bioconductor Project for R, RStudio............................... 13 7 Sources 15 8 Going forward 17 8.1 Look into................................................. 17 9 Literature Selections for ChIP-seq 21 9.1 ChIP-Seq................................................. 21 9.2 Bias issues................................................ 22 9.3 Related.................................................. 23 9.4 Motif identification............................................ 23 10 ACRONYMS 25 10.1 Partial List of the Acronyms in ChIP-related Work........................... 25 i ii Feng Lab - Data Science Toolbox and ChIP-Seq, Release 1.0 The Data Scientist’s Toolbox for ChIP-Seq and Beyond Feng Lab Group meeting by Wayne in March. Slides link. A Google Doc for sharing today http://we.tl/TYWUi1aFRf 3:40am-5:30pm, March 19th, 2015. (2nd session; see first session info here; next session hands-on here) Contents 1 Feng Lab - Data Science Toolbox and ChIP-Seq, Release 1.0 2 Contents CHAPTER 1 Getting started Using this Web site Reload to get the latest links! A Google Doc for sharing today Preparation Read Interactive notebooks: Sharing the code by Helen Shen.
    [Show full text]
  • List of Online Dev Environments
    List of Online Dev Environments As the world moves towards total tech saturation, the idea that jobs will be tied to a physical space is changing. Often people that work with computers don’t need to commute or deal with the hassle of co-workers being triggered, they can work from wherever they like. This list is likely to grow pretty large as accessing work from anywhere will soon be a requirement rather than a luxury. 1. Appitr https://appitr.com 2. Arduino IDE https://codebender.cc 3. AWS Cloud9 https://aws.amazon.com/cloud9 4. Azure DevOps https://azure.microsoft.com/en-us/services/devops 5. Browxy https://www.beta.browxy.com 6. Ceylon Web IDE https://try.ceylon-lang.org 7. Cloud Shell https://cloud.google.com/shell 8. Codeanywhere https://codeanywhere.com 9. Codeboard https://codeboard.io 10. Codenvy https://codenvy.com 11. CodeChef https://www.codechef.com/ide 12. CodePen https://codepen.io 13. Coder https://coder.com 14. CodeSandbox https://codesandbox.io 15. CodeTasty https://codetasty.com 16. Codiad http://demo.codiad.com 17. Codio https://codio.com 18. Codiva https://www.codiva.io 19. Coding Blocks https://ide.codingblocks.com 20. Colaboratory https://research.google.com/colaboratory 21. Compile C# Online https://rextester.com 22. CS50 IDE https://ide.cs50.io 23. Dirigible https://www.dirigible.io 24. DrRacket https://www.rollapp.com/app/drracket 25. Eclipse CHE https://www.eclipse.org/che 26. Ellie https://ellie-app.com/new 27. Gitpod https://www.gitpod.io 28. Glitch https://glitch.com 29. ICEcoder https://icecoder.net 30.
    [Show full text]
  • Open Source Used in Infinite Webengine 52
    Open Source Used In Infinite WebEngine 52 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-134719902 Open Source Used In Infinite WebEngine 52 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-134719902 Contents 1.1 ANGLE f07246f6a06d5cb90d4e3b16c3fb9170ea863d4a :52 1.1.1 Available under license 1.2 bidichecker 97f2aa645b74c28c57eca56992235c79850fa9e0 :52 1.3 BoringSSL 54092ffeaa80ed032a50b914f14e3aa41de763df 1.3.1 Available under license 1.4 Breakpad 5aac5eabb0fd7cbd3bf7805fb922fe2f90e80155 :52 1.4.1 Available under license 1.5 Buildtools 06e80a0e17319868d4a9b13f9bb6a248dc8d8b20 :52 1.5.1 Available under license 1.6 Catapult caaf30d6a5c59aa329826835b1bd048919fbec93 :52 1.6.1 Available under license 1.7 Catapult_ASLv2.0 caaf30d6a5c59aa329826835b1bd048919fbec93 :52 1.7.1 Available under license 1.8 CDM 245af7782c9f54d776722a2c7b53372ee040e5fc 1.8.1 Available under license 1.9 Chromium 52.0.2743.116 :52 1.9.1 Available under license 1.10 Chromium_AFLv2.0
    [Show full text]
  • Edge Code Preview
    Edge Code Third Party Page (http://www.adobe.com/go/thirdparty) David Airlie Copyright (C) 1999-2003 David Airlie All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sub license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON- INFRINGEMENT. IN NO EVENT SHALL DAVID AIRLIE, AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The Android Open Source Project Copyright (C) 2008 The Android Open Source Project All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    [Show full text]
  • Cloudteams Playbook
    CloudTeams Playbook A guide for Product Managers in Software Development supported by the CloudTeams Platform Version 1, February 2017 www.CloudTeams.eu The CloudTeams Playbook Disclaimer: This e-book is published under the project CloudTeams, co-funded by the European Commission, under the Horizon 2020 funding scheme (Grant Agreement No: 644617). Under this project, different partners from Fraunhofer Institute for Applied Information Technology FIT, National Technical University of Athens (NTUA), Singular Logic (SILO), FZI, Booreiland (BOOR) and YASAD came together in order to realize the CloudTeams platform and validate the CloudTeams methodology, as developed in the project. In this document, as authors and editors are considered the persons that actively participated in the production of the current document solely, without forgetting the important role and contribution of every partner involved in the project, individually. Project Partners: FIT (DE), NTUA (GR), FZI (DE), SILO (GR), YASAD (TR), BOOR (NL) Every effort has been made to ensure that all statements and information contained herein are accurate, however the Partners accept no liability for any error or omission in the same. This project has received funding from The European Union's Framework Programme for Research and Innovation - Horizon 2020, under Grant Agreement No: 644617. Action full title: 'Collaborative Software Development Framework based on Trusted, Secure Cloud-based Pool of Users'. ICT-07-2014: Advanced Cloud Infrastructures and Services 2 The CloudTeams Playbook This book is available under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) You are free to: Share — copy and redistribute the material in any medium or format Adapt — remix, transform, and build upon the material for any purpose, even commercially.
    [Show full text]