Andrew Sloss

Andrew Sloss

Kirkland, Washington, United States
3K followers 500+ connections

About

Computer Scientist, Fellow of the British Computer Society, Affiliate Assistant Professor…

Articles by Andrew

See all articles

Activity

Join now to see all activity

Experience

Volunteer Experience

  • University of Washington Graphic

    Advisor for the Certificate in Embedded & Real-Time Systems Programming

    University of Washington

    - Present 19 years 4 months

    Education

    The course aim is to transfer the skills needed to develop embedded and real-time software for microcontrollers and microprocessors, which are used in applications across a variety of industries – including the aerospace, automotive, medical and consumer industries. Learn to design, develop, test, debug and document low-level software for embedded devices using C programming and ARM assembly. Gain an understanding of hardware schematics and the skill set to analyze and improve the performance…

    The course aim is to transfer the skills needed to develop embedded and real-time software for microcontrollers and microprocessors, which are used in applications across a variety of industries – including the aerospace, automotive, medical and consumer industries. Learn to design, develop, test, debug and document low-level software for embedded devices using C programming and ARM assembly. Gain an understanding of hardware schematics and the skill set to analyze and improve the performance of a product.

  • University of Washington Tacoma Graphic

    Advisory Board member for the Electrical Engineering & Computer Engineering and Systems

    University of Washington Tacoma

    - Present 6 years 6 months

    Education

    Advisory Board member for the University of Washington Electrical Engineering (EE) & Computer Engineering and Systems (CES) Tacoma. This advisory board was setup to help gain accreditation for the various electrical engineering courses being run at the Tacoma campus.

Publications

  • The Strategy Game: A Scientific View

    ResearchGate

    The Strategy Game is where the art of planning meets the decision of execution. The modern term strategy can probably be attributed to Count Guibert, a French military thinker in 1799. Throughout history, we have amassed over two thousand years of literature covering strategic thinking. That literature is continuously expanding. Therefore, we decided to select a subset of ideas to help understand what happens under the strategic hood (or bonnet) —how are strategies made? We hope this document…

    The Strategy Game is where the art of planning meets the decision of execution. The modern term strategy can probably be attributed to Count Guibert, a French military thinker in 1799. Throughout history, we have amassed over two thousand years of literature covering strategic thinking. That literature is continuously expanding. Therefore, we decided to select a subset of ideas to help understand what happens under the strategic hood (or bonnet) —how are strategies made? We hope this document provides valuable insight for people new to the subject and allows others to understand some mechanical processes. It is about thinking.

    See publication
  • Intelligence primer - 3rd Edition

    ArXiv

    We started this project in 2020 to help demystify intelligence. We observed confusion and a general overuse of the term, so we explored the fundamental concepts. Technology has advanced significantly during this short period to compel us to create a 3rd Edition. These fast advancements in Artificial Intelligence may mark the start of a new human-triggered Anthropocene era, similar to the Atomic age due to the Trinity Atomic Bomb or the Industrial Revolution age due to the invention of the…

    We started this project in 2020 to help demystify intelligence. We observed confusion and a general overuse of the term, so we explored the fundamental concepts. Technology has advanced significantly during this short period to compel us to create a 3rd Edition. These fast advancements in Artificial Intelligence may mark the start of a new human-triggered Anthropocene era, similar to the Atomic age due to the Trinity Atomic Bomb or the Industrial Revolution age due to the invention of the Newcomen Atmospheric Engine. Does Artificial Intelligence open another Pandora’s box [69]? Ethical con- cerns are on the rise as Artificial Intelligence increases in capability, which brings us back to our original question what is intelligence?

    Other authors
    See publication
  • Lost in Algorithms

    arXiv

    Algorithms are becoming more capable, and with that comes hic sunt dracones (here be dragons). The term symbolizes areas beyond our known maps. We use this term since we are stepping into an exciting, potentially dangerous, and unknown area with algorithms. Our curiosity to understand the natural world drives our search for new methods. For this reason, it is crucial to explore this subject.
    The project's objective is to overlay the information obtained, in conjunction with the state of…

    Algorithms are becoming more capable, and with that comes hic sunt dracones (here be dragons). The term symbolizes areas beyond our known maps. We use this term since we are stepping into an exciting, potentially dangerous, and unknown area with algorithms. Our curiosity to understand the natural world drives our search for new methods. For this reason, it is crucial to explore this subject.
    The project's objective is to overlay the information obtained, in conjunction with the state of hardware today, to see if we can determine the likely directions for future algorithms'. Even though we slightly cover non-classical computing in this paper, our primary focus is on classical computing (i.e., digital computers). It is worth noting that non-classical quantum computing requires classical computers to operate; they are not mutually exclusive...

    See publication
  • Learning the techniques to solve problems

    ResearchGate

    This short document is about learning the techniques to solve problems. I will try to highlight the essential levers and pulleys available. Everyone has their approach to handling problems. The ideas presented here come from my own experiences and the experiences of far more talented people (e.g., Richard Hamming, George Polya, and John Cleese, to name a few).

    See publication
  • Genetic Improvement in the Shackleton Framework for Optimizing LLVM Pass Sequences

    arXiv

    Genetic improvement is a search technique that aims to improve a given acceptable solution to a problem. In this paper, we present the novel use of genetic improvement to find problem-specific optimized LLVM pass sequences. We develop a pass-level patch representation in the linear genetic programming framework, Shackleton, to evolve the modifications to be applied to the default optimization pass sequences. Our GI-evolved solution has a mean of 3.7% runtime improvement compared to the -O3…

    Genetic improvement is a search technique that aims to improve a given acceptable solution to a problem. In this paper, we present the novel use of genetic improvement to find problem-specific optimized LLVM pass sequences. We develop a pass-level patch representation in the linear genetic programming framework, Shackleton, to evolve the modifications to be applied to the default optimization pass sequences. Our GI-evolved solution has a mean of 3.7% runtime improvement compared to the -O3 optimization level in the default code generation options which optimizes on runtime. The proposed GI method provides an automatic way to find a problem-specific optimization sequence that improves upon a general solution without any expert domain knowledge. In this paper, we discuss the advantages and limitations of the GI feature in the Shackleton Framework and present our results.

    Other authors
    See publication
  • Optimizing LLVM Pass Sequences with Shackleton: A Linear Genetic Programming Framework

    Arxiv

    In this paper we introduce Shackleton as a generalized framework enabling the application of linear genetic programming -- a technique under the umbrella of evolutionary algorithms -- to a variety of use cases. We also explore here a novel application for this class of methods: optimizing sequences of LLVM optimization passes. The algorithm underpinning Shackleton is discussed, with an emphasis on the effects of different features unique to the framework when applied to LLVM pass sequences…

    In this paper we introduce Shackleton as a generalized framework enabling the application of linear genetic programming -- a technique under the umbrella of evolutionary algorithms -- to a variety of use cases. We also explore here a novel application for this class of methods: optimizing sequences of LLVM optimization passes. The algorithm underpinning Shackleton is discussed, with an emphasis on the effects of different features unique to the framework when applied to LLVM pass sequences. Combined with analysis of different hyperparameter settings, we report the results on automatically optimizing pass sequences using Shackleton for two software applications at differing complexity levels. Finally, we reflect on the advantages and limitations of our current implementation and lay out a path for further improvements. These improvements aim to surpass hand-crafted solutions with an automatic discovery method for an optimal pass sequence.

    Other authors
    See publication
  • Is Expressiveness the Future of Software?

    IEEE Computer

    We explore what potentially may happen to software by 2033, taking views from across the industry. Our central premise is that, by increasing problem-domain expressiveness, more real-world experiences can be captured and converted into digital simulators, which can form shareable models of knowledge.

    Other authors
    See publication
  • Evolution of the Semiconductor Industry, and the Start of X Law

    Springer

    In this paper, we explore the use of evolutionary concepts to predict what-comes-next for the Semiconductor Industry. At its core, evolution is the transition of information. Understanding what causes the transitions paves the way to potentially creating a predictive model for the industry. Prediction is one of the essential functions of research; it is challenging to get right; it is of paramount importance when it comes to determining the next commercial objective and often depends on a…

    In this paper, we explore the use of evolutionary concepts to predict what-comes-next for the Semiconductor Industry. At its core, evolution is the transition of information. Understanding what causes the transitions paves the way to potentially creating a predictive model for the industry. Prediction is one of the essential functions of research; it is challenging to get right; it is of paramount importance when it comes to determining the next commercial objective and often depends on a single change. The most critical part of the prediction is to explore the components that form the landscape of potential outcomes. With these outcomes, we can decide what careers to take, what areas to dedicate resources towards and further out as a possible method to increase revenue. The Semiconductor Industry is a complex ecosystem, where many adjacent industries rely on its continued advancements. The human appetite to consume more data puts pressure on the industry. Consumption drives three technology vectors, namely storage, compute, and communication. Under this premise, two thoughts lead to this paper. Firstly, the End of Moore’s Law (EoML) [33], where transistor density growth slows down over time. Either due to costs or technology constraints (thermal and energy restrictions). These factors mean that traditional iterative methods, adopted by the Semiconductor Industry, may fail to satisfy future data demands. ...

    See publication
  • 2019 Evolutionary Algorithms Review

    Genetic Programming Theory & Practice Workshop

    Evolutionary algorithm research and applications began over 50 years ago. Like other artificial intelligence techniques, evolutionary algorithms will likely see increased use and development due to the increased availability of computation, more robust and available open source software libraries, and the increasing demand for artificial intelligence techniques. As these techniques become more adopted and capable, it is the right time to take a perspective of their ability to integrate into…

    Evolutionary algorithm research and applications began over 50 years ago. Like other artificial intelligence techniques, evolutionary algorithms will likely see increased use and development due to the increased availability of computation, more robust and available open source software libraries, and the increasing demand for artificial intelligence techniques. As these techniques become more adopted and capable, it is the right time to take a perspective of their ability to integrate into society and the human processes they intend to augment. In this review, we explore a new taxonomy of evolutionary algorithms and resulting classifications that look at five main areas: the ability to manage the control of the environment with limiters, the ability to explain and repeat the search process, the ability to understand input and output causality within a solution, the ability to manage algorithm bias due to data or user design, and lastly, the ability to add corrective measures. These areas are motivated by today's pressures on industry to conform to both societies concerns and new government regulatory rules. As many reviews of evolutionary algorithms exist, after motivating this new taxonomy, we briefly classify a broad range of algorithms and identify areas of future research.

    Other authors
    See publication
  • Parallelism and the ARM instruction set architecture

    IEEE Computer

    Over the past few years, the ARM reduced-instruction-set computing (RISC) processor has evolved to offer a family of chips that range up to a full-blown multiprocessor. Embedded applications' demand for increasing levels of performance and the added efficiency of key new technologies has driven the ARM architecture's evolution. Throughout this evolutionary path, the ARM team has used a full range of techniques known to computer architecture for exploiting parallelism. The performance and…

    Over the past few years, the ARM reduced-instruction-set computing (RISC) processor has evolved to offer a family of chips that range up to a full-blown multiprocessor. Embedded applications' demand for increasing levels of performance and the added efficiency of key new technologies has driven the ARM architecture's evolution. Throughout this evolutionary path, the ARM team has used a full range of techniques known to computer architecture for exploiting parallelism. The performance and efficiency methods that ARM uses include variable execution time, subword parallelism, digital signal processor-like operations, thread-level parallelism, and exception handling, and multiprocessing. Leveraging parallelism on several levels, ARM's new chip designs could change how people access technology. With sales growing rapidly and more than 1.5 billion ARM processors already sold each year, software writers now have a huge range of markets in which their ARM code can be used.

    Other authors
    See publication
  • ARM Systems Developer's Guide

    Morgan Kaufmann

    Over the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based…

    Over the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based system. This text fills that gap.

    This book provides a comprehensive description of the operation of the ARM core from a developer's perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software.

    The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture.

    * No other book describes the ARM core from a system and software perspective.
    * Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs.
    * Practical, executable code is fully explained in the book and available on the publisher's Website.
    * Includes a simple embedded operating system.

    See publication

Honors & Awards

  • Contributions to the Fugaku supercomputer

    Arm Research

    Award for contributions to the Fugaku supercomputer, #1 on the TOP500 List. First Arm based system to reach the number 1 position as the fastest supercomputer in the world.

  • UEFI 10th Anniversary - Top Contributors Award

    UEFI Forum

    UEFI 10th Anniversary - Top Contributor Award for initiating ARM 32- and 64-bit system adoption of UEFI. The Board of Directors recognizes prior members for their major contributions, which have proven fundamental to the Forum's longevity.

    UEFI is a community effort by many companies in the personal-computer industry to modernize the booting process. UEFI capable systems are already shipping, and many more are in preparation. During the transition to UEFI, most platform firmware will…

    UEFI 10th Anniversary - Top Contributor Award for initiating ARM 32- and 64-bit system adoption of UEFI. The Board of Directors recognizes prior members for their major contributions, which have proven fundamental to the Forum's longevity.

    UEFI is a community effort by many companies in the personal-computer industry to modernize the booting process. UEFI capable systems are already shipping, and many more are in preparation. During the transition to UEFI, most platform firmware will continue to support legacy (BIOS) booting as well, to accommodate legacy-only operating systems.

  • Teaching Excellence Award in Technology

    Univerisity of Washington

    Teaching Excellence Award in Technology was presented in recognition of exemplary teaching as an instructor in the UW Professional & Continuing Education Certificate Program in Embedded and Real Time Systems in this eleventh day of June, in the year two thousand twelve.

  • Greatest Contribution in Entering into New Markets

    Arm Holdings

    Award for the Greatest Contribution in Entering into New Markets. This award was about creating and establishing the initial pull for Arm Servers (and subsequently High Performance Computing). Coincides with the release of the Arm 64-bit architecture. This award was shared with two others.

  • Marketing Person of the Year

    Arm Holdings

    Awarded ARM's Marketing Person of the Year Award, for work on multiples areas - including Enterprise Java, Development Server Strategy, High Performance Computing, UEFI and also the strategic advancements with a number of major companies e.g. Oracle, Microsoft, Fujitsu, Amazon, ...

Languages

  • Mandarin (basic)

    -

Recommendations received

2 people have recommended Andrew

Join now to view

More activity by Andrew

View Andrew’s full profile

  • See who you know in common
  • Get introduced
  • Contact Andrew directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Others named Andrew Sloss in United States

Add new skills with these courses