Industrial Graphical Terminal Based on Linux

Total Page:16

File Type:pdf, Size:1020Kb

Industrial Graphical Terminal Based on Linux Czech Technical University in Prague Faculty of Electrical Engineering Department of Control Engineering Master’s Thesis Industrial graphical terminal based on Linux Bc. Jiří Matěják Supervisor: Ing. Michal Sojka, Ph.D. Study Programme: Otevřená informatika Field of Study: Počítačové inženýrství 25th May 2018 ZADÁNÍ DIPLOMOVÉ PRÁCE I. OSOBNÍ A STUDIJNÍ ÚDAJE Příjmení: Matěják JiříJméno: 420215Osobníčíslo: Fakulta/ústav: Fakulta elektrotechnická Zadávající katedra/ústav: Katedrařídicí techniky Studijní program: Otevřená informatika Studijní obor: Počítačové inženýrství II. ÚDAJE K DIPLOMOVÉ PRÁCI Název diplomové práce: Průmyslový grafický terminál založený na OS Linux Název diplomové práce anglicky: Idustrial graphical terminal based on Linux Pokyny pro vypracování: Cílem této práce je vytvořit grafický terminál pro vestavné průmyslové aplikace. Předpokládá se nasazení ve výrobních závodech, kde bude terminál sloužit k monitorováníči ovládání různých zařízení a jejich napojení na cloudové služby. 1. Vyberte vhodný hardware dle následujících požadavků: Dotykový full HD displej s úhlopříčkou cca 10',čtečka RFID čipů, CPU a GPU s dobrou podporou Linuxu, rozmanité možnosti vstupů a výstupů (Ethernet, Wi-Fi, RS232, SPI, I2C, GPIO, USB). 2. Sestavte Linuxový systém (jádro, uživatelské prostředí) pro vybraný hardware. Sledujte následující cíle: a) na terminálu bude běžet webový prohlížeč s HW akcelerovanou grafikou, b) výsledný systém bude flexibilní kvůli potřebě nasazování do různých aplikací a c) systém bude možné snadno a vzdáleně aktualizovat, zejména kvůli aplikaci bezpečnostních záplat. 3. Systém otestuje na aplikaci, ve které bude terminál připojen ke kávovaru, bude ukládat data o jeho provozu a umožní zobrazovat grafické statistiky jeho používání jednotlivými uživateli. 4. Výsledek pečlivě zdokumentujte a zdůvodněte rozhodnutíčiněná při návrhu. Seznam doporučené literatury: https://buildroot.org/downloads/manual/manual.html https://www.yoctoproject.org/ Jméno a pracoviště vedoucí(ho) diplomové práce: Ing. Michal Sojka, Ph.D., katedrařídicí techniky FEL Jméno a pracoviště druhé(ho) vedoucí(ho) nebo konzultanta(ky) diplomové práce: Datum zadání diplomové práce: 30.01.2018 Termín odevzdání diplomové práce: _____________ Platnost zadání diplomové práce: 30.09.2019 ___________________________ ___________________________ ___________________________ Ing. Michal Sojka, Ph.D. prof. Ing. Michael Šebek, DrSc. prof. Ing. Pavel Ripka, CSc. podpis vedoucí(ho) práce podpis vedoucí(ho) ústavu/katedry podpis děkana(ky) III. PŘEVZETÍ ZADÁNÍ Diplomant bere na vědomí, že je povinen vypracovat diplomovou práci samostatně, bez cizí pomoci, s výjimkou poskytnutých konzultací. Seznam použité literatury, jiných pramenů a jmen konzultantů je třeba uvést v diplomové práci. Datum převzetí zadání Podpis studenta iii Aknowledgements I thank prof. Dr. Ing. Zdeněk Hanzálek for providing advice and a nice working environment. I thank Ing. Jan Dvořák from Vozerovice for making me the first debugging cable, Bc. Pavel Bezstarosti for insights into hardware, Ing. Martin Vajnar for laser-cutting and Ing. Martin Gurtner for 3D-printing. I thank my supervisor, Ing. Michal Sojka, Ph.D., for advice and guidance throughout the project. iv Declaration I declare that I elaborated this thesis on my own and that I mentioned all the information sources and literature that have been used in accordance with the Guideline for adhering to ethical principles in the course of elaborating an academic final thesis. In Prague on 25th May 2018 ............................................................................................... v Abstract This thesis presents a prototype of an industrial graphical terminal and describes its development. The terminal consists of a WUXGA touchscreen display, an RFID reader and a single-board computer featuring the i.MX 6Quad processor. It runs a GPU-accelerated web browser on a Linux operating system. The browser receives and displays data from the RFID reader and GPIO pins through an application developed specifically for the terminal. If connected to a network (e.g. via WiFi),the browser can send the data to the cloud and download remote content. The functions are demonstrated in a testing scenario with the terminal connected to a coffee machine. Abstrakt Tato práce představuje prototyp průmyslového grafického terminálu a popisuje jeho vývoj. Terminál se skládá z dotykového WUXGA displeje, RFID čtečky a jednodeskového počítače s procesorem i.MX 6Quad. Na terminálu běží pod operačním systémem Linux webový prohlížeč s hardwarově akcelerovanou grafikou. Prohlížeč přijímá a zobrazuje data z RFID čtečky a GPIO pinů skrz aplikaci vyvinutou speciálně pro tento terminál. Pokud je připojen k síti (třeba pomocí WiFi), může prohlížeč odesílat tato data do cloudu a stahovat vzdálený obsah. Funkce jsou demonstrovány na testovacím scénáři s terminálem připojeným ke kávovaru. vi Contents 1 Introduction 1 2 Hardware 2 2.1 Processor board . 2 2.1.1 i.MX 6Quad processor . 3 2.1.2 Candidates . 4 2.1.3 Advantech RSB-4411 . 4 2.2 Display . 6 2.2.1 Display interfaces . 6 2.2.2 Candidates . 7 2.2.3 AUO B101UAN02.1 set . 7 2.3 RFID reader . 8 2.3.1 Technology and standards . 8 2.3.2 Digital Logic µFR Nano . 9 2.4 Accessories . 9 2.4.1 WiFi card . 9 2.4.2 Level shifter . 10 2.4.3 Cables . 10 2.5 Body . 11 3 Software 15 3.1 Linux system . 15 3.1.1 Buildroot . 15 3.1.2 Boot loader . 18 3.1.3 Kernel . 20 3.1.4 Bottom line . 21 3.2 Peripherals . 22 3.2.1 RFID . 23 3.2.2 GPIO . 25 3.2.3 WebSocket . 27 3.2.4 All in one . 30 3.3 Networking . 31 3.3.1 WiFi . 32 3.4 Graphics . 33 3.4.1 Hardwre acceleration . 33 3.4.2 Candidates . 34 3.4.3 Qt . 35 vii 3.4.4 Touchscreen . 36 3.4.5 Web browser . 36 3.4.6 LVDS configuration . 37 4 Testing 40 4.1 Remote server . 40 4.1.1 Database . 41 4.1.2 Graphs . 42 4.1.3 Flask . 42 4.2 Final test . 43 5 Results 46 References 47 Acronyms 49 A CD contents 51 viii List of Figures 2.1 Simplified schemes of the i.MX 6Quad Video-Graphics Subsystem and the LDB .4 2.2 Advantech RSB-4411 . 6 2.3 AUO B101UAN02.1 . 7 2.4 Display timings . 8 2.5 Digital Logic µFR Nano . 9 2.6 PCIe extending bracket in the making . 10 2.7 Level shifter circuit diagram . 11 2.8 Cables . 12 2.9 Display connector pinout . 13 2.10Drawing of the terminal’s body . 14 3.1 Buildroot configuration menu . 16 3.2 SD-card boot process of RSB-4411 . 19 3.3 Linux kernel forks . 20 3.4 Rufus . 22 3.5 Scheme of the complete I/O handler . 23 3.6 Scheme of the RFID handler . 25 3.7 Scheme of the GPIO handler . 27 3.8 Scheme of the WebSocket server . 31 3.9 Screenshots of the web browser . 39 4.1 Control board of the coffee machine . 40 4.2 Scheme of the remote server . 41 4.3 Test scenario . 43 4.4 Final test . 45 ix List of Tables 2.1 List of lesser-known connectors on RSB-4411 including mating parts . 5 2.2 Scheme of the GPIO pin header on RSB-4411 including chip and line numbers . 5 2.3 USB cable scheme . 10 2.4 GPIO cable scheme . 11 2.5 LVDS cable scheme . 11 3.1 Frame buffer devices on RSB-4411 . 33 1 Chapter 1 Introduction In the age of Industry 4.0, when automation of manufacturing technologies spreads, it is desirable to have a central point for controlling and monitoring production. Moreover, as cloud computing becomes more and more common, this point should be accessible remotely from the cloud. A graphical terminal, connected to the factory network, is an elegant solution to the problem. Imagine a device that collects data from all manufacturing machines and immediately uploads them to the cloud, while allowing factory personnel to monitor and control the machines on-site. I was tasked to develop a prototype of such a terminal for Merica s.r.o., a company that specializes in production optimization and embedded systems. According to our plan, the terminal would be light, portable and yet capable of displaying high-resolution graphics. It would feature a touchscreen display, provide a variety of connector interfaces and enable users to log in using RFID tags. All components of the terminal would have to be able to endure possibly harsh conditions of an industrial environment. The terminal would run a GPU-accelerated web browser on a Linux operating system. It would utilize cloud services but work off-line as well. Data from peripherals would be sent to the browser, displayed and possibly uploaded to the cloud. The browser would download and display remote content from the cloud, too. This thesis describes the prototype terminal and its.
Recommended publications
  • Free and Open Source Software Codes for Antenna Design: Preliminary Numerical Experiments
    ISSN 2255-9159 (online) ISSN 2255-9140 (print) Electrical, Control and Communication Engineering 2019, vol. 15, no. 2, pp. 88–95 doi: 10.2478/ecce-2019-0012 https://content.sciendo.com Free and Open Source Software Codes for Antenna Design: Preliminary Numerical Experiments Alessandro Fedeli* (Assistant Professor, University of Genoa, Genoa, Italy), Claudio Montecucco (Consultant, Atel Antennas s.r.l., Arquata Scrivia, Italy), Gian Luigi Gragnani (Associate Professor, University of Genoa, Genoa, Italy) Abstract – In both industrial and scientific frameworks, free and the natural choice when ethical concerns about science open source software codes create novel and interesting diffusion and reproducibility [2] are faced. opportunities in computational electromagnetics. One of the For these reasons, work has started, aiming to identify and possible applications, which usually requires a large set of numerical tests, is related to antenna design. Despite the well- evaluate possible open source programs that can be usefully known advantages offered by open source software, there are employed for the design of antennas and possibly other passive several critical points that restrict its practical application. First, electromagnetic devices such as, for example, filters, couplers, the knowledge of the open source programs is often limited. impedance adapters. The research also aims at finding software Second, by using open source packages it is sometimes not easy to that allows for the pre- and post-processing of data. obtain results with a high level of confidence, and to integrate open Furthermore, it has been decided to consider the possibility of source modules in the production workflow. In the paper, a discussion about open source programs for antenna design is easily integrating the design into the complete production and carried out.
    [Show full text]
  • List of Applications Updated in ARL #2530
    List of Applications Updated in ARL #2530 Application Name Publisher .NET Core SDK 2 Microsoft Acrobat Elements Adobe Acrobat Elements 10 Adobe Acrobat Elements 11.0 Adobe Acrobat Elements 15.1 Adobe Acrobat Elements 15.7 Adobe Acrobat Elements 15.9 Adobe Acrobat Elements 6.0 Adobe Acrobat Elements 7.0 Adobe Application Name Acrobat Elements 8 Adobe Acrobat Elements 9 Adobe Acrobat Reader DC Adobe Acrobat.com 1 Adobe Alchemy OpenText Alchemy 9.0 OpenText Amazon Drive 4.0 Amazon Amazon WorkSpaces 1.1 Amazon Amazon WorkSpaces 2.1 Amazon Amazon WorkSpaces 2.2 Amazon Amazon WorkSpaces 2.3 Amazon Ansys Ansys Archive Server 10.1 OpenText AutoIt 2.6 AutoIt Team AutoIt 3.0 AutoIt Team AutoIt 3.2 AutoIt Team Azure Data Studio 1.9 Microsoft Azure Information Protection 1.0 Microsoft Captiva Cloud Toolkit 3.0 OpenText Capture Document Extraction OpenText CloneDVD 2 Elaborate Bytes Cognos Business Intelligence Cube Designer 10.2 IBM Cognos Business Intelligence Cube Designer 11.0 IBM Cognos Business Intelligence Cube Designer for Non-Production environment 10.2 IBM Commons Daemon 1.0 Apache Software Foundation Crystal Reports 11.0 SAP Data Explorer 8.6 Informatica DemoCreator 3.5 Wondershare Software Deployment Wizard 9.3 SAS Institute Deployment Wizard 9.4 SAS Institute Desktop Link 9.7 OpenText Desktop Viewer Unspecified OpenText Document Pipeline DocTools 10.5 OpenText Dropbox 1 Dropbox Dropbox 73.4 Dropbox Dropbox 74.4 Dropbox Dropbox 75.4 Dropbox Dropbox 76.4 Dropbox Dropbox 77.4 Dropbox Dropbox 78.4 Dropbox Dropbox 79.4 Dropbox Dropbox 81.4
    [Show full text]
  • Reducing Power Consumption in Mobile Devices by Using a Kernel
    IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. Z, NO. B, AUGUST 2017 1 Reducing Event Latency and Power Consumption in Mobile Devices by Using a Kernel-Level Display Server Stephen Marz, Member, IEEE and Brad Vander Zanden and Wei Gao, Member, IEEE E-mail: [email protected], [email protected], [email protected] Abstract—Mobile devices differ from desktop computers in that they have a limited power source, a battery, and they tend to spend more CPU time on the graphical user interface (GUI). These two facts force us to consider different software approaches in the mobile device kernel that can conserve battery life and reduce latency, which is the duration of time between the inception of an event and the reaction to the event. One area to consider is a software package called the display server. The display server is middleware that handles all GUI activities between an application and the operating system, such as event handling and drawing to the screen. In both desktop and mobile devices, the display server is located in the application layer. However, the kernel layer contains most of the information needed for handling events and drawing graphics, which forces the application-level display server to make a series of system calls in order to coordinate events and to draw graphics. These calls interrupt the CPU which can increase both latency and power consumption, and also require the kernel to maintain event queues that duplicate event queues in the display server. A further drawback of placing the display server in the application layer is that the display server contains most of the information required to efficiently schedule the application and this information is not communicated to existing kernels, meaning that GUI-oriented applications are scheduled less efficiently than they might be, which further increases power consumption.
    [Show full text]
  • Open Source Projects As Incubators of Innovation
    RESEARCH CONTRIBUTIONS TO ORGANIZATIONAL SOCIOLOGY AND INNOVATION STUDIES / STUTTGARTER BEITRÄGE ZUR ORGANISATIONS- UND INNOVATIONSSOZIOLOGIE SOI Discussion Paper 2017-03 Open Source Projects as Incubators of Innovation From Niche Phenomenon to Integral Part of the Software Industry Jan-Felix Schrape Institute for Social Sciences Organizational Sociology and Innovation Studies Jan-Felix Schrape Open Source Projects as Incubators of Innovation. From Niche Phenomenon to Integral Part of the Software Industry. SOI Discussion Paper 2017-03 University of Stuttgart Institute for Social Sciences Department of Organizational Sociology and Innovation Studies Seidenstr. 36 D-70174 Stuttgart Editor Prof. Dr. Ulrich Dolata Tel.: +49 711 / 685-81001 [email protected] Managing Editor Dr. Jan-Felix Schrape Tel.: +49 711 / 685-81004 [email protected] Research Contributions to Organizational Sociology and Innovation Studies Discussion Paper 2017-03 (May 2017) ISSN 2191-4990 © 2017 by the author(s) Jan-Felix Schrape is senior researcher at the Department of Organizational Sociology and Innovation Studies, University of Stuttgart (Germany). [email protected] Additional downloads from the Department of Organizational Sociology and Innovation Studies at the Institute for Social Sciences (University of Stuttgart) are filed under: http://www.uni-stuttgart.de/soz/oi/publikationen/ Abstract Over the last 20 years, open source development has become an integral part of the software industry and a key component of the innovation strategies of all major IT providers. Against this backdrop, this paper seeks to develop a systematic overview of open source communities and their socio-economic contexts. I begin with a recon- struction of the genesis of open source software projects and their changing relation- ships to established IT companies.
    [Show full text]
  • KDE Free Qt Foundation Strengthens Qt
    How the KDE Free Qt Foundation strengthens Qt by Olaf Schmidt-Wischhöfer (board member of the foundation)1, December 2019 Executive summary The development framework Qt is available both as Open Source and under paid license terms. Two decades ago, when Qt 2.0 was first released as Open Source, this was excep- tional. Today, most popular developing frameworks are Free/Open Source Software2. Without the dual licensing approach, Qt would not exist today as a popular high-quality framework. There is another aspect of Qt licensing which is still very exceptional today, and which is not as well-known as it ought to be. The Open Source availability of Qt is legally protected through the by-laws and contracts of a foundation. 1 I thank Eike Hein, board member of KDE e.V., for contributing. 2 I use the terms “Open Source” and “Free Software” interchangeably here. Both have a long history, and the exact differences between them do not matter for the purposes of this text. How the KDE Free Qt Foundation strengthens Qt 2 / 19 The KDE Free Qt Foundation was created in 1998 and guarantees the continued availabil- ity of Qt as Free/Open Source Software3. When it was set up, Qt was developed by Troll- tech, its original company. The foundation supported Qt through the transitions first to Nokia and then to Digia and to The Qt Company. In case The Qt Company would ever attempt to close down Open Source Qt, the founda- tion is entitled to publish Qt under the BSD license. This notable legal guarantee strengthens Qt.
    [Show full text]
  • MINCS - the Container in the Shell (Script)
    MINCS - The Container in the Shell (script) - Masami Hiramatsu <[email protected]> Tech Lead, Linaro Ltd. Open Source Summit Japan 2017 LEADING COLLABORATION IN THE ARM ECOSYSTEM Who am I... Masami Hiramatsu - Linux kernel kprobes maintainer - Working for Linaro as a Tech Lead LEADING COLLABORATION IN THE ARM ECOSYSTEM Demo # minc top # minc -r /opt/debian/x86_64 # minc -r /opt/debian/arm64 --arch arm64 LEADING COLLABORATION IN THE ARM ECOSYSTEM What Is MINCS? My Personal Fun Project to learn how linux containers work :-) LEADING COLLABORATION IN THE ARM ECOSYSTEM What Is MINCS? Mini Container Shell Scripts (pronounced ‘minks’) - Container engine implementation using POSIX shell scripts - It is small (~60KB, ~2KLOC) (~20KB in minimum) - It can run on busybox - No architecture dependency (* except for qemu/um mode) - No need for special binaries (* except for libcap, just for capsh --exec) - Main Features - Namespaces (Mount, PID, User, UTS, Net*) - Cgroups (CPU, Memory) - Capabilities - Overlay filesystem - Qemu cross-arch/system emulation - User-mode-linux - Image importing from dockerhub And all are done by CLI commands :-) LEADING COLLABORATION IN THE ARM ECOSYSTEM Why Shell Script? That is my favorite language :-) - Easy to understand for *nix administrators - Just a bunch of commands - Easy to modify - Good for prototyping - Easy to deploy - No architecture dependencies - Very small - Able to run on busybox (+ libcap is perfect) LEADING COLLABORATION IN THE ARM ECOSYSTEM MINCS Use-Cases For Learning - Understand how containers work For Development - Prepare isolated (cross-)build environment For Testing - Test new applications in isolated environment - Test new kernel features on qemu using local tools For products? - Maybe good for embedded devices which has small resources LEADING COLLABORATION IN THE ARM ECOSYSTEM What Is A Linux Container? There are many linux container engines - Docker, LXC, rkt, runc, ..
    [Show full text]
  • Qt Long Term Support
    Qt Long Term Support Jeramie disapprove chorally as moreish Biff jostling her canneries co-author impassably. Rudolfo never anatomise any redemptioner sauces appetizingly, is Torre lexical and overripe enough? Post-free Adolph usually stetted some basidiospores or flutes effeminately. Kde qt versions to the tests should be long qt term support for backing up qt company What will i, long qt term support for sale in the long. It is hard not even wonder what our cost whereas the Qt community or be. Please enter your support available to long term support available to notify others of the terms. What tests are needed? You should i restarted the terms were examined further development and will be supported for arrhythmia, or the condition? Define ad slots and config. Also, have a look at the comments below for new findings. You later need to compile your own Qt against a WEC SDK which is typically shipped by the BSP vendor. If system only involve half open the features of Qt Commercial, vision will not warrant the full price. Are you javer for long term support life cycles that supports the latter occurs earlier that opens up. Cmake will be happy to dry secretions, mutation will i could be seen at. QObjects can also send signals to themselves. Q_DECL_CONSTEXPR fix memory problem. Enables qt syndrome have long term in terms and linux. There has been lots of hype around the increasing role that machine learning, and artificial intelligence more broadly, will play in how we automate the management of IT systems. Vf noninducible at qt and long term in terms were performed at.
    [Show full text]
  • LVC20-108 Arm64 Linux Kernel Architecture Update
    Arm64 Linux Kernel architecture update Matteo Carlini Director, Software Technology Management Arm – Open Source Software A-profile Architecture new feature names! https://developer.arm.com/architectures/cpu-architecture/a-profile/exploration-tools/feature-names-for-a-profile A-profile features: arm64 kernel support table https://developer.arm.com/tools-and-software/open-source-software/linux-kernel/architecture-and-kvm-enablement A-class architecture kernel enablement – Mar 20 TTS2UXN A64ISA AA32HPD PAUTH CNTS PMU S2FW FHM TTPBHA C B Trace LSE LSE IESB LSMAOC Debug SHA PMU RDMA CompNum JSconv S-EL2 SM SM TTCNP TTST VMID16 HPD v8.3 DIT SHA UAO v8.1 v8.2 RAS v8.4 IDST RCPC CCIDX DotProd ATS1E1 LOR VHE DFE CondM TTRe NV RCPC RAS LP16 m PAN TTHM MPAM AMU TTL NV Debug LVA TLBI VPIPT LPA DCPOP EVT DoPD GTG ECV MTPMU ETS SVE2 SPE SpecRest MPAM CTSS PMU PredInv PAuth2/ Future FGT FPAC architectures v8.0 RNG BT v8.5 v8.6 F64MM DGH DCCVADP MemTag Enablement complete TME EOPD CSEH F32MM TWED Enablement ongoing Enablement TBD SB CMODX I8MM BF16 FRINT CondM AMU N/A – no Kernel impact A-class architecture kernel enablement – Today TTS2UXN A64ISA AA32HPD PAUTH PMU FHM TTPBHA CNTSC S2FWB S-EL2 LSE LSE IESB LSMAOC TTST SHA PMU RDMA CompNum JSconv RAS SM SM TTCNP VMID16 HPD v8.3 DFE DIT SHA UAO TTRem v8.4 v8.1 v8.2 IDST RCPC CCIDX DotProd ATS1E1 LOR VHE Trace CondM NV Debug RCPC RAS LP16 PAN TTHM MPAM AMU Debug LVA NV TLBI TTL VPIPT LPA DCPOP GTG SPE SpecRest ECV MTPMU ETS SVE2 PMU PredInv MPAM CTSS RNG MemTag PAuth2/ Future FGT FPAC architectures v8.0
    [Show full text]
  • Onload User Guide
    Onload User Guide Copyright © 2017 SOLARFLARE Communications, Inc. All rights reserved. The software and hardware as applicable (the “Product”) described in this document, and this document, are protected by copyright laws, patents and other intellectual property laws and international treaties. The Product described in this document is provided pursuant to a license agreement, evaluation agreement and/or non‐disclosure agreement. The Product may be used only in accordance with the terms of such agreement. The software as applicable may be copied only in accordance with the terms of such agreement. Onload is licensed under the GNU General Public License (Version 2, June 1991). See the LICENSE file in the distribution for details. The Onload Extensions Stub Library is Copyright licensed under the BSD 2‐Clause License. Onload contains algorithms and uses hardware interface techniques which are subject to Solarflare Communications Inc patent applications. Parties interested in licensing Solarflare's IP are encouraged to contact Solarflare's Intellectual Property Licensing Group at: Director of Intellectual Property Licensing Intellectual Property Licensing Group Solarflare Communications Inc, 7505 Irvine Center Drive Suite 100 Irvine, California 92618 You will not disclose to a third party the results of any performance tests carried out using Onload or EnterpriseOnload without the prior written consent of Solarflare. The furnishing of this document to you does not give you any rights or licenses, express or implied, by estoppel or otherwise, with respect to any such Product, or any copyrights, patents or other intellectual property rights covering such Product, and this document does not contain or represent any commitment of any kind on the part of SOLARFLARE Communications, Inc.
    [Show full text]
  • A New Era for Mechanical CAD Time to Move Forward from Decades-Old Design JESSIE FRAZELLE
    TEXT COMMIT TO 1 OF 12 memory ONLY A New Era for Mechanical CAD Time to move forward from decades-old design JESSIE FRAZELLE omputer-aided design (CAD) has been around since the 1950s. The first graphical CAD program, called Sketchpad, came out of MIT [designworldonline. com]. Since then, CAD has become essential to designing and manufacturing hardware Cproducts. Today, there are multiple types of CAD. This column focuses on mechanical CAD, used for mechanical engineering. Digging into the history of computer graphics reveals some interesting connections between the most ambitious and notorious engineers. Ivan Sutherland, who won the Turing Award for Sketchpad in 1988, had Edwin Catmull as a student. Catmull and Pat Hanrahan won the Turing award for their contributions to computer graphics in 2019. This included their work at Pixar building RenderMan [pixar. com], which was licensed to other filmmakers. This led to innovations in hardware, software, and GPUs. Without these innovators, there would be no mechanical CAD, nor would animated films be as sophisticated as they are today. There wouldn’t even be GPUs. Modeling geometries has evolved greatly over time. Solids were first modeled as wireframes by representing the object by its edges, line curves, and vertices. This evolved into surface representation using faces, surfaces, edges, and vertices. Surface representation is valuable in robot path planning as well. Wireframe and surface acmqueue |march-april 2021 5 COMMIT TO 2 OF 12 memory I representation contains only geometrical data. Today, modeling includes topological information to describe how the object is bounded and connected, and to describe its neighborhood.
    [Show full text]
  • Programmer's Guide
    Programmer’s Guide Release 18.11.11 Jan 20, 2021 CONTENTS 1 Introduction 1 1.1 Documentation Roadmap...............................1 1.2 Related Publications..................................2 2 Overview 3 2.1 Development Environment..............................3 2.2 Environment Abstraction Layer............................4 2.3 Core Components...................................4 2.3.1 Ring Manager (librte_ring)..........................4 2.3.2 Memory Pool Manager (librte_mempool)..................4 2.3.3 Network Packet Buffer Management (librte_mbuf).............6 2.3.4 Timer Manager (librte_timer)........................6 2.4 Ethernet* Poll Mode Driver Architecture.......................6 2.5 Packet Forwarding Algorithm Support........................6 2.6 librte_net........................................6 3 Environment Abstraction Layer7 3.1 EAL in a Linux-userland Execution Environment..................7 3.1.1 Initialization and Core Launching......................8 3.1.2 Shutdown and Cleanup...........................8 3.1.3 Multi-process Support............................8 3.1.4 Memory Mapping Discovery and Memory Reservation..........8 3.1.5 Support for Externally Allocated Memory.................. 11 3.1.6 Per-lcore and Shared Variables....................... 12 3.1.7 Logs...................................... 12 3.1.8 CPU Feature Identification.......................... 12 3.1.9 User Space Interrupt Event......................... 13 3.1.10 Blacklisting.................................. 14 3.1.11 Misc Functions...............................
    [Show full text]
  • A Linux Kernel Scheduler Extension for Multi-Core Systems
    A Linux Kernel Scheduler Extension For Multi-Core Systems Aleix Roca Nonell Master in Innovation and Research in Informatics (MIRI) specialized in High Performance Computing (HPC) Facultat d’informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya Supervisor: Vicenç Beltran Querol Cosupervisor: Eduard Ayguadé Parra Presentation date: 25 October 2017 Abstract The Linux Kernel OS is a black box from the user-space point of view. In most cases, this is not a problem. However, for parallel high performance computing applications it can be a limitation. Such applications usually execute on top of a runtime system, itself executing on top of a general purpose kernel. Current runtime systems take care of getting the most of each system core by distributing work among the multiple CPUs of a machine but they are not aware of when one of their threads perform blocking calls (e.g. I/O operations). When such a blocking call happens, the processing core is stalled, leading to performance loss. In this thesis, it is presented the proof-of-concept of a Linux kernel extension denoted User Monitored Threads (UMT). The extension allows a user-space application to be notified of the blocking and unblocking of its threads, making it possible for a core to execute another worker thread while the other is blocked. An existing runtime system (namely Nanos6) is adapted, so that it takes advantage of the kernel extension. The whole prototype is tested on a synthetic benchmarks and an industry mock-up application. The analysis of the results shows, on the tested hardware and the appropriate conditions, a significant speedup improvement.
    [Show full text]