(12) United States Patent (10) Patent No.: US 6,212,595 B1 Mendel (45) Date of Patent: *Apr

Total Page:16

File Type:pdf, Size:1020Kb

(12) United States Patent (10) Patent No.: US 6,212,595 B1 Mendel (45) Date of Patent: *Apr USOO6212595B1 (12) United States Patent (10) Patent No.: US 6,212,595 B1 Mendel (45) Date of Patent: *Apr. 3, 2001 (54) COMPUTER PROGRAM PRODUCT FOR OTHER PUBLICATIONS FENCING A MEMBER OF A GROUP OF PROCESSES IN A DISTRIBUTED Chung-Sheng Li et al., Automatic Fault Detection, Isola PROCESSING ENVIRONMENT tion, and Recovery in Transparent All-Optical Networks, Journal of Lightwave Technology, pp. 1784-1793, Oct. (75) Inventor: Gili Mendel, Cary, NC (US) 1997.* Y. Ofek et al., Generating a Fault-Tolerant Global Cock (73) Assignee: International Business Machines Using High-Speed Control Signals for the MetaNet Archi Corporation, Armonk, NY (US) tecture, IEEE Transactions on Communications, pp. 2179–2188, May 1994.* Notice: Subject to any disclaimer, the term of this G. Alariet al., “Fault-Tolerant Hierarchical Routing", IEEE patent is extended or adjusted under 35 International Conference on Performance, Computing, and U.S.C. 154(b) by 0 days. Communications, pp. 159-165, 1997.* This patent is Subject to a terminal dis Aldred, M. “A Distributed Lock Manager on Fault Tolerant claimer. MPP', System Sciences, pp. 134–136, 1995.* Sankar, R., et al., An Automatic Failure Isolation and Recon figuration Methodology for Fiber Distributed Data Interface (21) Appl. No.: 09/124,672 (FDDI), Communications, pp. 186-190, 1992.* (22) Filed: Jul. 29, 1998 * cited by examiner (51) Int. Cl." .......................... G06F 12/00; G06F 17/60 (52) U.S. Cl. ............................... 711/1; 709/220; 711/154; Primary Examiner Reginald G. Bragdon 711/156; 711/159 ASSistant Examiner Pierre-Michel Bataille (58) Field of Search ..................................... 711/162, 154, (74) Attorney, Agent, or Firm-Floyd A. Gonzalez: 711/165, 201, 1, 156, 159; 714/7–8, 4; Lawrence D. Cutter 709/220; 370/254, 258 (57) ABSTRACT (56) References Cited A computer program product for use in a distributed pro cessing System having a plurality of nodes wherein Selected U.S. PATENT DOCUMENTS nodes are fenced or unfenced from Selected ones of periph 4,683,563 7/1987 Rouse et al. ......................... 370/224 eral device Server nodes in a fence/unfence operation. A 4,919,545 4/1990 Yu .......................................... 380/25 common memory is provided for Storing a fence map listing 5,301.283 4/1994 Thacker et al. ... 395/325 nodes fenced from Server nodes. In the fence/unfence 5,313,585 * 5/1994 Jeffries et al. ... 711/201 operation, a request processing node proposes changes to the 5,386,551 1/1995 Chikira et al. ... 395/575 fence map, and if no node fails during the fence/unfence 5,416.921 5/1995 Frey et al. ... ... 395/575 operation, the proposed changes are changed into committed 5,423,044 6/1995 Sutton et al. ........................ 395/725 changes. If a node fails during the fence/unfence operation, 5,568,491 * 10/1996 Beal et al. ........................... 714/746 the proposed changes are erased, the previous committed 5,675,724 * 10/1997 Beal et al. ............................... 714/4 changes are restored, and the fence/unfence request is 5,963,963 * 10/1999 Schmuck et al. ... 707/205 removed from the process queue for processing by the 5.991,264 * 11/1999 Croslin ........... ... 370/225 5,996,075 11/1999 Matena ................................. 713/200 request processing node. 5.999,712 * 12/1999 Moin et al. ...................... 395/200.5 6,038,604 3/2000 Bender et al. ....................... 709/233 10 Claims, 7 Drawing Sheets : -540 g 53 PHASE 3 YRTE PROPOSE) CHANCES TO 555 REGISTRY Y WOTE RE.JECT WOTE CONTiNE A-55 ATTACHF AS MESSAGE J 545- vote 58 A 80CE LUSH s AO STALE, isREFRESH 2. 534 EEEAKE MY 552-/ A NODEN 55 INX C0ki.T g REGISTRY 833- Y ELINATE OR RESTOREWSD ACCESS 552 - TE DEFAUL - - - - APPROVE REJECT scoutWOTE FSFAPPROVE PROFOCOL & U.S. Patent Apr. 3, 2001 Sheet 2 of 7 US 6,212,595 B1 90|| U.S. Patent Apr. 3, 2001 Sheet 3 of 7 US 6,212,595 B1 SDR-114 FENCE MAP 2O2 COMMT BT FLAG MAP SDR-114 FENCE MAP 202 COMMT BIT MAP MAP U.S. Patent Apr. 3, 2001 Sheet 4 of 7 US 6,212,595 B1 LOOK AT TOP-501 ---> OF REGUEST QUEUE GET FENCE MAP CHANGE REQUEST REMOVE N NEED REQUEST PROTOCOL FROM QUEUE ? 519 CLEAN UP REGISTRY VOE REJECT PROTOCOL RUNNINg WAT FIG.5A 1. w 508 ESSES +APPROVE PROTOCOL F ANY NODE FAIS PROTOCOL 9 PHASE 1 ON ALL NODES 50 AM Y/ | NODENN A COMPUTE F 511 3/N510 VOTE 520 CLEAN CONTINUE REGISTRY OF 512 PROPOSED RECORDS U.S. Patent Apr. 3, 2001 Sheet 5 of 7 US 6,212,595 B1 6 WRITE PROPOSED CHANGES TO REGISTRY 523 514 PHASE 2 VOTE CONTINUE 515 525 AM NODE YN A f A NODE p 516- 526 , -530 CLEAN REGISTRY IF MAP S STALE, REFRESH 527 FROM REGISTRY 534-N MAKE MY VOTE MAP STALE REJECT ELIMINATE OR RESTORE WSD ACCESS 535 VOTE :APPROVE PROTOCOL CONTINUE F NODES FAI FIG5B W t U.S. Patent Apr. 3, 2001 Sheet 6 of 7 US 6,212,595 B1 540 PHASE 3 DID ANYBODY IN VOTE F DE REJECT p AM A NODE N F p 545 VOTE APPROVE 550 AM SMALLEST Y COMMIT NODE INF REGISTRY p FIG5C 552 VOTE I DEFAULT APPROVE REJECT U.S. Patent Apr. 3, 2001 Sheet 7 of 7 US 6,212,595 B1 (APPROVED REMOVE FIG.6 FENCE REQ. -- 605 FROM QUEUE 6O2 REJECT RESTORE LOCAL FG.7 STATE TO LAST COMMITED VERSION OF REGISTRY US 6,212,595 B1 1 2 COMPUTER PROGRAM PRODUCT FOR node, and the data on the disk drive may still be accessed by FENCING A MEMBER OF A GROUP OF the Secondary node. PROCESSES IN A DISTRIBUTED The Group Services product of PSSP keeps a record of PROCESSING ENVIRONMENT member nodes in a group of nodes. It is desirable to provide a fencing function to the VSD Subsystem to provide fencing The present application is related to co-pending applica Support. tions bearing Ser. No. 09/124,677 and Ser. No. 09/124,394 In the case that a proceSS instance using VSDS on node X both of which were filed on the same day as the present is unresponsive, a distributed Subsystem may wish to ensure application namely, Jul. 29, 1998, and both of which are that X's access to a set of virtual disks (VSDs) is severed, assigned to the same assignee as the present invention. and all outstanding I/O initiated by X to these disks are The present invention is related to fencing of nodes in a flushed before recovery can proceed. Fencing X from a Set distributed processing environment, and is more particularly of VSDS denotes that X will not be able to access these related to fencing of nodes in a shared disk Subsystem. VSDs (until it is unfenced). Fence attributes must survive node Initial Program Loads (IPLs). BACKGROUND OF THE INVENTION 15 SUMMARY OF THE INVENTION U.S. Pat. No. 4,919,545 issued Apr. 24, 1990 to Yu for The present invention provides a distributed computer DISTRIBUTED SECURITY PROCEDURE FOR INTEL System having a plurality of nodes, one of the nodes being LIGENT NETWORKS, discloses a security technique for a request processing node (A node) and one or more nodes use in an intelligent network and includes Steps of granting being peripheral device server nodes (Snodes), an apparatus permission to an invocation node to access an object by for fencing or unfencing in a fence/unfence operation, and transmitting a capability and a signature from an execution one or more nodes (X nodes) from said S nodes. The node to the invocation node thereby providing a method for apparatus includes a common memory for Storing a fence authorizing a node to gain access to a network resource by map having entries therein, each entry for Storing an indi using a form of Signature encryption at the node. cation of an Snode to be fenced, a commit bit indicating if U.S. Pat. No. 5,301,283 issued Apr. 5, 1994 to Thacker et 25 the entry is proposed or committed, and a bit map indicating a1 for DYNAMIC ARBITRATION FOR SYSTEM BUS which X nodes are to be fenced from the Snode of the entry. CONTROLIN MULTIPROCESSOR DATAPROCESSING Each of the plurality of nodes includes a local memory for SYSTEM discloses a data processing system having a Storing a local copy of Said fence map. A node processes a plurality of commander nodes and at least one resource node request Specifying X nodes to be fenced or unfenced from interconnected by a System bus, and a bus arbitration tech Specified Snodes during Said fence/unfence operation, and nique for determining which commander node is to gain computes the nodes to participate (F nodes) in the fence/ control of the System bus to access the resource node thereby unfence operation. The participating nodes includes the A providing a node lockout which prevents nodes from gaining node, the X nodes to be either fenced or unfenced from said access to the System bus. S nodes, and the S nodes thus fenced or unfenced. The A U.S. Pat. No. 5,386,551 issued Jan. 31, 1995 to Chikira et 35 node sends messages to the F nodes instructing each F node al. for DEFERRED RESOURCES RECOVERY discloses a to begin the fence/unfence operation for that node. The resources management System for fencing all autonomous fence/unfence operation includes a first phase for proposing resources, and a protocol is followed to allow all activities changes in the fence map reflecting the fencing or unfencing in a work Stream to be completed before all fencing is of Said X nodes, a Second phase for refreshing the local map removed.
Recommended publications
  • Fencing Cyberspace: Drawing Borders in a Virtual World Maureen A
    University of Minnesota Law School Scholarship Repository Minnesota Law Review 1998 Fencing Cyberspace: Drawing Borders in a Virtual World Maureen A. O'Rourke Follow this and additional works at: https://scholarship.law.umn.edu/mlr Part of the Law Commons Recommended Citation O'Rourke, Maureen A., "Fencing Cyberspace: Drawing Borders in a Virtual World" (1998). Minnesota Law Review. 1923. https://scholarship.law.umn.edu/mlr/1923 This Article is brought to you for free and open access by the University of Minnesota Law School. It has been accepted for inclusion in Minnesota Law Review collection by an authorized administrator of the Scholarship Repository. For more information, please contact [email protected]. Fencing Cyberspace: Drawing Borders in a Virtual World Maureen A. O'Rourke* Introduction ............................................................................... 610 I. An Introduction to the Internet and the World W ide W eb .................................................................. 615 A. Origins of the Internet ................................................... 615 B. Development of the World Wide Web ........................... 619 C. Emergence of the Internet as a Commercial Marketplace ............................................... 624 1. Development of the Marketplace .............................. 624 2. Web Business Models ................................................ 625 a. Advertising-Based Models ................................... 626 b. Subscription-Based Models .................................
    [Show full text]
  • Survey of Methodologies, Approaches, and Challenges in Parallel Programming Using High-Performance Computing Systems
    Hindawi Scientific Programming Volume 2020, Article ID 4176794, 19 pages https://doi.org/10.1155/2020/4176794 Review Article Survey of Methodologies, Approaches, and Challenges in Parallel Programming Using High-Performance Computing Systems Paweł Czarnul ,1 Jerzy Proficz,2 and Krzysztof Drypczewski 2 1Dept. of Computer Architecture, Faculty of Electronics, Telecommunications and Informatics, Gdansk University of Technology, Gda´nsk, Poland 2Centre of Informatics–Tricity Academic Supercomputer & Network (CI TASK), Gdansk University of Technology, Gdan´sk, Poland Correspondence should be addressed to Paweł Czarnul; [email protected] Received 11 October 2019; Accepted 30 December 2019; Published 29 January 2020 Guest Editor: Pedro Valero-Lara Copyright © 2020 Paweł Czarnul et al. ,is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. ,is paper provides a review of contemporary methodologies and APIs for parallel programming, with representative tech- nologies selected in terms of target system type (shared memory, distributed, and hybrid), communication patterns (one-sided and two-sided), and programming abstraction level. We analyze representatives in terms of many aspects including programming model, languages, supported platforms, license, optimization goals, ease of programming, debugging, deployment, portability, level of parallelism, constructs enabling parallelism and synchronization, features introduced in recent versions indicating trends, support for hybridity in parallel execution, and disadvantages. Such detailed analysis has led us to the identification of trends in high-performance computing and of the challenges to be addressed in the near future. It can help to shape future versions of programming standards, select technologies best matching programmers’ needs, and avoid potential difficulties while using high- performance computing systems.
    [Show full text]
  • SAP Solutions on Vmware Vsphere Guidelines Summary and Best Practices
    SAP On VMware Best Practices Version 1.1 December 2015 © 2015 VMware, Inc. All rights reserved. Page 1 of 61 SAP on VMware Best Practices © 2015 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. This product is covered by one or more patents listed at http://www.vmware.com/download/patents.html. VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies. VMware, Inc. 3401 Hillview Ave Palo Alto, CA 94304 www.vmware.com © 2015 VMware, Inc. All rights reserved. Page 2 of 61 SAP on VMware Best Practices Contents 1. Overview .......................................................................................... 5 2. Introduction ...................................................................................... 6 2.1 Support ........................................................................................................................... 6 2.2 SAP ................................................................................................................................ 6 2.3 vCloud Suite ................................................................................................................... 9 2.4 Deploying SAP with vCloud Suite ................................................................................ 11 3. Virtualization Overview ..................................................................
    [Show full text]
  • Oracle Solaris and Oracle SPARC Systems—Integrated and Optimized for Mission Critical Computing
    An Oracle White Paper September 2010 Oracle Solaris and Oracle SPARC Servers— Integrated and Optimized for Mission Critical Computing Oracle Solaris and Oracle SPARC Systems—Integrated and Optimized for Mission Critical Computing Executive Overview ............................................................................. 1 Introduction—Oracle Datacenter Integration ....................................... 1 Overview ............................................................................................. 3 The Oracle Solaris Ecosystem ........................................................ 3 SPARC Processors ......................................................................... 4 Architected for Reliability ..................................................................... 7 Oracle Solaris Predictive Self Healing ............................................ 7 Highly Reliable Memory Subsystems .............................................. 9 Oracle Solaris ZFS for Reliable Data ............................................ 10 Reliable Networking ...................................................................... 10 Oracle Solaris Cluster ................................................................... 11 Scalable Performance ....................................................................... 14 World Record Performance ........................................................... 16 Sun FlashFire Storage .................................................................. 19 Network Performance ..................................................................
    [Show full text]
  • Cluster Suite Overview
    Red Hat Enterprise Linux 4 Cluster Suite Overview Red Hat Cluster Suite for Red Hat Enterprise Linux Edition 1.0 Last Updated: 2020-03-08 Red Hat Enterprise Linux 4 Cluster Suite Overview Red Hat Cluster Suite for Red Hat Enterprise Linux Edition 1.0 Landmann [email protected] Legal Notice Copyright © 2009 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • Arxiv:1312.1411V2 [Cs.LO] 9 Jun 2014 Ocretporm R Adt Einadipeet Seilyw Especially Implement, Buffering and Implement Design Multiprocessors to Tectures
    Don’t sit on the fence A static analysis approach to automatic fence insertion Jade Alglave1, Daniel Kroening2, Vincent Nimal2, and Daniel Poetzl2 1 University College London, UK 2University of Oxford, UK Abstract Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As the fences’ semantics may be subtle, the automation of their placement is highly desirable. But precise methods for restoring consistency do not scale to deployed systems code. We choose to trade some precision for genuine scalability: our technique is suitable for large code bases. We implement it in our new musketeer tool, and detail experiments on more than 350 executables of packages found in Debian Linux 7.1, e.g. memcached (about 10000 LoC). 1 Introduction Concurrent programs are hard to design and implement, especially when running on multiprocessor archi- tectures. Multiprocessors implement weak memory models, which feature e.g. instruction reordering, store buffering (both appearing on x86), or store atomicity relaxation (a particularity of Power and ARM). Hence, multiprocessors allow more behaviours than Lamport’s Sequential Consistency (SC) [Lam79], a theoretical model where the execution of a program corresponds to an interleaving of the different threads. This has a dramatic effect on programmers, most of whom learned to program with SC. Fortunately, architectures provide special fence (or barrier) instructions to prevent certain behaviours. Yet both the questions of where and how to insert fences are contentious, as fences are architecture-specific and expensive. Attempts at automatically placing fences include Visual Studio 2013, which offers an option to guarantee acquire/release semantics (we study the performance impact of this policy in Sec.
    [Show full text]
  • High Performance Virtual Machine Recovery in the Cloud
    High Performance Virtual Machine Recovery in the Cloud Valentina Salapura1 and Richard Harper2 1IBM T. J. Watson Research Center, 1101 Kitchawan Rd, NY, Yorktown Heights, U.S.A. 2IBM T. J. Watson Research Center, Research Triangle Park, NC, U.S.A. Keywords: Cloud Computing, High Availability, Virtualization, Automation, Enterprise Class. Abstract: In this paper, we outline and illustrate concepts that are essential to achieve fast, highly scalable virtual machine planning and failover at the Virtual Machine (VM) level in a data center containing a large number of servers, VMs, and disks. To illustrate the concepts a solution is implemented and analyzed for IBM’s Cloud Managed Services enterprise cloud. The solution enables at-failover-time planning, and keeps the recovery time within tight service level agreement (SLA) allowed time budgets via parallelization of recovery activities. The initial serial failover time was reduced for an order of magnitude due to parallel VM restart, and to parallel VM restart combined with parallel storage device remapping. 1 INTRODUCTION originally designed for smaller managed environments, and do not scale well as the system Cloud computing is being rapidly adopted across the size and complexity increases. Detecting failures, IT industry as a platform for increasingly more determining appropriate failover targets, re-mapping demanding workloads, both traditional and a new storage to those failover targets, and restarting the generation of mobile, social and analytics virtual workload have to be carefully designed and applications. In the cloud, customers are being led parallelized in order to meet the service level to expect levels of availability that until recently agreement (SLA) for large systems.
    [Show full text]
  • Comparing and Improving Centralized and Distributed Techniques for Coordinating Massively Parallel Shared-Memory Systems
    Comparing and Improving Centralized and Distributed Techniques for Coordinating Massively Parallel Shared-Memory Systems by Eric Freudenthal A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Computer Science New York University May 2003 Approved: Research Advisor: Allan Gottlieb c Eric Freudenthal All Rights Reserved 2003 In memory of my father, Dr. Peter Charles Freudenthal, Ph.D., NYU 1970. iii Acknowledgment I was fortunate to work with the many exceptionally talented people who partic- ipated in the NYU Ultracomputer research project lead by Allan Gottlieb and Malvin Kalos. My collaboration with Jan Edler designing coordination algo- rithms for Symunix and its runtime libraries greatly influenced my early work on algorithms described in this dissertation. I benefited much from Allan Gottlieb’s generous commitment to refining my ideas and writing style. In particular, his insistence on precise language and reasoning nurtured the maturation of both my analytical and communication skills. The contributions of three other faculty to my dissertation research are also deserving of recognition: Alan Siegel encouraged me to identify and narrow my research focus to a small set of interesting phenomena. Vijay Karamcheti and Benjamin Goldberg generously read drafts of this dissertation and assisted me in developing a clear overall narrative. Finally, this project would never have been completed without the continuous support and encouragement I received from my family and friends. iv Abstract Two complementary approaches have been proposed to achieve high per- formance inter-process coordination on highly parallel shared-memory systems. Gottlieb et. al. introduced the technique of combining concurrent memory refer- ences, thereby reducing hot spot contention and enabling the “bottleneck-free” execution of algorithms referencing a small number of shared variables.
    [Show full text]
  • Scale-Out Deployments of SAP HANA on Vsphere
    Best Practices and Recommendations for Scale-Out Deployments of SAP HANA on VMware vSphere August 2015 DEPLOYMENT AND TECHNICAL CONSIDERATIONS GUIDE Best Practices and Recommendations for Scale-Out Deployments of SAP HANA on VMware vSphere Table of Content Introduction. 4 Audience . 4 Production Support . 5 SAP HANA System Types . 6 Overview . 6 SAP HANA Scale-Up Option. 8 SAP HANA Scale-Out Option . 9 SAP HANA Appliance Model . 11 SAP HANA Tailored Datacenter Integration . 11 Co-Deployment of Mixed Workloads in VMware vSphere Virtualized SAP HANA Scale-Out TDI Multi-VM Environments .. 12 SAP HANA Tailored Datacenter Integration Support Process . 15 Benefits of Leveraging the TDI Deployment Option for SAP HANA Scale-Out Configurations with VMware vSphere . 16 Virtualized SAP HANA Scale-Out TDI Reference Architecture . 17 General Concepts and Overview . 17 SAP Scale-Out on vSphere Storage Considerations. 19 NAS Over NFS Storage Option . 22 Fibre Channel-based SAN Storage Option . 22 SAP Scale-Out on vSphere Network Considerations . 25 SAP HANA Scale-Out on vSphere High Availability . 29 SAP HANA Data Persistence. 30 VMware HA-protected SAP HANA Systems . 31 SAP HANA Auto-Restart Feature with VMware HA . 33 SAP HANA Systems Protected with Host Auto-Failover to a Standby VM . 34 Host Auto-Failover. 34 SAP HANA Disaster Recovery Solutions with VMware vSphere . 37 Summary SAP HANA HA and Disaster Recovery Solutions with VMware vSphere . 39 VMware vSphere Site Recovery Manager . 40 DEPLOYMENT AND TECHNICAL CONSIDERATIONS GUIDE / 2 Best Practices and Recommendations for Scale-Out Deployments of SAP HANA on VMware vSphere Virtualized SAP HANA Business Warehouse Scale-Out Sizing .
    [Show full text]
  • Fundamental Understanding and Future Guidance for Handheld Computers in the Rail Industry
    Fundamental Understanding and Future Guidance for Handheld Computers in the Rail Industry Yasamin Dadashi, BSc, BSc, MSc Thesis Submitted to the University of Nottingham for the Degree of Doctor of Philosophy November 2009 Abstract Advances in mobile computing technology and software applications have led to an expansion in potential uses for handheld computers for various tasks. One strong application area is in maintenance and inspection. Network Rail has been progressively developing and applying handheld computers to field-based maintenance and inspection operations, with the aims of improving work productivity and quality, and personal and system safety. However, it is clear that these aims so far have been achieved with varying degrees of success. Handheld computer devices have the potential to enhance the procedure of performing the tasks in many different ways. However, the current handheld computers introduced to maintenance and inspection tasks in Network Rail have principally been designed as data entry tools and in most cases the primary objective is to reduce the amount of paper work and the associated costs and errors. This highlights the need for fundamental research into the ways in which handheld computer technologies should be specified, designed and implemented for effective use in a complex distributed environment such as the rail industry. The main purpose of this research was to study the applications of handheld computers in the rail industry and to generate a set of design principles for development of future systems within Network Rail. The findings of this research have contributed to the identification of human factors principles that need to be considered for design and implementation of successful handheld computer applications.
    [Show full text]
  • Don't Sit on the Fence*
    Don’t sit on the fence⋆ A static analysis approach to automatic fence insertion Jade Alglave1, Daniel Kroening2, Vincent Nimal2, and Daniel Poetzl2 1University College London 2University of Oxford Abstract Modern architectures rely on memory fences to prevent undesired weak- enings of memory consistency. As the fences’ semantics may be subtle, the au- tomation of their placement is highly desirable. But precise methods for restoring consistency do not scale to deployed systems code. We choose to trade some pre- cision for genuine scalability: our technique is suitable for large code bases. We implement it in our new musketeer tool, and detail experiments on more than 350 executables of packages found in Debian Linux 7.1, e.g. memcached (about 10000 LoC). 1 Introduction Concurrent programs are hard to design and implement, especially when running on multiprocessor architectures. Multiprocessors implement weak memory models, which feature e.g. instruction reordering, store buffering (both appearing on x86), or store atomicity relaxation (a particularity of Power and ARM). Hence, multiprocessors allow more behaviours than Lamport’s Sequential Consistency (SC) [20], a theoretical model where the executionof a program correspondsto an interleaving of the different threads. This has a dramatic effect on programmers, most of whom learned to program with SC. Fortunately, architectures provide special fence (or barrier) instructions to prevent certain behaviours. Yet both the questions of where and how to insert fences are con- tentious, as fences are architecture-specific and expensive. Attempts at automatically placing fences include Visual Studio 2013, which offers an option to guarantee acquire/release semantics (we study the performance impact of this policy in Sec.
    [Show full text]
  • Arxiv:1611.07372V1 [Cs.LO] 22 Nov 2016 the Strength of Our Approach, We Have Implemented a Prototype and Run It on a Wide Range of Examples and Benchmarks
    MENDING FENCES WITH SELF-INVALIDATION AND SELF-DOWNGRADE PAROSH AZIZ ABDULLA, MOHAMED FAOUZI ATIG, STEFANOS KAXIRAS, CARL LEONARDSSON, ALBERTO ROS, AND YUNYUN ZHU Uppsala University, Sweden e-mail address: [email protected] Uppsala University, Sweden e-mail address: mohamed [email protected] Uppsala University, Sweden e-mail address: [email protected] Uppsala University, Sweden e-mail address: [email protected] Universidad de Murcia, Spain e-mail address: [email protected] Uppsala University, Sweden e-mail address: [email protected] Abstract. Cache coherence protocols based on self-invalidation and self-downgrade have recently seen increased popularity due to their simplicity, potential performance efficiency, and low energy consumption. However, such protocols result in memory instruction reordering, thus causing extra program behaviors that are often not intended by the programmers. We propose a novel formal model that captures the semantics of programs running under such protocols, and employs a set of fences that interact with the coherence layer. Using the model, we design an algorithm to analyze the reachability and check whether a program satisfies a given safety property with the current set of fences. We describe a method for insertion of optimal sets of fences that ensure correctness of the program under such protocols. The method relies on a counter-example guided fence insertion procedure. One feature of our method is that it can handle a variety of fences (with different costs). This diversity makes optimization more difficult since one has to optimize the total cost of the inserted fences, rather than just their number.
    [Show full text]