Communications of the ACM


Popularity Spikes Hurt Future Chances for Viral Propagation of Protomemes

Communications of the ACM

A meme is a concept introduced by Dawkins12 as an equivalent in cultural studies of a gene in biology. A meme is a cultural unit, perhaps a joke, musical tune, or behavior, that can replicate in people's minds, spreading from person to person. During the replication process, memes can mutate and compete with each other for attention, because people's consciousness has finite capacity. Meme viral spreading causes behavioral change, for the better, as when, say, the "ALS Bucket Challenge" meme caused a cascade of humanitarian donations,a and for the worse, as when researchers proved obesity7 and smoking8 are socially transmittable diseases. A better theory of meme spreading could help prevent an outbreak of bad behaviors and favor positive ones.


A Leap from Artificial to Intelligence

Communications of the ACM

I am astonished that people who know what computers can do, and, especially, how they do it, still think we (humankind) will ever create a rational being, much less that the day is near. A program that can play winning chess or Go is not one. We all knew it would happen sooner or later. We are talking about a large but finite set of paths through a well-defined set. But such things are the work of engineers, not of the computer or its programs.


Abstracting the Geniuses Away from Failure Testing

Communications of the ACM

The heterogeneity, complexity, and Scale of cloud applications make verification of their fault tolerance properties challenging. Companies are moving away from formal methods and toward large-scale testing in which components are deliberately compromised to identify weaknesses in the software. For example, techniques such as Jepsen apply fault-injection testing to distributed data stores, and Chaos Engineering performs fault injection experiments on production systems, often on live traffic. Both approaches have captured the attention of industry and academia alike. Unfortunately, the search space of distinct fault combinations that an infrastructure can test is intractable.


Feeling Sounds, Hearing Sights

Communications of the ACM

Chieko Asakawa, who is blind, uses the NavCog app, which she helped develop, to find her way on the campus of Carnegie Mellon University. In a 2016 video, Saqib Shaikh, a Microsoft Research software engineer, walks out of London's Clapham Station Underground stop, turns, and crosses a street, then stops suddenly when he hears an unexpected noise. Shaikh, who lost his sight when he was seven years old and walks with the aid of the standard white cane, reaches up and swipes the earpiece of his glasses. The video then shifts to the view from his eyewear, a pair of smart glasses that capture high-quality still images and videos. That simple swipe instructed the glasses, an experimental prototype designed by a company called Pivothead, to snap a still photo.


The New Jobs

Communications of the ACM

Rarely does a day go by without more news predicting the end of work. After all, autonomous vehicles are all but certain to replace truckers and taxi drivers in the coming decades, and robots have already taken over many jobs in factories and warehouses, and will continue to expand their reach beyond heavy industry as they become smarter and ever more affordable. Perhaps most frighteningly, even professional services no longer seem safe from the encroachment of increasingly sophisticated artificial intelligence (AI). Law firms, for example, employ electronic-discovery software, which uses natural language processing to sift through reams of documents faster and more cheaply than the entry-level lawyers who used to do this tedious work. Deep-learning image recognition tools can flag and classify worrisome tumors in digital scans as well as, or better than, experienced radiologists.


Computer Professionals for Social Responsibility

Communications of the ACM

I think often of Ender's Game these days. In this award-winning 1985 science-fiction novel by Orson Scott Card (based on a 1977 short story with the same title), Ender is being trained at Battle School, an institution designed to make young children into military commanders against an unspecified enemy (http://bit.ly/2hYQMDF). Ender's team engages in a series of computer-simulated battles, eventually destroying the enemy's planet, only to learn then that the battles were very real and a real planet has been destroyed. I got involved in computing at age 16 because programming was fun. Later I discovered that developing algorithms was even more enjoyable.


Technical Perspective: Can High Performance be Portable?

Communications of the ACM

The development of high-performance software has always suffered from a tension between achieving high performance on the one hand and portability and simplicity on the other hand. By specializing an algorithm for optimal performance, considering the memory hierarchy and other architectural particulars, we introduce architecture-specific detail. This obscures algorithmic structure and conflates the general with the specific, compromising simplicity and clarity. It also hurts portability to all but very similar architectures--simple changes, such as different cache sizes, can have substantial performance implications. Moreover, distinctly different architectures, such as CPUs versus GPUs versus DSPs, often require fundamentally different optimization strategies.


Deep Optimization for Spectrum Repacking

Communications of the ACM

Over 13 months in 2016–17 the U.S. Federal Communications Commission conducted an "incentive auction" to repurpose radio spectrum from broadcast television to wireless internet. In the end, the auction yielded $19.8 bn, $10.05 bn of which was paid to 175 broadcasters for voluntarily relinquishing their licenses across 14 Ultra High Frequency (UHF) channels. Stations that continued broadcasting were assigned potentially new channels to fit as densely as possible into the channels that remained. The government netted more than $7 bn (used to pay down the national debt) after covering costs (including retuning). A crucial element of the auction design was the construction of a solver, dubbed SAT-based Feasibility Checker (SATFC), that determined whether sets of stations could be "repacked" in this way; it needed to run every time a station was given a price quote.


Halide

Communications of the ACM

Writing high-performance code on modern machines requires not just locally optimizing inner loops, but globally reorganizing computations to exploit parallelism and locality--doing things such as tiling and blocking whole pipelines to fit in cache. This is especially true for image processing pipelines, where individual stages do much too little work to amortize the cost of loading and storing results to and from off-chip memory. As a result, the performance difference between a naive implementation of a pipeline and one globally optimized for parallelism and locality is often an order of magnitude. However, using existing programming tools, writing high-performance image processing code requires sacrificing simplicity, portability, and modularity. We argue that this is because traditional programming models conflate the computations defining the algorithm with decisions about intermediate storage and the order of computation, which we call the schedule.


Gaming Machine Learning

Communications of the ACM

Over the last few years, the quest to build fully autonomous vehicles has shifted into high gear. Yet, despite huge advances in both the sensors and artificial intelligence (AI) required to operate these cars, one thing has so far proved elusive: developing algorithms that can accurately and consistently identify objects, movements, and road conditions. As Mathew Monfort, a postdoctoral associate and researcher at the Massachusetts Institute of Technology (MIT) puts it: "An autonomous vehicle must actually function in the real world. However, it's extremely difficult and expensive to drive actual cars around to collect all the data necessary to make the technology completely reliable and safe." All of this is leading researchers down a different path: the use of game simulations and machine learning to build better algorithms and smarter vehicles.