Hrtimers and Beyond: Transforming the Linux Time Subsystems

Total Page:16

File Type:pdf, Size:1020Kb

Hrtimers and Beyond: Transforming the Linux Time Subsystems Hrtimers and Beyond: Transforming the Linux Time Subsystems Thomas Gleixner Douglas Niehaus linutronix University of Kansas [email protected] [email protected] Abstract will complement and complete the hrtimers and timeofday components to create a solid foun- dation for architecture independent support of Several projects have tried to rework Linux high-resolution timers and dynamic ticks. time and timers code to add functions such as high-precision timers and dynamic ticks. Pre- vious efforts have not been generally accepted, in part, because they considered only a sub- 1 Introduction set of the related problems requiring an inte- grated solution. These efforts also suffered sig- nificant architecture dependence creating com- Time keeping and use of clocks is a fundamen- plexity and maintenance costs. This paper tal aspect of operating system implementation, presents a design which we believe provides a and thus of Linux. Clock related services in op- generally acceptable solution to the complete erating systems fall into a number of different set of problems with minimum architecture de- categories: pendence. • time keeping The three major components of the design are hrtimers, John Stulz’s new timeofday approach, • clock synchronization and a new component called clock events. Clock events manages and distributes clock • time-of-day representation events and coordinates the use of clock event • next event interrupt scheduling handling functions. The hrtimers subsystem has been merged into Linux 2.6.16. Although • process and in-kernel timers the name implies “high resolution” there is no change to the tick based timer resolution at • process accounting this stage. John Stultz’s timeofday rework ad- • process profiling dresses jiffy and architecture independent time keeping and has been identified as a fundamen- tal preliminary for high resolution timers and These service categories exhibit strong interac- tickless/dynamic tick solutions. This paper pro- tions among their semantics at the design level vides details on the hrtimers implementation and tight coupling among their components at and describes how the clock events component the implementation level. 334 • Hrtimers and Beyond: Transforming the Linux Time Subsystems Hardware devices capable of providing clock 2 Previous Efforts sources vary widely in their capabilities, accu- racy, and suitability for use in providing the de- sired clock services. The ability to use a given A number of efforts over many years have ad- hardware device to provide a particular clock dressed various clock related services and func- service also varies with its context in a unipro- tions in Linux including various approaches to cessor or multi-processor system. high resolution time keeping and event schedul- ing. However, all of these efforts have encoun- tered significant difficulty in gaining broad ac- Arch 1 ceptance because of the breadth of their impact Timekeeping TOD Clock source HW on the rest of the kernel, and because they gen- Tick ISR Clock event source HW erally addressed only a subset of the clock re- lated services in Linux. Arch 2 Process acc. TOD Clock source HW Profiling Interestingly, all those efforts have a common ISR Clock event source HW design pattern, namely the attempt to inte- Jiffies grate new features and services into the existing Arch 3 clock and timer infrastructure without changing Timer wheel TOD Clock source HW the overall design. ISR Clock event source HW There are no projects to our knowledge which attempt to solve the complete problem as we understand and have described it. All existing Figure 1: Linux Time System efforts, in our view, address only a part of the whole problem as we see it, which is why, in Figure 1 shows the current software architec- our opinion, the solutions to their target prob- ture of the clock related services in a vanilla 2.6 lems are more complex than under our pro- Linux system. The current implementation of posed architecure, and are thus less likely to be clock related services in Linux is strongly asso- accepted into the main line kernel. ciated with individual hardware devices, which results in parallel implementations for each ar- chitecture containing considerable amounts of essentially similar code. This code duplication 3 Required Abstractions across a large number of architectures makes it difficult to change the semantics of the clock related services or to add new features such The attempt to integrate high resolution timers as high resolution timers or dynamic ticks be- into Ingo Molnar’s real-time preemption patch cause even a simple change must be made in led to a thorough analysis of the Linux timer so many places and adjusted for so many im- and clock services infrastructure. While plementations. Two major factors make im- the comprehensive solution for addressing the plementing changes to Linux clock related ser- overall problem is a large-scale task it can be vices difficult: (1) the lack of a generic ab- separated into different problem areas. straction layer for clock services and (2) the assumption that time is tracked using periodic timer ticks (jiffies) that is strongly integrated • clock sources management for time keep- into much of the clock and timer related code. ing 2006 Linux Symposium, Volume One • 335 • clock synchronization 3.2 Clock Synchronization • time-of-day representation Crystal driven clock sources tend to be impre- • clock event management for scheduling cise due to variation in component tolerances next event interrupts and environmental factors, such as tempera- ture, resulting in slightly different clock tick • eliminating the assumption that timers are rates and thus, over time, different clock val- supported by periodic interrupts and ex- ues in different computers. The Network Time pressed in units of jiffies Protocol (NTP) and more recently GPS/GSM based synchronization mechanisms allow the correction of system time values and of clock These areas of concern are largely independent source drift with respect to a selected standard. and can thus be addressed more or less inde- Value correction is applied to the monotoni- pendently during implementation. However, cally increasing value of the hardware clock the important points of interaction among them source. This is an optional functionality as must be considered and supported in the overall it can only be applied when a suitable refer- design. ence time source is available. Support for clock synchronization is a separate component from those discussed here. There is work in progress 3.1 Clock Source Management to rework the current mechanism by John Stultz and Roman Zippel. An abstraction layer and associated API are re- quired to establish a common code framework 3.3 Time-of-day Representation for managing various clock sources. Within this framework, each clock source is required to maintain a representation of time as a monoton- The monotonically increasing time value pro- ically increasing value. At this time, nanosec- vided by many hardware clock sources cannot onds are the favorite choice for the time value be set. The generic interface for time-of-day units of a clock source. This abstraction layer representation must thus compensate for drift allows the user to select among a range of avail- as an offset to the clock source value, and rep- able hardware devices supporting clock func- resent the time-of-day (calendar or wall clock tions when configuring the system and pro- time) as a function of the clock source value. vides necessary infrastructure. This infras- The drift offset and parameters to the func- tructure includes, for example, mathematical tion converting the clock source value to a wall helper functions to convert time values specific clock value can set by manual interaction or to each clock source, which depend on prop- under control of software for synchronization erties of each hardware device, into the com- with external time sources (e.g. NTP). mon human-oriented time units used by the framework, i.e. nanoseconds. The centraliza- It is important to note that the current Linux im- tion of this functionality allows the system to plementation of the time keeping component is share significantly more code across architec- the reverse of the proposed solution. The inter- tures. This abstraction is already addressed by nal time representation tracks the time-of-day John Stultz’s work on a Generic Time-of-day time fairly directly and derives the monotoni- subsystem [5]. cally increasing nanosecond time value from it. 336 • Hrtimers and Beyond: Transforming the Linux Time Subsystems This is a relic of software development history and representation was one of the main prob- and the GTOD/NTP work is already addressing lems faced when implementing high resolution this issue. timers and variable interval event scheduling. All attempts to reuse the cascading timer wheel turned out to be incomplete and inefficient for 3.4 Clock Event Management various reasons. This led to the implementation of the hrtimers (former ktimers) subsystem. It While clock sources provide read access to provides the base for precise timer scheduling the monotonically increasing time value, clock and is designed to be easily extensible for high event sources are used to schedule the next resolution timers. event interrupt(s). The next event is currently defined to be periodic, with its period defined at compile time. The setup and selection of the event sources for various event driven func- 4 hrtimers tionalities is hardwired into the architecture de- pendent code. This results in duplicated code The current approach to timer management in across all architectures and makes it extremely Linux does a good job of satisfying an ex- difficult to change the configuration of the sys- tremely wide range of requirements, but it can- tem to use event interrupt sources other than not provide the quality of service required in those already built into the architecture. An- some cases precisely because it must satisfy other implication of the current design is that such a wide range of requirements.
Recommended publications
  • Washington, Wednesday, January 25, 1950
    VOLUME 15 ■ NUMBER 16 Washington, Wednesday, January 25, 1950 TITLE 3— THE PRESIDENT in paragraph (a) last above, to the in­ CONTENTS vention is insufficient equitably to justify EXECUTIVE ORDER 10096 a requirement of assignment to the Gov­ THE PRESIDENT ernment of the entire right, title and P roviding for a U niform P atent P olicy Executive Order Pase for the G overnment W ith R espect to interest to such invention, or in any case where the Government has insufficient Inventions made by Government I nventions M ade by G overnment interest in an invention to obtain entire employees; providing, for uni­ E mployees and for the Administra­ form patent policy for Govern­ tion of Such P olicy right, title and interest therein (although the Government could obtain some under ment and for administration of WHEREAS inventive advances in paragraph (a), above), the Government such policy________________ 389 scientific and technological fields fre­ agency concerned, subject to the ap­ quently result from governmental ac­ proval of the Chairman of the Govern­ EXECUTIVE AGENCIES tivities carried on by Government ment Patents Board (provided for in Agriculture Department employees; and paragraph 3 of this order and herein­ See Commodity Credit Corpora­ WHEREAS the Government of the after referred to as the Chairman), shall tion ; Forest Service; Production United States is expending large sums leave title to such invention in the and Marketing Administration. of money annually for the conduct of employee, subject, however, to the reser­ these activities;
    [Show full text]
  • Philip Gibbs EVENT-SYMMETRIC SPACE-TIME
    Event-Symmetric Space-Time “The universe is made of stories, not of atoms.” Muriel Rukeyser Philip Gibbs EVENT-SYMMETRIC SPACE-TIME WEBURBIA PUBLICATION Cyberspace First published in 1998 by Weburbia Press 27 Stanley Mead Bradley Stoke Bristol BS32 0EF [email protected] http://www.weburbia.com/press/ This address is supplied for legal reasons only. Please do not send book proposals as Weburbia does not have facilities for large scale publication. © 1998 Philip Gibbs [email protected] A catalogue record for this book is available from the British Library. Distributed by Weburbia Tel 01454 617659 Electronic copies of this book are available on the world wide web at http://www.weburbia.com/press/esst.htm Philip Gibbs’s right to be identified as the author of this work has been asserted by him in accordance with the Copyright, Designs and Patents Act 1988. All rights reserved, except that permission is given that this booklet may be reproduced by photocopy or electronic duplication by individuals for personal use only, or by libraries and educational establishments for non-profit purposes only. Mass distribution of copies in any form is prohibited except with the written permission of the author. Printed copies are printed and bound in Great Britain by Weburbia. Dedicated to Alice Contents THE STORYTELLER ................................................................................... 11 Between a story and the world ............................................................. 11 Dreams of Rationalism .......................................................................
    [Show full text]
  • United States District Court Southern District Of
    Case 3:11-cv-01812-JM-JMA Document 31 Filed 02/20/13 Page 1 of 10 1 2 3 4 5 6 7 8 9 UNITED STATES DISTRICT COURT 10 SOUTHERN DISTRICT OF CALIFORNIA 11 12 In re JIFFY LUBE ) Case No.: 3:11-MD-2261-JM (JMA) INTERNATIONAL, INC. TEXT ) 13 SPAM LITIGATION ) FINAL APPROVAL OF CLASS ) ACTION AND ORDER OF 14 ) DISMISSAL WITH PREJUDICE ) 15 16 Pending before the Court are Plaintiffs’ Motion for Final Approval of Class 17 Action Settlement (Dkt. 90) and Plaintiffs’ Motion for Approval of Attorneys’ Fees and 18 Expenses and Class Representative Incentive Awards (Dkt. 86) (collectively, the 19 “Motions”). The Court, having reviewed the papers filed in support of the Motions, 20 having heard argument of counsel, and finding good cause appearing therein, hereby 21 GRANTS Plaintiffs’ Motions and it is hereby ORDERED, ADJUDGED, and DECREED 22 THAT: 23 1. Terms and phrases in this Order shall have the same meaning as ascribed to 24 them in the Parties’ August 1, 2012 Class Action Settlement Agreement, as amended by 25 the First Amendment to Class Action Settlement Agreement as of September 28, 2012 26 (the “Settlement Agreement”). 27 2. This Court has jurisdiction over the subject matter of this action and over all 28 Parties to the Action, including all Settlement Class Members. 1 3:11-md-2261-JM (JMA) Case 3:11-cv-01812-JM-JMA Document 31 Filed 02/20/13 Page 2 of 10 1 3. On October 10, 2012, this Court granted Preliminary Approval of the 2 Settlement Agreement and preliminarily certified a settlement class consisting of: 3 4 All persons or entities in the United States and its Territories who in April 2011 were sent a text message from short codes 5 72345 or 41411 promoting Jiffy Lube containing language similar to the following: 6 7 JIFFY LUBE CUSTOMERS 1 TIME OFFER: REPLY Y TO JOIN OUR ECLUB FOR 45% OFF 8 A SIGNATURE SERVICE OIL CHANGE! STOP TO 9 UNSUB MSG&DATA RATES MAY APPLY T&C: JIFFYTOS.COM.
    [Show full text]
  • What Happened Before the Big Bang?
    Quarks and the Cosmos ICHEP Public Lecture II Seoul, Korea 10 July 2018 Michael S. Turner Kavli Institute for Cosmological Physics University of Chicago 100 years of General Relativity 90 years of Big Bang 50 years of Hot Big Bang 40 years of Quarks & Cosmos deep connections between the very big & the very small 100 years of QM & atoms 50 years of the “Standard Model” The Universe is very big (billions and billions of everything) and often beyond the reach of our minds and instruments Big ideas and powerful instruments have enabled revolutionary progress a very big idea connections between quarks & the cosmos big telescopes on the ground Hawaii Chile and in space: Hubble, Spitzer, Chandra, and Fermi at the South Pole basics of our Universe • 100 billion galaxies • each lit with the light of 100 billion stars • carried away from each other by expanding space from a • big bang beginning 14 billion yrs ago Hubble (1925): nebulae are “island Universes” Universe comprised of billions of galaxies Hubble Deep Field: one ten millionth of the sky, 10,000 galaxies 100 billion galaxies in the observable Universe Universe is expanding and had a beginning … Hubble, 1929 Signature of big bang beginning Einstein: Big Bang = explosion of space with galaxies carried along The big questions circa 1978 just two numbers: H0 and q0 Allan Sandage, Hubble’s “student” H0: expansion rate (slope age) q0: deceleration (“droopiness” destiny) … tens of astronomers working (alone) to figure it all out Microwave echo of the big bang Hot MichaelBig S Turner Bang
    [Show full text]
  • 15 Pecision System Clock Architecture
    Pecision System Clock Architecture 15 Pecision System Clock Architecture “Time iz like money, the less we hav ov it teu spare the further we make it go.” Josh Billing Encyclopedia and Proverbial Philosophy of Wit and Humor, 1874 225 Pecision System Clock Architecture Limitations of the Art Over the almost three decades that NTP has evolved, accuracy expectations have improved from 100 ms to less than 1 ms on fast LANs with multiple segments interconnected by switches and less than a few milliseconds on most campus and corporate networks with multiple subnets interconnected by routers. Today the practical expectations with a GPS receiver, PPS signal and precision kernel support are a few microseconds. In principle the ultimate expectations are limited only by the 232-ps resolution of the NTP timestamp format or about the time light travels three inches. Improving accuracy expectations below the PPS regime is proving intricate and tricky. In this chapter we turn to the most ambitious means available to minimize errors in the face of hardware and software not designed for extraordinary timekeeping. First we examine the hardware and software components for a precision system clock and evolve an optimal design. Next we survey timestamping techniques using both hardware, driver and software methods to minimize errors due to media, device and operating system latencies. Finally, we explore the IEEE 1588 Precision Time Protocol (PTP), how it is used in a high speed LAN, and how it and NTP can sail in the same boat. The parting shots section proposes a hardware assisted design which provides performance equivalent to PTP with only minimal modifications to the Unix operating system kernel.
    [Show full text]
  • Detecting Temperature Through Clock Skew
    Detecting temperature through clock skew Steven J. Murdoch (aka 253802) www.cl.cam.ac.uk/users/sjm217 OpenNet Initiative Computer Laboratory www.opennet.net 23rd Chaos Communication Congress, Berlin, Germany, 27–30 December 2006 This presentation introduces clock skew and how it can introduce security vulnerabilities 0.0 De−noised ●● 26.4 ● ● ● ● 26.3 −0.5 Non−linear offset ● ● ●●Temperature C) ° ● ● ●●● 26.2 −1.0 ●● ●●● ● ●●●●●●●● 26.1 ●●●●●●● ●●●● ● ●● ●●●● −1.5 ●● ● ●● ● ●● ●● 26.0 Temperature ( ● Clock skew, its link to temperature, and measurement ●●● ●●●●●●●●● ● ●●●●● 25.9 Non−linear offset component (ms) ●●●●●●●●●●●●●●●● −−2.0 Variable skew ● 25.8 Fri 11:00 Fri 21:00 Sat 07:00 Sat 17:00 Time Service Publication Connection Setup Data Transfer Hidden Service 1 6 * RP 7 Introduction Point (IP) IP Rendevous 2 Point (RP) Tor and hidden services 5 RP 8 Directory data Server 4 IP Client 3 Measurer Attacking Tor with clock skew Attacker Tor Network Hidden Server Other applications of clock skew Computers have multiple clocks which are constructed from hardware and software components A clock consists of an: • Oscillator, controlled by a crystal, ticks at an nominal frequency • Counter, counts the number of ticks produce by the oscillator On Linux there are several clocks available (other OS are similar): • Jiffy counter: An uncorrected clock used internally to the OS • System clock: A clock corrected by NTP (used by applications) • BIOS clock (also known as CMOS clock): runs even when PC is off and initialises the system clock Computers
    [Show full text]
  • Jiffy Steamer Owner's Manual
    Worldwide Leader in Steaming Equipment Since 1940 Esteam® and J-Series OWNER’S MANUAL Congratulations and Thank You! Thank you for purchasing your Jiffy® Steamer from the world’s leading manufacturer of steaming equipment since 1940. We strive to engineer and manufacture the very best steamer available backed by superior customer service. With proper maintenance and cleaning, your Jiffy® Steamer will last through years of demanding use. Thank you again and we sincerely appreciate your business. Warmest regards, Jiffy® Steamer Company, LLC Made in the USA Since 1940 Table of Contents Safety Instructions .....................................................................3 How to Steam..............................................................................4 Esteam® Hand Held Steamer .................................................5-8 Rod Set Assembly.......................................................................9 Model J-1, J-2 & J-200 Jiffy® Steamers............................10-15 Model J-2000 Jiffy® Steamer..............................................16-21 Model J-4000 Jiffy® Steamer..............................................22-27 Model J-1, J-2, J-200 & J-2000 Jiffy® Steamers Cleaning Instructions...............................................................28 Model J-4000 Jiffy® Steamer Cleaning Instructions.............29 Jiffy® Steamer Maintenance....................................................30 Jiffy® Steamer Accessories.......................................................31 Jiffy® Steamer Steam Head
    [Show full text]
  • Burkina Faso
    [NAME] [FIRM] [ADDRESS] [PHONE NUMBER] [FAX NUMBER] UNITED STATES DEPARTMENT OF JUSTICE EXECUTIVE OFFICE FOR IMMIGRATION REVIEW IMMIGRATION COURT [CITY, STATE] __________________________________________ ) In the Matter of: ) ) File No.: A __________ __________ ) ) In removal proceedings ) __________________________________________) INDEX TO DOCUMENTATION OF COUNTRY CONDITIONS REGARDING PERSECUTION OF LGBTQ PERSONS IN BURKINA FASO TAB SUMMARY GOVERNMENTAL SOURCES 1. Overseas Security Advisory Council, Bureau of Diplomatic Security, U.S. Dep’t of State, Burkina Faso 2020 Crime & Safety Report (May 12, 2020), available at https://www.osac.gov/Content/Report/81726191-31e9-4ceb-9adb-18aa5a5de155 • “Members of the LGBTI+ community find life in Burkina Faso extremely difficult and, at worst, dangerous. Societal discrimination based on sexual orientation and gender identity remains an issue; religious/traditional beliefs do not tolerate homosexuality.” (p. 4) • “There are regular reports of verbal and physical abuse against members of the LGBTI+ community. LGBTI+ employees have passed partners off as relatives, even within the Embassy community, to avoid the possibility of intolerant reactions.” (p. 4) 2. Bureau of Democracy, Human Rights and Labor, U.S. Dep’t of State, 2019 Country Reports on Human Rights Practices: Burkina Faso (Mar. 2020), available at https://www.state.gov/reports/2019-country-reports-on-human-rights-practices/burkina-faso/ • “The country has no hate crime laws or other criminal justice mechanisms to aid in the investigation, prosecution, or sentencing of bias-motivated crimes against the lesbian, gay, bisexual, transgender, and intersex (LGBTI) community. NGOs reported police TAB SUMMARY occasionally arrested gay men and transgender individuals and humiliated them in detention before releasing them.” (p.
    [Show full text]
  • Second Quarter 2017 Site Investigation Data Report Former Ivy’S Jiffy Market Site Madras, Oregon ECSI No
    Second Quarter 2017 Site Investigation Data Report Former Ivy’s Jiffy Market Site Madras, Oregon ECSI No. 5845 Prepared for: Oregon Department of Environmental Quality Task Order No. 20-13-21 June 27, 2017 2103-00/Task 4 Table of Contents 1.0 INTRODUCTION ..................................................................................................................................... 1 1.1 Purpose ............................................................................................................................................... 1 1.2 Scope of Work ..................................................................................................................................... 1 2.0 BACKGROUND ....................................................................................................................................... 2 2.1 Site Location and Description .............................................................................................................. 2 2.2 Previous Investigations ........................................................................................................................ 2 2.3 Other Impacted Sites ........................................................................................................................... 4 2.4 Geology and Hydrogeology ................................................................................................................. 5 3.0 PRE-INVESTIGATION ACTIVITIES .......................................................................................................
    [Show full text]
  • A Convolutional Approach to Learning Time Series
    Under review as a conference paper at ICLR 2018 ACONVOLUTIONAL APPROACH TO LEARNING TIME SERIES SIMILARITY Anonymous authors Paper under double-blind review ABSTRACT Computing distances between examples is at the core of many learning algorithms for time series. Consequently, a great deal of work has gone into designing effective time series dis- tance measures. We present Jiffy, a simple and scalable distance metric for multivariate time series. Our approach is to reframe the task as a representation learning problem—rather than design an elaborate distance function, we use a CNN to learn an embedding such that the Eu- clidean distance is effective. By aggressively max-pooling and downsampling, we are able to construct this embedding using a highly compact neural network. Experiments on a diverse set of multivariate time series datasets show that our approach consistently outperforms existing methods. 1 INTRODUCTION Measuring distances between examples is a fundamental component of many classification, clus- tering, segmentation and anomaly detection algorithms for time series (Rakthanmanon et al., 2012; Schafer,¨ 2014; Begum et al., 2015; Dau et al., 2016). Because the distance measure used can have a significant effect on the quality of the results, there has been a great deal of work developing ef- fective time series distance measures (Ganeshapillai & Guttag, 2011; Keogh et al., 2005; Bagnall et al., 2016; Begum et al., 2015; Ding et al., 2008). Historically, most of these measures have been hand-crafted. However, recent work has shown that a learning approach can often perform better than traditional techniques (Do et al., 2017; Mei et al., 2016; Che et al., 2017).
    [Show full text]
  • Permit Catalog Report
    The City of Henderson Permit Catalog Report For Permit Type: %% Numbers: B% Workclass:%% And All Permits Issued Between 3/1/2019 AND 3/31/2019 Permit Type Workclass Permit Number/ Entry Date/ Square Res Unit Final Applicant Issue Date Foot Value BLDG - Appliance Replacement HVAC BOTH2019044321 03/01/2019 0 Description: OKAMURA HVAC Sierra, LLC 03/01/2019 Address: 1814 LAKE WALES ST 89052 Apn: 19112210082 BLDG - Appliance Replacement HVAC BOTH2019044341 03/04/2019 0 Description: same for same hvac change out HVAC American 03/04/2019 Residential Services L.L.C. Address: 2349 HYDRUS AVE 89044 Apn: 19124511002 BLDG - Appliance Replacement HVAC BOTH2019044346 03/04/2019 0 Description: HVAC Infinity Heating and 03/04/2019 Cooling LLC Address: 91 PARKER RANCH DR 89012 Apn: 17814414009 BLDG - Appliance Replacement HVAC BOTH2019044351 03/04/2019 0 Description: hvac replacement- like for like HVAC Derrick Poole 03/04/2019 Address: 248 DATURA ST 89074 Apn: 17810312034 BLDG - Appliance Replacement HVAC BOTH2019044390 03/04/2019 0 Description: INSTALLATION OF A 5 TON 16 SEER GAS SPLIT Las Vegas Peach, 03/04/2019 SYSTEM HVAC LLC Address: 330 SOLAR WIND ST 89014 Apn: 17810210005 BLDG - Appliance Replacement HVAC BOTH2019044410 03/04/2019 0 Description: ROMANO HVAC Sierra, LLC 03/04/2019 Address: 2378 BLACK RIVER FALLS DR 89044 Apn: 19018416015 BLDG - Appliance Replacement HVAC BOTH2019044412 03/04/2019 0 Description: Dusenbury Residence / (2) HVAC Replacements 03/04/2019 HVAC Address: 273 GRAND OLYMPIA DR 89012 Apn: 17821810001 BLDG - Appliance Replacement HVAC BOTH2019044439 03/04/2019 0 Description: replace same for same HVAC Todd Weldy 03/04/2019 Address: 2534 DEORA WAY 89052 Apn: 19018314090 BLDG - Appliance Replacement HVAC BOTH2019044449 03/04/2019 0 Description: INSTALLATION OF 3 TON 16 SEER GA PACKAGE Las Vegas Peach, 03/04/2019 UNIT.
    [Show full text]
  • Friday, October 6, 2017 1 Writing Methods to Do Unit Conversions
    INTRODUCTION TO COMPUTER SCIENCE I LAB 5: CONVERTING UNITS Friday, October 6, 2017 1 Writing methods to do unit conversions 1.1 The units The core of this lab assignment will be unit conversions—translating a measurement in one unit into some other unit. In particular, we will use a few different measurements of length, and a few of time. Here are the units we will use: • Measurements of length: Unit name Conversion meter (m) The canonical unit foot (ft) 0:3048 m 1 inch (in) 12 ft yard (yd) 3 ft smoot 1:7018 m 1 barleycorn 3 in • Measurements of time: Unit name Conversion second (s) The canonical unit minute (m) 60 s 1 jiffy 60 s 10 helek 3 s 1.2 Getting started Now that you have some units with which to work, it is time to start a new program for yourself. Specifically: 1. Create a directory for this project, change into it, and grab source code: $ mkdir lab5 $ cd lab5 $ wget -nv --trust-server-names https://goo.gl/MbFqMC 1 2. Open the new source code file in Emacs: $ emacs Converter.java & You will see, in this source code file, the beginnings of a program named Converter. It con- tains, for starters, two complete methods named convertInchToFoot and convertFootToInch. Given the conversion factor from one to the other, you should, as these methods show, easily be able also to use these to perform the inverse conversions. Your first task: For each of the conversions listed above, write a method to perform that conver- sion and its inverse (e.g., inches to feet and feet to inches).
    [Show full text]