Compute Node OS for the XT3 Jim Harrell Cray Inc

Total Page:16

File Type:pdf, Size:1020Kb

Compute Node OS for the XT3 Jim Harrell Cray Inc Compute Node OS for the XT3 Jim Harrell Cray Inc ABSTRACT: Cray is working on different kernels for the compute node operating system. This talk will describe the rationale, requirements, and progress. KEYWORDS: Light Weight Kernel, Linux, XT a review of options for a CNOS in the 1. Introduction near future. The talk upon which this paper is based A review of the current CNOS, was designed to discuss the purpose and Catamount, provides the basis for issues around a small project working judging alternatives. Catamount is well on common Compute Node Operating understood and has set the standard on Systems, CNOS, for Several Cray XT for what a CNOS can be expected to products. The goal is to apprise the do. audience of the status of the work and next steps, but also to ensure that The current work on an alternative CNOS there is an understanding of the has focused on a Linux kernel. This has complexities that this project faces. caused a lot of discussion both For the purpose of this discussion we positive and negative. The use of a will use the CNOS term for the kernel Linux kernel for this project is not to that runs on a compute node. There are be construed as an intention to run a variety of other terms like Light full Linux on compute nodes. The Linux Weight Kernel, LWK, that would be kernel is modified to only support equally useful – but rather than use application processes. This differs multiple terms in a single discussion sharply from what a Linux user would we will use just the CNOS term to avoid expect on a standard server. In confusion. This talk was broken into a general, talking about CNOS and Linux number of sections. We will provide an appears to be less productive than overview of each section. talking about a different CNOS without explaining its derivation. We may The basis for a discussion about actually pursue this approach in the Compute Node Operating Systems, CNOS, future as it helps focus on the purpose is built around the software of the CNOS. Architecture of MPP style systems. The first segment of this paper will review There are some other alternative CNOSs the Architecture to re-establish the that could be used. Several are either importance of the CNOS in the System under development or currently more and help to define the functionality prototypes than a kernel Cray could use that is required of the CNOS. in a production environment. However, there are good reasons to track the The next section will describe a research and development in this area. rationale and set of requirements for a Promising developments might be useful CNOS. This project was started because in the future and should not be there is a set of new hardware ignored. We will review a few of these requirements in the future that will be CNOS possibilities. difficult to meet with the current CNOS. There is also a set of software Finally, we will discuss the current features that are requested to provide status of the project and the next a broader scope of applications for XT. steps that are being pursued. The These software features are considered project does have some commitments and difficult to add to the current CNOS. these will be ddiscussed. Together these new requirements started CUG 2006 Proceedings 1 of 8 2. A Review of XT System Architecture •Provides limited set of system call functions – most system calls forwarded The basic organization of XT is very to Service nodes familiar to anyone who has worked on an MPP in the past decades. An MPP is a •Small memory footprint and CPU form of distributed system where the utilization (when not servicing operating system services are provided requests) from a set of nodes that have complete systems installed including the servers Overall, a Compute Node Operating for all the distributed services. These System takes little of the processor nodes are called Service Nodes in the time available and performs the minimum XT Architecture. These nodes are set of functions required to support specialized to provide specific application process(es) assigned to the functions and to scale specific node. All of this ensure the forward functions, such as the number of login progress of a distributed application – nodes to scale the access for which is the purpose of the system. individual users or the number of I/O nodes to scale the access and quantity of disks for the system. The Compute 4. Rationale for a Different Compute Node Nodes, where all the user application processes are run, have a minimal Operating System kernel that provides a small set of There are three basic components of the functions and uses the Service Nodes rationale for a different CNOS – for all the application processes’ changes in processor/node technology, service requests – such as I/O. new features and functions required in the software, and the ability to 3. Compute Node Definition leverage a different CNOS between multiple Cray products. A definition of a Compute Node is often based on describing what the node does There are changes in Socket technology not do as opposed to what the node that are adding more and more cores per does. This is because a Compute Node is socket. The ability to take advantage designed to provide support only for an of these additional cores does factor application process and not for all the into a decision about a new CNOS. services that a normal operating system might provide. For instance, a Compute There are a number of applications that Node will support virtual memory would benefit from some additional CNOS because all processors today implement functionality. These include, memory support using Virtual memory networking access, support for new or techniques. However, Compute Node different file systems, support for Operating Systems will not support Global Arrays, and support for OpenMP. Demand Paging because the cost of the Support for OpenMP is obviously related I/O and the performance lost for a to the number of cores available in a distributed application because of the socket. OpenMP support would be limited time involved in managing the demand to within a node. paging. Cray has other products that use A Compute Node has the following Compute Node style Operating Systems. characteristics: It would be a benefit to Cray to be able to share the development of a CNOS •Provides support for the machine across several products. It would also dependent aspects of the node help move Cray software towards the longer-term goal of Adaptive •Supports the High Speed network (HSN) SuperComputing if the CNOS could be connection – HSN is “allocated” to operated and managed in the same way application usage across products. •Provides support for application processes allocated to the node CUG 2006 Proceedings 2 of 8 the application process. The following 5. Cray Requirements for a New CNOS diagram shows the structure of Catamount. The requirements for a new CNOS are based on the current CNOS, Catamount. Catamount has been successful at setting the standard by which a new CNOS will be judged. The areas Catamount has most influenced are boot time, application start time, and I/O performance. Boot time is an area of influence because Catamount can boot on several thousand nodes in seconds. The second major area of influence is application start time, because the start up time of an application is also a matter of small numbers of seconds for thousands of nodes. The area of I/O performance is a bar set by Catamount that any new CNOS must clear. Catamount support for I/O is sufficient for most applications and scales well. Catamount has also had influence in the number of nodes a CNOS can be expected to support. By supporting more than 10 thousand nodes the expectation is that Catamount memory footprint is minimal. a compute node operating system should Much of the space not left for user be able to support 30 thousand nodes. process(es) is buffer space for Portals. The following graph shows a There are features that are required or 4GB node and the Catamount kernel with desired by customers for their all components broken down to show applications that add to the space used. Obviously the majority of capabilities now supplied by Catamount. the space is left to the user These are support for sockets or process(es). networking, support for SHMEM, UPC, CAF, and Global arrays, signal support, and as already mentioned support for OpenMP. Each of these additional Catamount Memory Usage features brings some issues as well. Support for networking means that each Compute Node will have to have an IP address if the implementation adds a network stack to each compute node. 1 page tables 1.3 QK text and data 1.7 alignment pool (page tables) 1 I/O mapping 10 Page tables (4GB node) 10 Network buffer 6. Catamount Review 64 Shared Memory and Event Queues 1 Alignment space 2 PCT code and data The Catamount kernel is currently used 2 Alignment space 2 PCT Stack on all XT3 systems. The basic structure 16 PCT Buffers 3 mimimum program and runtime librart of Catamount is similar to many 3885 User memory operating systems. There is a low level machine dependent kernel which supports the hardware and system call functionality. There is a set of libraries and support services. In the case of Catamount the support services 7. Catamount Positives are reduced to just the Process Control Thread (PCT) which provides support for Catamount obviously has positive attributes.
Recommended publications
  • Seminar HPC Trends Winter Term 2017/2018 New Operating System Concepts for High Performance Computing
    Seminar HPC Trends Winter Term 2017/2018 New Operating System Concepts for High Performance Computing Fabian Dreer Ludwig-Maximilians Universit¨atM¨unchen [email protected] January 2018 Abstract 1 The Impact of System Noise When using a traditional operating system kernel When running large-scale applications on clusters, in high performance computing applications, the the noise generated by the operating system can cache and interrupt system are under heavy load by greatly impact the overall performance. In order to e.g. system services for housekeeping tasks which is minimize overhead, new concepts for HPC OSs are also referred to as noise. The performance of the needed as a response to increasing complexity while application is notably reduced by this noise. still considering existing API compatibility. Even small delays from cache misses or interrupts can affect the overall performance of a large scale In this paper we study the design concepts of het- application. So called jitter even influences collec- erogeneous kernels using the example of mOS and tive communication regarding the synchronization, the approach of library operating systems by ex- which can either absorb or propagate the noise. ploring the architecture of Exokernel. We sum- Even though asynchronous communication has a marize architectural decisions, present a similar much higher probability to absorb the noise, it is project in each case, Interface for Heterogeneous not completely unaffected. Collective operations Kernels and Unikernels respectively, and show suffer the most from propagation of jitter especially benchmark results where possible. when implemented linearly. But it is hard to anal- yse noise and its propagation for collective oper- ations even for simple algorithms.
    [Show full text]
  • The Linux Device File-System
    The Linux Device File-System Richard Gooch EMC Corporation [email protected] Abstract 1 Introduction All Unix systems provide access to hardware via de- vice drivers. These drivers need to provide entry points for user-space applications and system tools to access the hardware. Following the \everything is a file” philosophy of Unix, these entry points are ex- posed in the file name-space, and are called \device The Device File-System (devfs) provides a power- special files” or \device nodes". ful new device management mechanism for Linux. Unlike other existing and proposed device manage- This paper discusses how these device nodes are cre- ment schemes, it is powerful, flexible, scalable and ated and managed in conventional Unix systems and efficient. the limitations this scheme imposes. An alternative mechanism is then presented. It is an alternative to conventional disc-based char- acter and block special devices. Kernel device drivers can register devices by name rather than de- vice numbers, and these device entries will appear in the file-system automatically. 1.1 Device numbers Devfs provides an immediate benefit to system ad- ministrators, as it implements a device naming scheme which is more convenient for large systems Conventional Unix systems have the concept of a (providing a topology-based name-space) and small \device number". Each instance of a driver and systems (via a device-class based name-space) alike. hardware component is assigned a unique device number. Within the kernel, this device number is Device driver authors can benefit from devfs by used to refer to the hardware and driver instance.
    [Show full text]
  • Cielo Computational Environment Usage Model
    Cielo Computational Environment Usage Model With Mappings to ACE Requirements for the General Availability User Environment Capabilities Release Version 1.1 Version 1.0: Bob Tomlinson, John Cerutti, Robert A. Ballance (Eds.) Version 1.1: Manuel Vigil, Jeffrey Johnson, Karen Haskell, Robert A. Ballance (Eds.) Prepared by the Alliance for Computing at Extreme Scale (ACES), a partnership of Los Alamos National Laboratory and Sandia National Laboratories. Approved for public release, unlimited dissemination LA-UR-12-24015 July 2012 Los Alamos National Laboratory Sandia National Laboratories Disclaimer Unless otherwise indicated, this information has been authored by an employee or employees of the Los Alamos National Security, LLC. (LANS), operator of the Los Alamos National Laboratory under Contract No. DE-AC52-06NA25396 with the U.S. Department of Energy. The U.S. Government has rights to use, reproduce, and distribute this information. The public may copy and use this information without charge, provided that this Notice and any statement of authorship are reproduced on all copies. Neither the Government nor LANS makes any warranty, express or implied, or assumes any liability or responsibility for the use of this information. Bob Tomlinson – Los Alamos National Laboratory John H. Cerutti – Los Alamos National Laboratory Robert A. Ballance – Sandia National Laboratories Karen H. Haskell – Sandia National Laboratories (Editors) Cray, LibSci, and PathScale are federally registered trademarks. Cray Apprentice2, Cray Apprentice2 Desktop, Cray C++ Compiling System, Cray Fortran Compiler, Cray Linux Environment, Cray SHMEM, Cray XE, Cray XE6, Cray XT, Cray XTm, Cray XT3, Cray XT4, Cray XT5, Cray XT5h, Cray XT5m, Cray XT6, Cray XT6m, CrayDoc, CrayPort, CRInform, Gemini, Libsci and UNICOS/lc are trademarks of Cray Inc.
    [Show full text]
  • Stepping Towards a Noiseless Linux Environment
    ROSS 2012 | June 29 2012 | Venice, Italy STEPPING TOWARDS A NOISELESS LINUX ENVIRONMENT Hakan Akkan*, Michael Lang¶, Lorie Liebrock* Presented by: Abhishek Kulkarni¶ * New Mexico Tech ¶ Ultrascale Systems Research Center New Mexico Consortium Los Alamos National Laboratory 29 June 2012 Stepping Towards A Noiseless Linux Environment 2 Motivation • HPC applications are unnecessarily interrupted by the OS far too often • OS noise (or jitter) includes interruptions that increase an application’s time to solution • Asymmetric CPU roles (OS cores vs Application cores) • Spatio-temporal partitioning of resources (Tessellation) • LWK and HPC Oses improve performance at scale 29 June 2012 Stepping Towards A Noiseless Linux Environment 3 OS noise exacerbates at scale • OS noise can cause a significant slowdown of the app • Delays the superstep since synchronization must wait for the slowest process: max(wi) Image: The Case of the Missing Supercomputer Performance, Petrini et. Al, 2003 29 June 2012 Stepping Towards A Noiseless Linux Environment 4 Noise co-scheduling • Co-scheduling the noise across the machine so all processes pay the price at the same time Image: The Case of the Missing Supercomputer Performance, Petrini et. Al, 2003 29 June 2012 Stepping Towards A Noiseless Linux Environment 5 Noise Resonance • Low frequency, Long duration noise • System services, daemons • Can be moved to separate cores • High frequency, Short duration noise • OS clock ticks • Not as easy to synchronize - usually much more frequent and shorter than the computation granularity of the application • Previous research • Tsafrir, Brightwell, Ferreira, Beckman, Hoefler • Indirect overhead is generally not acknowledged • Cache and TLB pollution • Other scalability issues: locking during ticks 29 June 2012 Stepping Towards A Noiseless Linux Environment 6 Some applications are memory and network bandwidth limited! *Sancho, et.
    [Show full text]
  • Considerations for the SDP Operating System
    DocuSign Envelope ID: E376CF60-053D-4FF0-8629-99235147B54B Considerations for the SDP Operating System Document Number .......SDP Memo 063 ………………………………………………………………… Document Type .. MEMO ……………………………………………………………………… ………… Revision . 01 ………………………………………………………………………… ………… ………… Author . N. Erdödy, R. O’Keefe ………………………………………………………………………… … Release Date ... .2018-08-31 …………………………………………………………………………… … Document Classification ... Unrestricted ………………………………………………………………… Status ... Draft ………………………………………………………………………………………… … Document No: 063 Unrestricted Revision: 01 Author: N. Erdödy ​ Release Date: 2018-08-31 Page 1 of 56 DocuSign Envelope ID: E376CF60-053D-4FF0-8629-99235147B54B Lead Author Designation Affiliation Nicolás Erdödy SDP Team Open Parallel Ltd. NZ SKA Alliance (NZA). Signature & Date: 10/21/2018 8:19:36 PM PDT With contributions and reviews Affiliation greatly appreciated from Dr. Richard O’Keefe SDP Team, NZA University of Otago - Open Parallel (NZA) Dr. Andrew Ensor Director, NZA AUT University (NZA) Piers Harding SDP Team, NZA Catalyst IT (NZA) Robert O’Brien Systems Engineer / Security Independent Anonymous Reviewer CEng (UK), CPEng (NZ) Manager, NZ Govt ORGANISATION DETAILS Name Science Data Processor Consortium Address Astrophysics Cavendish Laboratory JJ Thomson Avenue Cambridge CB3 0HE Website http://ska-sdp.org Email [email protected] Document No: 063 Unrestricted Revision: 01 Author: N. Erdödy ​ Release Date: 2018-08-31 Page 2 of 56 DocuSign Envelope ID: E376CF60-053D-4FF0-8629-99235147B54B 1. SDP Memo Disclaimer The SDP memos are designed to allow the quick recording of investigations and research done by members of the SDP. They are also designed to raise questions about parts of the SDP design or SDP process. The contents of a memo may be the opinion of the author, not the whole of the SDP. Acknowledgement: The authors wish to acknowledge the inputs, corrections and continuous support from the NZA Team Members Dr.
    [Show full text]
  • CN-Linux (Compute Node Linux)
    CN-Linux (Compute Node Linux) Alex Nagelberg August 4, 2006 Contents Abstract 2 Introduction 2 Overview of the BlueGene/L Architecture 3 ZOID (Zepto OS I/O Daemon) 4 CN-Linux (Compute Node Linux) 4 Performance 5 Future Work 5 Acknowledgements 5 Performance Figures 6 References 8 1 Abstract BlueGene/L [1] (BG/L) is a supercomputer engineered by IBM researchers with space-saving and low power-consumption in mind. BG/L’s architecture utilizes many nodes containing few components, which interact with each other to perform a given task. The nodes are divided in to 3 parts: the compute nodes, which handle computation; the I/O nodes, which route all input/output system calls appropriately to/from compute nodes; and the service nodes, which are regular computer systems that manage hardware resources and perform job control. There is currently no simple solution for compiling a large project on the BG/L. IBM has written its own proprietary operating system to run a process on a compute node (known as BLRTS). Simply compiling GCC (GNU Compiler Collection) for the BLRTS OS returned errors with memory allocation. Popular compilers also usually require multiple processes (to invoke compilation to assembly, compilation of assembly, and linking) as well as shared libraries in which BLRTS does not allow. These issues could be resolved using a Linux-based operating system, such as ZeptoOS, [2] under development at Argonne. Linux is now functional on compute nodes using a hack to execute the kernel under BLRTS. Libraries were written to initialize and perform communication of system calls to the I/O nodes by porting hacked GLIBC BLRTS code.
    [Show full text]
  • Exascale Computing Study: Technology Challenges in Achieving Exascale Systems
    ExaScale Computing Study: Technology Challenges in Achieving Exascale Systems Peter Kogge, Editor & Study Lead Keren Bergman Shekhar Borkar Dan Campbell William Carlson William Dally Monty Denneau Paul Franzon William Harrod Kerry Hill Jon Hiller Sherman Karp Stephen Keckler Dean Klein Robert Lucas Mark Richards Al Scarpelli Steven Scott Allan Snavely Thomas Sterling R. Stanley Williams Katherine Yelick September 28, 2008 This work was sponsored by DARPA IPTO in the ExaScale Computing Study with Dr. William Harrod as Program Manager; AFRL contract number FA8650-07-C-7724. This report is published in the interest of scientific and technical information exchange and its publication does not constitute the Government’s approval or disapproval of its ideas or findings NOTICE Using Government drawings, specifications, or other data included in this document for any purpose other than Government procurement does not in any way obligate the U.S. Government. The fact that the Government formulated or supplied the drawings, specifications, or other data does not license the holder or any other person or corporation; or convey any rights or permission to manufacture, use, or sell any patented invention that may relate to them. APPROVED FOR PUBLIC RELEASE, DISTRIBUTION UNLIMITED. This page intentionally left blank. DISCLAIMER The following disclaimer was signed by all members of the Exascale Study Group (listed below): I agree that the material in this document reects the collective views, ideas, opinions and ¯ndings of the study participants only, and not those of any of the universities, corporations, or other institutions with which they are a±liated. Furthermore, the material in this document does not reect the o±cial views, ideas, opinions and/or ¯ndings of DARPA, the Department of Defense, or of the United States government.
    [Show full text]
  • Argo Nodeos: Toward Unified Resource Management for Exascale
    Argo NodeOS: Toward Unified Resource Management for Exascale Swann Perarnau∗, Judicael A. Zounmevo∗, Matthieu Dreher∗, Brian C. Van Essen‡, Roberto Gioiosa†, Kamil Iskra∗, Maya B. Gokhale‡, Kazutomo Yoshii∗, Pete Beckman∗ ∗Argonne National Laboratory. fswann, [email protected], fiskra, kazutomo, beckmangmcs.anl.gov, [email protected] †Pacific Northwest National Laboratory. [email protected] ‡Lawrence Livermore National Laboratory. fvanessen1, [email protected] Abstract—Exascale systems are expected to feature hundreds of shared resources on the node (CPU, memory, NIC, etc.) using thousands of compute nodes with hundreds of hardware threads multiplexing techniques such as time sharing and swapping, and complex memory hierarchies with a mix of on-package and which may be disruptive to many HPC workloads, to coarsely persistent memory modules. In this context, the Argo project is developing a new operating partitioning those numerous resources and bundling them system for exascale machines. Targeting production workloads together in an integrated fashion through a unified interface— using workflows or coupled codes, we improve the Linux kernel containers. Lightweight runtimes [2], [3], forming part of on several fronts. We extend the memory management of Linux comprehensive parallel programming frameworks, will then to be able to subdivide NUMA memory nodes, allowing better be given exclusive control of resources to perform custom resource partitioning among processes running on the same node. We also add support for memory-mapped access to node-local, redistribution according to their knowledge of the application PCIe-attached NVRAM devices and introduce a new scheduling and its inner parallelism. Such an approach ensures a more class targeted at parallel runtimes supporting user-level load deterministic execution and noticeably lower overheads.
    [Show full text]
  • Using Containers to Deploy HPC Applications on Supercomputers and Clouds Andrew J
    A Tale of Two Systems: Using Containers to Deploy HPC Applications on Supercomputers and Clouds Andrew J. Younge, Kevin Pedretti, Ryan E. Grant, Ron Brightwell Center for Computing Research Sandia National Laboratories* Email: ajyoung, ktpedre, regrant, rbbrigh @sandia.gov { } Abstract—Containerization, or OS-level virtualization has needs to be enhanced to more appropriately support these types taken root within the computing industry. However, container of emerging software ecosystems. utilization and its impact on performance and functionality Within core algorithms and applications development efforts within High Performance Computing (HPC) is still relatively undefined. This paper investigates the use of containers with at Sandia, there is an increased reliance on testing, debugging, advanced supercomputing and HPC system software. With this, and performance portability for mission HPC applications. we define a model for parallel MPI application DevOps and This is first due to the heterogeneity that has flourished across deployment using containers to enhance development effort multiple diverse HPC platforms, from many-core architectures and provide container portability from laptop to clouds or to GPUs. This heterogeneity has led to increased complexity supercomputers. In this endeavor, we extend the use of Sin- gularity containers to a Cray XC-series supercomputer. We when deploying new software on large-scale HPC platforms, use the HPCG and IMB benchmarks to investigate potential whereby the path from code development to large-scale de- points of overhead and scalability with containers on a Cray ployment has grown considerably. Furthermore, development XC30 testbed system. Furthermore, we also deploy the same efforts for codes that target extreme-scale supercomputing containers with Docker on Amazon’s Elastic Compute Cloud facilities, such as the Trinity supercomputer [4], are often (EC2), and compare against our Cray supercomputer testbed.
    [Show full text]
  • Serverové Operačné Systémy UNIX – Učebný Text Pre Stredné a Vysoké Školy
    Serverové operačné systémy UNIX – učebný text pre stredné a vysoké školy Martin Šechný SERVEROVÉ OPERAČNÉ SYSTÉMY UNIX Martin Šechný 2016 verzia 3.18 Serverové operačné systémy UNIX – učebný text pre stredné a vysoké školy Martin Šechný poďakovanie V tomto učebnom texte som zosumarizoval množstvo poznatkov z rôznych zdrojov, z odborných kurzov Oracle University / GOPAS SR – IT školiace stredisko, Bratislava a hlavne od komunity ľudí pracujúcich so slobodným a otvoreným softvérom. Pri písaní som sa inšpiroval perfektnými prednáškami z architektúry počítačov od prof. Norberta Frištackého († 2006), za čo mu patrí vďaka. názov Serverové operačné systémy UNIX URL http://www.shenk.sk/skola/informatika/serverove-operacne-systemy-unix.pdf autor © 2012 – 2016, Mgr. Martin Šechný, martin.sechny @ shenk.sk poznámka Prvá verzia tohto učebného textu z roku 2012, zložená z teórie a cvičení, patrí k projektu Tvorba a implementácia inovatívneho programu Informačné a sieťové technológie, spolufinancovanom zo zdrojov EÚ v operačnom programe Vzdelávanie. licencia CC-BY-SA 4.0 certifikáty autora http://sk.creativecommons.org http://creativecommons.org/licenses/by-sa/4.0/ 2 Serverové operačné systémy UNIX – učebný text pre stredné a vysoké školy Martin Šechný Obsah 1 Úvod 5 2 Základné pojmy 6 2.1 Bloková štruktúra operačného systému 8 2.2 Plánovanie procesov a vlákien 9 2.3 Virtuálna pamäť 10 2.4 Disk, diskové pole, dátové úložisko 11 2.5 Delenie a formátovanie disku, súborový systém 13 2.6 História operačných systémov 16 2.7 Licencia 18 3 Riadenie IT, správa
    [Show full text]
  • Reducing the Boot Time of Embedded Linux Systems
    FACULTY OF INFORMATION TECHNOLOGY AND ELECTRICAL ENGINEERING Tomi Kyöstilä REDUCING THE BOOT TIME OF EMBEDDED LINUX SYSTEMS Master’s Thesis Degree Programme in Computer Science and Engineering September 2018 Kyöstilä T. (2018) Reducing the boot time of embedded Linux systems. University of Oulu, Degree Programme in Computer Science and Engineering. Master’s thesis, 51 p. ABSTRACT The increase of the functionality of consumer electronics has complicated the soft- ware embedded in them. The functionality previously implemented in hardware has been steadily shifting into software, which also increases its complexity. To- gether, these developments have led to reduced performance and longer start-up delays. Consumer electronics need to have a positive user experience, which is also affected by the boot time. The methods for reducing the start-up time of an embedded Linux system can be categorized by the boot phases they can target: bootloaders, kernel initial- ization, or user space initialization. Compression can be applied in various sit- uations, while prefetching to the page cache (readahead) is relevant only to user space initialization. Hibernation can be used to entirely avoid user space initial- ization, which is usually the most time-consuming boot phase in Android systems. Developers need to know what impact their solutions and hardware choices have on the boot time. For this purpose, a measurement system was developed, which can automatically reboot the target system and collect a large sample of start-up time measurements. A large sample size is important because of the variance of the boot time even in a fixed target configuration. The measurement system was validated by using it when optimizing the start- up time of an Android system for use in an embedded consumer electronics device.
    [Show full text]
  • Compute Node Linux
    Redpaper Brant Knudson Jeff Chauvin Jeffrey Lien Mark Megerian Andrew Tauferner IBM System Blue Gene Solution: Compute Node Linux Overview This IBM® Redpaper publication describes the use of compute node Linux® on the IBM System Blue Gene® Solution. Readers of this paper need to be familiar with general Blue Gene/P™ system administration and application development concepts. The normal boot process for a Blue Gene/P partition loads Linux on the I/O nodes and loads the Blue Gene/P Compute Node Kernel (CNK) on the compute nodes. This standard configuration provides the best performance and reliability for running applications on Blue Gene/P. The lightweight CNK provides a subset of system calls and has tight control over the threads and processes that run on the node. Thus, using the CNK provides very little interference with the applications that run on the compute nodes. Blue Gene/P release V1R3 provides compute node Linux, a new feature that allows users to run Linux on the compute nodes. This feature provides a new means for research and experimentation by allowing all of the compute nodes in a Blue Gene/P partition to operate independently with a full Linux kernel. While this environment is not optimal for running high-performance applications or running highly parallel applications that communicate using the Message Passing Interface (MPI), you might have an environment where you want Blue Gene/P to act like a large cluster of nodes that are each running Linux. The term High-Throughput Computing (HTC) is used to describe applications that are running in this environment.
    [Show full text]