Lightweight Autonomic Network Architecture
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Is Parallel Programming Hard, And, If So, What Can You Do About It?
Is Parallel Programming Hard, And, If So, What Can You Do About It? Edited by: Paul E. McKenney Linux Technology Center IBM Beaverton [email protected] December 16, 2011 ii Legal Statement This work represents the views of the authors and does not necessarily represent the view of their employers. IBM, zSeries, and Power PC are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. Linux is a registered trademark of Linus Torvalds. i386 is a trademarks of Intel Corporation or its subsidiaries in the United States, other countries, or both. Other company, product, and service names may be trademarks or service marks of such companies. The non-source-code text and images in this doc- ument are provided under the terms of the Creative Commons Attribution-Share Alike 3.0 United States li- cense (http://creativecommons.org/licenses/ by-sa/3.0/us/). In brief, you may use the contents of this document for any purpose, personal, commercial, or otherwise, so long as attribution to the authors is maintained. Likewise, the document may be modified, and derivative works and translations made available, so long as such modifications and derivations are offered to the public on equal terms as the non-source-code text and images in the original document. Source code is covered by various versions of the GPL (http://www.gnu.org/licenses/gpl-2.0.html). Some of this code is GPLv2-only, as it derives from the Linux kernel, while other code is GPLv2-or-later. -
11. Kernel Design 11
11. Kernel Design 11. Kernel Design Interrupts and Exceptions Low-Level Synchronization Low-Level Input/Output Devices and Driver Model File Systems and Persistent Storage Memory Management Process Management and Scheduling Operating System Trends Alternative Operating System Designs 269 / 352 11. Kernel Design Bottom-Up Exploration of Kernel Internals Hardware Support and Interface Asynchronous events, switching to kernel mode I/O, synchronization, low-level driver model Operating System Abstractions File systems, memory management Processes and threads Specific Features and Design Choices Linux 2.6 kernel Other UNIXes (Solaris, MacOS), Windows XP and real-time systems 270 / 352 11. Kernel Design – Interrupts and Exceptions 11. Kernel Design Interrupts and Exceptions Low-Level Synchronization Low-Level Input/Output Devices and Driver Model File Systems and Persistent Storage Memory Management Process Management and Scheduling Operating System Trends Alternative Operating System Designs 271 / 352 11. Kernel Design – Interrupts and Exceptions Hardware Support: Interrupts Typical case: electrical signal asserted by external device I Filtered or issued by the chipset I Lowest level hardware synchronization mechanism Multiple priority levels: Interrupt ReQuests (IRQ) I Non-Maskable Interrupts (NMI) Processor switches to kernel mode and calls specific interrupt service routine (or interrupt handler) Multiple drivers may share a single IRQ line IRQ handler must identify the source of the interrupt to call the proper → service routine 272 / 352 11. Kernel Design – Interrupts and Exceptions Hardware Support: Exceptions Typical case: unexpected program behavior I Filtered or issued by the chipset I Lowest level of OS/application interaction Processor switches to kernel mode and calls specific exception service routine (or exception handler) Mechanism to implement system calls 273 / 352 11. -
Understanding the Linux Kernel, 3Rd Edition by Daniel P
1 Understanding the Linux Kernel, 3rd Edition By Daniel P. Bovet, Marco Cesati ............................................... Publisher: O'Reilly Pub Date: November 2005 ISBN: 0-596-00565-2 Pages: 942 Table of Contents | Index In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks. The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does. This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics: • Memory management, including file buffering, process swapping, and Direct memory Access (DMA) • The Virtual Filesystem layer and the Second and Third Extended Filesystems • Process creation and scheduling • Signals, interrupts, and the essential interfaces to device drivers • Timing • Synchronization within the kernel • Interprocess Communication (IPC) • Program execution Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. -
Linux Kernel Synchronization
10/27/12 Logical Diagram Binary Memory Threads Formats Allocators Linux kernel Today’s Lecture User SynchronizationSystem Calls Kernel synchronization in the kernel RCU File System Networking Sync Don Porter CSE 506 Memory Device CPU Management Drivers Scheduler Hardware Interrupts Disk Net Consistency Why Linux Warm-up synchronization? ò What is synchronization? ò A modern OS kernel is one of the most complicated parallel programs you can study ò Code on multiple CPUs coordinate their operations ò Examples: ò Other than perhaps a database ò Includes most common synchronization patterns ò Locking provides mutual exclusion while changing a pointer-based data structure ò And a few interesting, uncommon ones ò Threads might wait at a barrier for completion of a phase of computation ò Coordinating which CPU handles an interrupt The old days: They didn’t Historical perspective worry! ò Why did OSes have to worry so much about ò Early/simple OSes (like JOS, pre-lab4): No need for synchronization back when most computers have only synchronization one CPU? ò All kernel requests wait until completion – even disk requests ò Heavily restrict when interrupts can be delivered (all traps use an interrupt gate) ò No possibility for two CPUs to touch same data 1 10/27/12 Slightly more recently A slippery slope ò Optimize kernel performance by blocking inside the kernel ò We can enable interrupts during system calls ò Example: Rather than wait on expensive disk I/O, block and ò More complexity, lower latency schedule another process until it completes ò We can block in more places that make sense ò Cost: A bit of implementation complexity ò Better CPU usage, more complexity ò Need a lock to protect against concurrent update to pages/ inodes/etc. -
Towards Scalable Synchronization on Multi-Cores
Towards Scalable Synchronization on Multi-Cores THÈSE NO 7246 (2016) PRÉSENTÉE LE 21 OCTOBRE 2016 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE PROGRAMMATION DISTRIBUÉE PROGRAMME DOCTORAL EN INFORMATIQUE ET COMMUNICATIONS ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE POUR L'OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES PAR Vasileios TRIGONAKIS acceptée sur proposition du jury: Prof. J. R. Larus, président du jury Prof. R. Guerraoui, directeur de thèse Dr T. Harris, rapporteur Dr G. Muller, rapporteur Prof. W. Zwaenepoel, rapporteur Suisse 2016 “We can only see a short distance ahead, but we can see plenty there that needs to be done.” — Alan Turing To my parents, Eirini and Charalampos Acknowledgements “The whole is greater than the sum of its parts.” — Aristotle To date, my education (i.e., diploma, M.Sc., and Ph.D.) has lasted for 13 years. I could not possibly be here and sustain all the pressure (and of course the financial expenses) without the help and support of my family, Eirini (my mother), Charalampos (my father), and Eleni (my sister). I want to deeply thank them for being there for me throughout these years. In my experience, a successful Ph.D. thesis in the area called “systems” (i.e., with a focus on software systems) requires either 10 years of solo work, or 5–6 years of fruitful collaborations. I was lucky enough to belong in the latter category and to have the chance to collaborate with many amazing people in producing the research that is included in this dissertation. This is actually the main reason why in the main body of this dissertation I use “we” instead of “I.” First and foremost, I would like to thank my advisor, Rachid Guerraoui. -
Synchronizations in Linux
W4118 Operating Systems Instructor: Junfeng Yang Learning goals of this lecture Different flavors of synchronization primitives and when to use them, in the context of Linux kernel How synchronization primitives are implemented for real “Portable” tricks: useful in other context as well (when you write a high performance server) Optimize for common case 2 Synchronization is complex and subtle Already learned this from the code examples we’ve seen Kernel synchronization is even more complex and subtle Higher requirements: performance, protection … Code heavily optimized, “fast path” often in assembly, fit within one cache line 3 Recall: Layered approach to synchronization Hardware provides simple low-level atomic operations , upon which we can build high-level, synchronization primitives , upon which we can implement critical sections and build correct multi-threaded/multi-process programs Properly synchronized application High-level synchronization primitives Hardware-provided low-level atomic operations 4 Outline Low-level synchronization primitives in Linux Memory barrier Atomic operations Synchronize with interrupts Spin locks High-level synchronization primitives in Linux Completion Semaphore Futex Mutex 5 Architectural dependency Implementation of synchronization primitives: highly architecture dependent Hardware provides atomic operations Most hardware platforms provide test-and-set or similar: examine and modify a memory location atomically Some don’t, but would inform if operation attempted was atomic 6 Memory -
Is Parallel Programming Hard, And, If So, What Can You Do About It?
Is Parallel Programming Hard, And, If So, What Can You Do About It? Edited by: Paul E. McKenney Linux Technology Center IBM Beaverton [email protected] January 2, 2017 ii Legal Statement This work represents the views of the editor and the authors and does not necessarily represent the view of their respective employers. Trademarks: • IBM, zSeries, and PowerPC are trademarks or registered trademarks of Interna- tional Business Machines Corporation in the United States, other countries, or both. • Linux is a registered trademark of Linus Torvalds. • i386 is a trademark of Intel Corporation or its subsidiaries in the United States, other countries, or both. • Other company, product, and service names may be trademarks or service marks of such companies. The non-source-code text and images in this document are provided under the terms of the Creative Commons Attribution-Share Alike 3.0 United States license.1 In brief, you may use the contents of this document for any purpose, personal, commercial, or otherwise, so long as attribution to the authors is maintained. Likewise, the document may be modified, and derivative works and translations made available, so long as such modifications and derivations are offered to the public on equal terms as the non-source-code text and images in the original document. Source code is covered by various versions of the GPL.2 Some of this code is GPLv2-only, as it derives from the Linux kernel, while other code is GPLv2-or-later. See the comment headers of the individual source files within the CodeSamples directory in the git archive3 for the exact licenses. -
Université De Montréal Low-Impact Operating
UNIVERSITE´ DE MONTREAL´ LOW-IMPACT OPERATING SYSTEM TRACING MATHIEU DESNOYERS DEPARTEMENT´ DE GENIE´ INFORMATIQUE ET GENIE´ LOGICIEL ECOLE´ POLYTECHNIQUE DE MONTREAL´ THESE` PRESENT´ EE´ EN VUE DE L’OBTENTION DU DIPLOMEˆ DE PHILOSOPHIÆ DOCTOR (Ph.D.) (GENIE´ INFORMATIQUE) DECEMBRE´ 2009 c Mathieu Desnoyers, 2009. UNIVERSITE´ DE MONTREAL´ ECOL´ E POLYTECHNIQUE DE MONTREAL´ Cette th`ese intitul´ee : LOW-IMPACT OPERATING SYSTEM TRACING pr´esent´ee par : DESNOYERS Mathieu en vue de l’obtention du diplˆome de : Philosophiæ Doctor a ´et´edˆument accept´ee par le jury constitu´ede : Mme. BOUCHENEB Hanifa, Doctorat, pr´esidente M. DAGENAIS Michel, Ph.D., membre et directeur de recherche M. BOYER Fran¸cois-Raymond, Ph.D., membre M. STUMM Michael, Ph.D., membre iii I dedicate this thesis to my family, to my friends, who help me keeping balance between the joy of sharing my work, my quest for knowledge and life. Je d´edie cette th`ese `ama famille, `ames amis, qui m’aident `aconserver l’´equilibre entre la joie de partager mon travail, ma quˆete de connaissance et la vie. iv Acknowledgements I would like to thank Michel Dagenais, my advisor, for believing in my poten- tial and letting me explore the field of operating systems since the beginning of my undergraduate studies. I would also like to thank my mentors, Robert Wisniewski from IBM Research and Martin Bligh, from Google, who have been guiding me through the internships I have done in the industry. I keep a good memory of these experiences and am honored to have worked with them. A special thanks to Paul E. -
Amazon Guardduty Security Review
Amazon GuardDuty Security Review Prepared by: Andrew McKenna, Principal Consultant Dimitris Kamenopoulos, Information Security Officer Keith Lee, Senior Penetration Tester Foregenix Inc. | 75 State St., 1st Floor, Boston, MA, 02109 | USA | +1 (877) 418 4774 AWS Security Services 1 Executive Summary Cloud Technologies are largely subject to the same attack vectors seen in more traditional on-premise deployments, and therefore when it comes to cyber security, they require the same level of attention. However, Cloud Technologies like Amazon Web Services (AWS) also introduce new opportunities for more effective defence, and the correct understanding of this is critical for a successful cyber security strategy. Cloud providers can sometimes struggle to provide a granular level of access to internal security events and other interesting system behavior indicators, but when these are available, cyber security vendors can consume them and use them to generate appropriate security responses. AWS provides a dedicated service for this task, Amazon GuardDuty. Foregenix has been engaged by AWS to perform an independent cyber security assessment of GuardDuty and produce an opinion in relation to how the service compares with other recognised industry solutions in relation to three specific areas: 1. Ability to detect suspected intrusions and alert personnel to suspicious activity 2. Ability to support PCI DSS compliance requirements 3. Ability to deploy and activate without expert skills The Testing Environment Foregenix configured a lab environment to perform testing using extensive and complex attack playbooks. The lab environment simulated a real world deployment composed of a web server, a bastion box and an internal server used for centralised event logging. -
A Survey of Ethernet LAN Security Timo Kiravuo, Mikko S¨Arel¨A, and Jukka Manner
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013 1477 A Survey of Ethernet LAN Security Timo Kiravuo, Mikko S¨arel¨a, and Jukka Manner Abstract—Ethernet is the survivor of the LAN wars. It is switched, full-duplex, collision free Ethernet is considered the hard to find an IP packet that has not passed over an Ethernet standard low cost LAN solution for workstations and laptops, segment. One important reason for this is Ethernet’s simplicity and 10 Gbps is commonly available for servers and high and ease of configuration. However, Ethernet has always been known to be an insecure technology. Recent successful malware throughput hosts. attacks and the move towards cloud computing in data centers Ethernet segments are also being expanded, both in distance demand that attention be paid to the security aspects of Ethernet. and capacity, using various techniques [4]. Network operators In this paper, we present known Ethernet related threats and are starting to design edge to edge Ethernets, using the layer 2 discuss existing solutions from business, hacker, and academic communities. Major issues, like insecurities related to Address Ethernet internally to replace higher layer activities like IP Resolution Protocol and to self-configurability, are discussed. The routing and addressing, leaving them to be considered only solutions fall roughly into three categories: accepting Ethernet’s at the edges of the network. The motivation for having larger insecurity and circling it with firewalls; creating a logical Ethernet segments is to handle traffic at a layer lower than the separation between the switches and end hosts; and centralized IP layer. -
Testován´I Propustnosti
Masarykova univerzita }w¡¢£¤¥¦§¨ Fakulta informatiky !"#$%&'()+,-./012345<yA| Testov´an´ıpropustnosti IDS Diplomova´ prace´ Jakub Dobrovoln´y Brno, 2011 Prohl´aˇsen´ı Prohlaˇsuji,ˇzetato pr´aceje m´ymp˚uvodn´ımautorsk´ymd´ılem,kter´ejsem vypracoval samostatnˇe.Vˇsechny zdroje, prameny a literaturu, kter´ejsem pˇrivypracov´an´ıpouˇz´ıval nebo z nich ˇcerpal,v pr´aciˇr´adnˇecituji s uveden´ım ´upln´ehoodkazu na pˇr´ısluˇsn´yzdroj. Jakub Dobrovoln´y Podˇekov´an´ı R´adbych zde podˇekoval sv´emu vedouc´ımu pr´aceRNDr. V´aclavu Lorencovi a konzultantovi Mari´anovi Krˇcm´arikovi za vstˇr´ıcn´ypˇr´ıstup,rady a pˇripom´ınky pˇriˇreˇsen´ım´ediplomov´epr´acea pˇredevˇs´ımza ˇcas,kter´ymi vˇenovali. D´ale bych velmi r´adpodˇekoval sv´erodinˇeza podporu a motivaci v nejtˇeˇzˇs´ıch chv´ıl´ıch a tak´esv´ympˇr´atel˚um.Dˇekuji. Shrnut´ı Pˇriprodeji nebo koupi nˇejak´ehov´yrobkuje d˚uleˇzit´eo nˇemzn´atco nejv´ıce ´udaj˚u.Tato pr´acese zab´yv´ametodikou pro testov´an´ısyst´em˚una detekci s´ıt'ov´ych pr˚unik˚u,kter´alze pouˇz´ıtna jak´emkoliv syst´emu, bez ohledu na jeho v´yrobce. Jsou probr´any r˚uzn´en´astroje vhodn´ek proveden´ınavrhovan´ych test˚ua na z´avˇerje nˇekolik test˚uprovedeno na v´yrobkuKernun a dosaˇzen´e v´ysledkyshrnuty. Kl´ıˇcov´aslova propustnost, Intrusion Detection System, IDS, syst´emna detekci s´ıt'ov´ych ´utok˚u,Kernun, tcpprep, tcpreplay, tcprewrite, wireshark Obsah 1 Uvod´ 10 1.1 Ofici´aln´ızad´an´ıpr´ace . 11 2 Syst´emy na detekci s´ıt'ov´ych pr˚unik˚u 12 2.1 Co jsou ID(P)S . -
Concurrent Lazy Splay Tree with Relativistic Programming Approach
UNLV Theses, Dissertations, Professional Papers, and Capstones May 2015 Concurrent Lazy Splay Tree with Relativistic Programming Approach Jaya Ram Sedai University of Nevada, Las Vegas Follow this and additional works at: https://digitalscholarship.unlv.edu/thesesdissertations Part of the Computer Sciences Commons Repository Citation Sedai, Jaya Ram, "Concurrent Lazy Splay Tree with Relativistic Programming Approach" (2015). UNLV Theses, Dissertations, Professional Papers, and Capstones. 2424. http://dx.doi.org/10.34917/7646047 This Thesis is protected by copyright and/or related rights. It has been brought to you by Digital Scholarship@UNLV with permission from the rights-holder(s). You are free to use this Thesis in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s) directly, unless additional rights are indicated by a Creative Commons license in the record and/ or on the work itself. This Thesis has been accepted for inclusion in UNLV Theses, Dissertations, Professional Papers, and Capstones by an authorized administrator of Digital Scholarship@UNLV. For more information, please contact [email protected]. CONCURRENT LAZY SPLAY TREE WITH RELATIVISTIC PROGRAMMING APPROACH by Jaya Ram Sedai Bachelor of Computer Engineering Tribhuvan University Institute of Engineering, Pulchowk Campus 2009 A thesis submitted in partial fulfillment of the requirements for the Master of Science Degree in Computer Science Department of Computer Science Howard R. Hughes College of Engineering The Graduate College University of Nevada, Las Vegas May 2015 Copyright by Jaya Ram Sedai, 2015 All Rights Reserved We recommend the thesis prepared under our supervision by Jaya Ram Sedai entitled Concurrent Lazy Splay Tree with Relativistic Programming Approach is approved in partial fulfillment of the requirements for the degree of Master of Science in Computer Science Department of Computer Science Ajoy K.